Skip to main content
The o3-deep-research model is designed for advanced research tasks. It can browse, analyze, and synthesize information from hundreds of sources to produce a comprehensive, citation-rich report. This model uses multi-step reasoning, web search, and remote Model Context Protocol (MCP) servers to gather and process data. It can also run code for complex analysis. Use deep research when you need:
  • Legal or scientific research
  • Market and competitive analysis
  • Reports based on large sets of internal or public data
To start, call the Responses API with the model set to your o3-deep-research deployment name. Include at least one data source: web search or a remote MCP server. Optionally, add the code interpreter tool for advanced analysis.

Prerequisites

  • An Azure OpenAI deployment of the o3-deep-research model.
  • An authentication method:
    • API key, or
    • Microsoft Entra ID.
  • At least one data source configured in your request:

Start a deep research task

Replace o3-deep-research with your model deployment name.
Deep research requests can take time. Run them in background mode and configure a webhook to receive notifications when the task completes.

Output structure

Deep research responses follow the standard Responses API format. Pay attention to the output array - it lists all tool calls made during the process, such as:
  • web_search_call: Actions that use the web search tool, like search, open_page, and find_in_page.
  • code_interpreter_call: Steps for code execution.
  • mcp_tool_call: Actions performed on remote MCP servers.
  • message: The model’s final answer with inline citations.
Example web_search_call (search action):
Example message (final answer):

Best practices

  • Use background mode to avoid timeouts.
  • Configure webhooks for completion notifications.
  • Increase timeout settings if you’re not using background mode.
  • Use max_tool_calls to control tool usage and manage cost and latency.

Creating optimized prompts

For best results, use this three-step process:
  1. Clarify intent: Use a smaller model (for example, gpt-4.1 or gpt-5) to gather details from the user.
  2. Rewrite prompt: Use a smaller model to create a detailed, structured prompt.
  3. Run deep research: Pass the optimized prompt to o3-deep-research.
These steps are optional but recommended for high-quality outputs.

Ask clarifying questions

Optimize the prompt

Research with your own data

Deep research can use public and private data. For private data, connect a remote MCP server that supports search and fetch interfaces.

Remote MCP servers

Requirements:
  • A search interface to return results for a query.
  • A fetch interface to retrieve documents by ID.
  • Set require_approval to never.

Remote MCP server with deep research

Safety risks and mitigations

Enabling web search and MCP servers introduces security risks. Follow these best practices:
  • Connect only trusted MCP servers.
  • Log and review all tool calls and model outputs.
  • Stage workflows: run public research with web access first, then private MCP with no web access.
  • Validate tool arguments with schemas or regex.
  • Screen links before opening or sharing.

Troubleshooting

  • Request takes too long or times out: Set background to true, then poll the response until completion.
  • No web search or MCP calls appear in the output: Confirm you include at least one tool in tools.
  • MCP calls fail: Confirm the MCP server is reachable and require_approval is set to never.

Next steps

Use the Azure OpenAI Responses API

Web search