Skip to content

API Endpoints

Updated Feb 2026

Complete reference for all Firecrawl v2 API endpoints.

Base URL

https://api.firecrawl.dev/v2

Authentication

All requests require:

Authorization: Bearer fc-YOUR-API-KEY
Content-Type: application/json

Scrape Endpoints

MethodPathDescription
POST/v2/scrapeScrape single URL
POST/v2/batch/scrapeBatch scrape multiple URLs
GET/v2/batch/scrape/{id}Get batch scrape status
DELETE/v2/batch/scrape/{id}Cancel batch scrape
GET/v2/batch/scrape/{id}/errorsGet batch scrape errors
bash
curl -X POST 'https://api.firecrawl.dev/v2/scrape' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com",
    "formats": ["markdown", "html"],
    "timeout": 120000
  }'

Search Endpoints

MethodPathDescription
POST/v2/searchWeb search with optional scraping
bash
curl -X POST 'https://api.firecrawl.dev/v2/search' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -d '{
    "query": "firecrawl",
    "limit": 10,
    "sources": ["web", "news"]
  }'

Map Endpoints

MethodPathDescription
POST/v2/mapDiscover all URLs on a website
bash
curl -X POST 'https://api.firecrawl.dev/v2/map' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -d '{"url": "https://example.com", "limit": 100}'

Crawl Endpoints

MethodPathDescription
POST/v2/crawlStart crawl job
GET/v2/crawl/{id}Get crawl status
POST/v2/crawl/params-previewPreview crawl params
DELETE/v2/crawl/{id}Cancel crawl
GET/v2/crawl/{id}/errorsGet pages that failed
GET/v2/crawl/activeGet active crawls
bash
curl -X POST 'https://api.firecrawl.dev/v2/crawl' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -d '{"url": "https://example.com", "limit": 100}'

Browser Endpoints

MethodPathDescription
POST/v2/browserCreate browser session
POST/v2/browser/{id}/executeExecute code in session
GET/v2/browserList browser sessions
DELETE/v2/browser/{id}Delete browser session
bash
# Create session
curl -X POST 'https://api.firecrawl.dev/v2/browser' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -d '{"ttl": 300, "activityTtl": 120}'

# Execute code
curl -X POST 'https://api.firecrawl.dev/v2/browser/{id}/execute' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -d '{
    "code": "agent-browser open https://example.com",
    "language": "bash"
  }'

Parse Endpoints

MethodPathDescription
POST/v2/parseParse local files (PDF, DOCX, HTML)
bash
curl -X POST 'https://api.firecrawl.dev/v2/parse' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -F 'file=@/path/to/document.pdf' \
  -F 'options={"parsers":[{"type":"pdf","mode":"auto"}]}'

Agent Endpoints

MethodPathDescription
POST/v2/agentStart agent job
GET/v2/agent/{id}Get agent status
DELETE/v2/agent/{id}Cancel agent job
bash
curl -X POST 'https://api.firecrawl.dev/v2/agent' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -d '{
    "prompt": "Find the pricing plans for Notion",
    "model": "spark-1-mini",
    "maxCredits": 100
  }'

Extract Endpoints (Legacy)

MethodPathDescription
POST/v2/extractStart extraction
GET/v2/extract/{id}Get extract status

INFO

Extract is being superseded by Agent. Use Agent for new work.

Account Endpoints

MethodPathDescription
GET/v2/account/credit-usageCurrent credit usage
GET/v2/account/credit-usage/historicalHistorical credit usage
GET/v2/account/token-usageToken usage
GET/v2/account/token-usage/historicalHistorical token usage
GET/v2/account/queue-statusQueue status

Common Parameters

ParameterTypeDescription
urlstringTarget URL to scrape/crawl/map
querystringSearch query (search endpoint)
formatsarrayOutput formats (markdown, html, json, etc.)
limitnumberMax results/pages
timeoutnumberTimeout in milliseconds
proxystringProxy type: basic, enhanced, auto
maxAgenumberCache validity in milliseconds
locationobject{country, languages} for geo-targeting

Response Format

Success:

json
{
  "success": true,
  "data": {
    "markdown": "...",
    "metadata": {}
  }
}

Error:

json
{
  "success": false,
  "error": "Description of error"
}

Status Codes

CodeMeaning
200Success
400Invalid request parameters
401Missing or invalid API key
402Payment required (insufficient credits)
404Resource not found
409Conflict (e.g., browser profile locked)
429Rate limited
5xxServer error

Full API Reference