Skip to main content
The Firecrawl API implements rate limiting to ensure fair usage and maintain service quality for all users. This page explains how rate limits work and how to handle them in your application.

Rate Limit Response

When you exceed the rate limit, the API will return a 429 Too Many Requests status code with the following response:

Rate Limit Strategy

Plan-Based Limits

Rate limits vary based on your subscription plan. Higher-tier plans receive increased rate limits to support larger-scale operations.

Endpoint-Specific Limits

Different endpoints may have different rate limits:
  • Scraping endpoints (/scrape, /batch/scrape) - Limited by requests per minute
  • Crawling endpoints (/crawl) - Limited by concurrent crawls and pages per crawl
  • Search endpoint (/search) - Limited by searches per minute
  • Extract endpoint (/extract) - Limited by extraction requests per minute
  • Research endpoint (/deep-research) - Limited by concurrent research operations

Handling Rate Limits

Best Practices

When you receive a 429 response, wait before retrying. Use exponential backoff to gradually increase wait times:
Instead of making individual requests, use batch operations when scraping multiple URLs:
Batch operations count as a single request against your rate limit while processing multiple URLs.
Track your API usage to stay within limits:
Response:
For crawling and batch operations, use webhooks instead of polling for status:
This reduces the number of status check requests you need to make.

Credit System

In addition to rate limits, Firecrawl uses a credit-based system:

Credit Consumption

  • Scrape: 1 credit per page
  • Crawl: 1 credit per page crawled
  • Batch Scrape: 1 credit per URL
  • Search: Credits vary based on scraping options
  • Extract: Token-based pricing (separate from credits)
  • Map: 1 credit per request

Insufficient Credits

When you run out of credits, you’ll receive a 402 Payment Required response:
To continue using the API, you’ll need to upgrade your plan or purchase additional credits.

Crawl-Specific Limits

Concurrent Crawls

The number of simultaneous crawl operations you can run depends on your plan:

Pages Per Crawl

You can limit the number of pages in a single crawl using the limit parameter:
The default limit is 10,000 pages per crawl.

Crawl Delays

Respect website rate limits by adding delays between requests:
The delay parameter specifies the number of seconds to wait between scraping pages.

Error Handling

Rate Limit Headers

While not explicitly documented in all responses, monitor HTTP status codes to detect rate limiting:

Server Errors

Occasional 500 Internal Server Error responses may occur. These are different from rate limits and should be retried with exponential backoff:

Optimizing API Usage

1. Use the Right Endpoint

  • Use /map to discover URLs before crawling
  • Use /batch/scrape for known URL lists
  • Use /crawl for comprehensive site scraping

2. Filter Content Efficiently

Use crawl options to reduce unnecessary requests:

3. Request Only Needed Formats

Specify only the formats you need:
Avoid requesting multiple formats (HTML, screenshot, etc.) if you don’t need them.

SDK Rate Limit Handling

Our official SDKs include built-in rate limit handling:

Python SDK

Node.js SDK

Contact Support

If you’re experiencing consistent rate limiting issues or need higher limits:
  1. Review your usage patterns and optimize requests
  2. Consider upgrading to a higher-tier plan
  3. Contact support@firecrawl.dev to discuss custom rate limits
For plan details and pricing, visit firecrawl.dev/pricing.