Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/firecrawl/firecrawl/llms.txt

Use this file to discover all available pages before exploring further.

GET /v1/deep-research/

Retrieve the status and results of a deep research operation initiated with the Start Deep Research endpoint.

Authentication

This endpoint requires authentication using a Bearer token in the Authorization header.
Authorization: Bearer YOUR_API_KEY

Path Parameters

id
string
required
The ID of the research job (UUID format)

Response

success
boolean
Indicates if the request was successful
data
object
Research job data

Example Request

curl -X GET https://api.firecrawl.dev/v1/deep-research/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "success": true,
  "data": {
    "status": "completed",
    "finalAnalysis": "# Latest Developments in Quantum Computing\n\nQuantum computing has seen significant advances in 2024...\n\n## Key Breakthroughs\n\n1. Error correction improvements\n2. New qubit technologies\n3. Commercial applications\n\n## Sources\n\nBased on research from leading institutions...",
    "activities": [
      {
        "type": "search",
        "status": "completed",
        "message": "Searched for quantum computing developments",
        "timestamp": "2024-03-15T10:30:00Z",
        "depth": 1
      }
    ],
    "sources": [
      {
        "url": "https://example.com/quantum-news",
        "title": "Quantum Computing Breakthroughs 2024",
        "description": "Latest advances in quantum technology",
        "favicon": "https://example.com/favicon.ico"
      }
    ],
    "currentDepth": 5,
    "maxDepth": 5,
    "totalUrls": 15,
    "expiresAt": "2024-03-22T10:30:00Z"
  }
}

Error Responses

404 Not Found
object
Research job not found
{
  "success": false,
  "error": "Research job not found"
}

Polling for Results

Since deep research operations can take time to complete, you should poll this endpoint periodically until the status is completed or failed. A reasonable polling interval is every 5-10 seconds.