Base URL
All API requests should be made to:Authentication
Firecrawl uses Bearer token authentication. Include your API key in theAuthorization header of every request:
Getting Your API Key
- Sign up at firecrawl.dev
- Navigate to your dashboard to obtain your API key
- Keep your API key secure and never commit it to version control
Example Request
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
Search
- 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
Error Response
Common HTTP Status Codes
OK
Request succeeded. The response body contains the requested data.
Bad Request
The request was invalid or malformed. Check your request parameters.
Unauthorized
Authentication failed. Check that your API key is valid and properly formatted.
Payment Required
Your account has insufficient credits to complete this request.
Not Found
The requested resource (e.g., job ID) was not found.
Request Timeout
The request took too long to complete and timed out.
Too Many Requests
You’ve exceeded the rate limit. See Rate Limits for details.
Internal Server Error
An unexpected error occurred on the server. If this persists, contact support.
Content Type
All POST requests should include theContent-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:- Python:
pip install firecrawl-py - Node.js:
npm install @mendable/firecrawl-js - Go: firecrawl-go
- Rust: See Rust SDK documentation
Support
If you encounter issues or have questions:- Check the documentation
- Join our Discord community
- Contact support@firecrawl.dev