429 response. See Errors for the full error catalog and a retry-with-backoff snippet.
Concurrent Browser Limits
Concurrent browsers control how many pages Firecrawl can process for you in parallel. Your plan sets the ceiling; any jobs beyond it wait in a queue until a browser frees up. Time spent in the queue counts against the request’stimeout parameter, so you can set a lower timeout to fail fast instead of waiting. To see current availability before sending work, call the Queue Status endpoint. Jobs that are waiting in your concurrency queue will time out after a maximum of 48 hours.
Current Plans
| Plan | Concurrent Browsers | Max Queued Jobs |
|---|---|---|
| Free | 2 | 50,000 |
| Hobby | 5 | 50,000 |
| Standard | 25 | 50,000 |
| Growth | 50 | 100,000 |
| Scale / Enterprise | 100+ | 200,000+ |
429 status code until existing jobs complete. For larger plans with custom concurrency limits, the max queued jobs is 2,000 times your concurrency limit, capped at 2,000,000.
If you require higher concurrency limits, contact us about enterprise plans.
API Rate Limits
Rate limits are measured in requests per minute and are primarily in place to prevent abuse. When configured correctly, your real bottleneck will be concurrent browsers. Rate limits are applied per team, so all API keys on the same team share the same rate limit counters.Keyless (no API key)
The hosted Firecrawl MCP keyless endpoint exposes exactly Search, Scrape, and Parse without an API key. Other hosted MCP tools require an account connection or an API key. For official Firecrawl clients, the CLI, SDKs, and REST API, keyless access also includes Interact. On Firecrawl Cloud, research, developer, and government search endpoints can also be used without an API key. No other endpoints (crawl, extract, map, batch scrape, etc.) are available without a key. Keyless usage is free and capped per IP address per day by two limits, and exceeding either returns a429:
- A maximum number of requests per day.
- A maximum number of credits per day. Operations cost different amounts of credits (for example, Interact and JSON extraction cost more than a basic scrape), so heavier usage reaches the credit cap sooner.
Current Plans
| Plan | /scrape | /map | /crawl | /search | /agent | /crawl/status | /agent/status |
|---|---|---|---|---|---|---|---|
| Free | 10 | 10 | 2 | 10 | 2 | 500 | 500 |
| Hobby | 100 | 100 | 20 | 100 | 20 | 5000 | 5000 |
| Standard | 500 | 500 | 100 | 500 | 100 | 25000 | 25000 |
| Growth | 5000 | 5000 | 1000 | 5000 | 1000 | 250000 | 250000 |
| Scale | 10000 | 10000 | 2000 | 10000 | 2000 | 500000 | 500000 |
Extract Endpoints
The extract endpoints share limits with the corresponding /agent rate limits.Batch Scrape Endpoints
The batch scrape endpoints share limits with the corresponding /crawl rate limits.Government and Research Indexes
Calls to the Government Index and the Research Index are free. Their endpoints have per-minute limits that are the same on every plan:
The
gov category on /search uses the /search limits above. Each index also has a daily call limit per team:
| Plan | Calls per index per day |
|---|---|
| Free / Hobby / Standard | 1,000 |
| Growth | 2,000 |
| Scale / Enterprise | Unlimited |
What counts
Each index has its own count. Every call to that index counts once, whichever way you reach it:- Government Index:
/search/gov,/searchwith thegovcategory, and the Government Index tool in Alexandria. - Research Index: every
/search/research/papersendpoint (search, inspect, read and related papers), and the Research Index tool in Alexandria.
400) before it reaches the index is not counted, and neither is an Alexandria request replayed with the same x-request-id, which returns the saved result. A call that reaches the index counts even if the index returns an error.
When you reach the limit
The request returns429 with a Retry-After header giving the seconds until 00:00 UTC. Until then, calls to that index are refused unless they fit in what is left of the limit or you upgrade. The body explains the limit and how to raise it:
Alexandria responses also include
retryAfterSeconds, the same value as the Retry-After header.
Browser Sandbox
The browser sandbox endpoints have per-plan rate limits that scale with your subscription:| Plan | /interact | /interact/{id}/execute |
|---|---|---|
| Free | 2 | 10 |
| Hobby | 20 | 100 |
| Standard | 100 | 500 |
| Growth | 1,000 | 5,000 |
| Scale | 1,500 | 7,500 |
429 status code until existing sessions are destroyed.
