POST
/
deep-research
curl --request POST \
  --url https://api.firecrawl.dev/v1/deep-research \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "query": "<string>",
  "maxDepth": 7,
  "timeLimit": 300,
  "maxUrls": 20,
  "analysisPrompt": "<string>",
  "systemPrompt": "<string>",
  "formats": [
    [
      "markdown"
    ]
  ],
  "jsonOptions": {
    "schema": {},
    "systemPrompt": "<string>",
    "prompt": "<string>"
  }
}'
{
  "success": true,
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}

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.

Looking for the status endpoint? Check out the Deep Research Status endpoint.

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

  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 is based on number of URLs analyzed:

  • Each URL = 1 credit
  • Control usage with maxUrls parameter

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Response

200
application/json

Research job started successfully

The response is of type object.