# Deep Research (/api-reference/v1-endpoint/deep-research)

<!-- agent-signals: reading_time_min: 3 · est_tokens: 1378 · updated: 2026-07-30 -->

The Deep Research endpoint enables AI-powered deep research and analysis on any topic. Simply provide a research query, and Firecrawl will autonomously explore the web, gather relevant information, and synthesize findings into comprehensive insights.

<Warning>
  This is the legacy v1 Deep Research API. For new research agents, use the current [Deep Research use case](/use-cases/deep-research), which is built from Search and Scrape.
</Warning>

Looking for the status endpoint? Check out the [Deep Research Status](/api-reference/v1-endpoint/deep-research-get) endpoint.

### Response Structure [#response-structure]

The response includes:

* **activities**: List of research activities with:
  * `type`: Activity type ('search', 'extract', 'analyze', 'reasoning', 'synthesis', 'thought')
  * `status`: Status ('processing', 'complete', 'error')
  * `message`: Description of activity/finding
  * `timestamp`: ISO timestamp
  * `depth`: Research depth level

* **sources**: Referenced URLs with:
  * `title`: Source title
  * `description`: Source description
  * `url`: Source URL
  * `icon`: Source favicon

* **finalAnalysis**: Comprehensive analysis (when completed)

* **status**: Overall status ('processing', 'completed', 'failed')

* **currentDepth**: Current research depth

* **maxDepth**: Maximum research depth

* **totalUrls**: Number of URLs analyzed

* **expiresAt**: ISO timestamp when results expire

### Limitations [#limitations]

1. Best suited for topics with publicly available information
2. Research jobs limited to 10 minutes maximum
3. Manual verification recommended for critical information
4. Alpha feature - methodology and output may evolve

### Billing [#billing]

Billing is based on number of URLs analyzed:

* Each URL = 1 credit
* Control usage with `maxUrls` parameter

`POST /deep-research`

Start a deep research operation on a query

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "The query to research"
            },
            "maxDepth": {
              "type": "integer",
              "minimum": 1,
              "maximum": 12,
              "default": 7,
              "description": "Maximum depth of research iterations"
            },
            "timeLimit": {
              "type": "integer",
              "minimum": 30,
              "maximum": 600,
              "default": 300,
              "description": "Time limit in seconds"
            },
            "maxUrls": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 20,
              "description": "Maximum number of URLs to analyze"
            },
            "analysisPrompt": {
              "type": "string",
              "description": "The prompt to use for the final analysis. Useful to format the final analysis markdown in a specific way."
            },
            "systemPrompt": {
              "type": "string",
              "description": "The system prompt to use for the research agent. Useful to steer the research agent to a specific direction."
            },
            "formats": {
              "type": "array",
              "default": [
                "markdown"
              ],
              "items": {
                "type": "string",
                "enum": [
                  "markdown",
                  "json"
                ]
              }
            },
            "jsonOptions": {
              "type": "object",
              "description": "Options for JSON output",
              "properties": {
                "schema": {
                  "type": "object",
                  "description": "The schema to use for the JSON output. Must conform to [JSON Schema](https://json-schema.org/)."
                },
                "systemPrompt": {
                  "type": "string",
                  "description": "The system prompt to use for the JSON output"
                },
                "prompt": {
                  "type": "string",
                  "description": "The prompt to use for the JSON output"
                }
              }
            }
          },
          "required": [
            "query"
          ]
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Research job started successfully",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": true
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "ID of the research job"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Invalid request parameters",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": false
              },
              "error": {
                "type": "string",
                "example": "Invalid parameters provided"
              }
            }
          }
        }
      }
    }
  }
}
```
