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.

Welcome to the Firecrawl API reference documentation. Firecrawl is an API service that scrapes, crawls, and extracts structured data from any website, providing LLM-ready output for AI applications.

Base URL

All API requests should be made to:
https://api.firecrawl.dev/v1

Authentication

Firecrawl uses Bearer token authentication. Include your API key in the Authorization header of every request:
Authorization: Bearer fc-YOUR_API_KEY

Getting Your API Key

  1. Sign up at firecrawl.dev
  2. Navigate to your dashboard to obtain your API key
  3. Keep your API key secure and never commit it to version control

Example Request

curl -X POST 'https://api.firecrawl.dev/v1/scrape' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com"}'

API Endpoints

The Firecrawl API is organized around the following main capabilities:

Scraping

  • POST /scrape - Scrape a single URL and optionally extract information using an LLM
  • POST /batch/scrape - Scrape multiple URLs in a single batch operation
  • GET /batch/scrape/ - Get the status of a batch scrape job
  • DELETE /batch/scrape/ - Cancel a batch scrape job
  • GET /batch/scrape//errors - Get errors from a batch scrape job

Crawling

  • POST /crawl - Crawl multiple URLs based on options starting from a base URL
  • GET /crawl/ - Get the status of a crawl job
  • DELETE /crawl/ - Cancel a crawl job
  • GET /crawl//errors - Get errors from a crawl job
  • GET /crawl/active - Get all active crawls for your team

Mapping

  • POST /map - Discover and map all URLs on a website

Extraction

  • POST /extract - Extract structured data from pages using LLMs
  • GET /extract/ - Get the status of an extract job
  • POST /search - Search the web and optionally scrape search results

Research

  • POST /deep-research - Start a deep research operation on a query
  • GET /deep-research/ - Get the status and results of a deep research operation

Billing

  • GET /team/credit-usage - Get remaining credits for your team
  • GET /team/token-usage - Get remaining tokens for your team (Extract only)

Response Format

All API responses follow a consistent structure:

Success Response

{
  "success": true,
  "data": {
    // Response data specific to the endpoint
  }
}

Error Response

{
  "success": false,
  "error": "Error message describing what went wrong"
}

Common HTTP Status Codes

200
OK
Request succeeded. The response body contains the requested data.
400
Bad Request
The request was invalid or malformed. Check your request parameters.
401
Unauthorized
Authentication failed. Check that your API key is valid and properly formatted.
402
Payment Required
Your account has insufficient credits to complete this request.
404
Not Found
The requested resource (e.g., job ID) was not found.
408
Request Timeout
The request took too long to complete and timed out.
429
Too Many Requests
You’ve exceeded the rate limit. See Rate Limits for details.
500
Internal Server Error
An unexpected error occurred on the server. If this persists, contact support.

Content Type

All POST requests should include the Content-Type: application/json header, and request bodies should be valid JSON.

SDKs

While you can interact with the API directly using HTTP requests, we provide official SDKs for easier integration:

Support

If you encounter issues or have questions: