---
title: "Firecrawl API: pricing, rate limits & MCP | ONEGTMLAB"
description: "Firecrawl API: Credit-based API that turns any URL or whole site into LLM-ready markdown/JSON: scrape, crawl, map, search, browser interact, file parse…"
canonical: https://www.onegtmlab.dev/tool-directory/research-and-scraping/firecrawl
---

# Firecrawl API: pricing, rate limits & MCP | ONEGTMLAB

[](/)

[

Book a call

](/book)

![](/_astro/firecrawl.BlOy6k5j_JfvHo.webp)

API review

# Firecrawl API review

Credit-based API that turns any URL or whole site into LLM-ready markdown/JSON: scrape, crawl, map, search, browser interact, file parse, monitors, plus a growing data-provider marketplace (Alexandria). Best for full-site URL inventories.

Verified 25 Oct 2026 · 57 endpoints listed · Official MCP server

[

See pricing

](#pricing)[

Firecrawl API docs

](https://docs.firecrawl.dev/api-reference/v2-introduction)

At a glance

Category

Scraping, Research, Enrichment

Pricing model

Credits

Free tier

1,000 credits/month, no card, no rollover, no pay-as-you-go

Entry price

$16/mo, billed annually Hobby

Auth

API key

Official MCP

Yes

Best for

Full-site URL inventories

[firecrawl.dev ↗](https://www.firecrawl.dev)[Pricing page ↗](https://www.firecrawl.dev/pricing)

## What a call costs

The actions you pay for, as Firecrawl prices them in credits.

Action

Cost

Per

Scrape / crawl page

1 credit

page

PDF parsing

+1 credit

PDF page

JSON (LLM extraction), question/query, highlights, audio, video, PII redaction, prompt-injection check

+4 credits each

page

Zero Data Retention

+1 credit

page

Enhanced proxy

+0 (1 credit total)

page

Map

1 credit (per call per billing doc; pricing HTML table says per page; measured per call)

call

Search

2 credits

10 results

Interact

2 credits (7 with prompt)

browser minute

Show all 14 priced actionsHide the rest

Action

Cost

Per

Monitor

1 credit (+1 per changed page judged; flat 7 for JSON/deterministic-extraction monitors)

page per check

Threat protection scan

2 credits

URL

LinkedIn profile/company (provider-routed)

FullEnrich 5 / Data Legion base 10 / Apollo 30 / Data Legion premium 40 credits

URL

X.com post/profile (Grok API)

30 credits (34 with JSON)

request

Agent (preview)

5 free runs/day, then dynamic

run

Research Index papers

free

call

## Pricing, plan by plan

US dollars, as Firecrawl's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier 1,000 credits/month, no card, no rollover, no pay-as-you-go; keyless tier capped per IP per day

### Free

$0

Free

1,000 credits/month (~1,000 pages or 500 searches)

API includedPlan details

No PAYGO: 402 when exhausted

### Hobby

$19/mo

billed monthly

$16/mo

billed annually

5,000 credits/month

API includedPlan details

PAYGO 1,000 credits per $5

### Standard

$99/mo

billed monthly

$83/mo

billed annually

100,000 credits/month

API includedPlan details

PAYGO 2,000 credits per $5

### Growth

$399/mo

billed monthly

$333/mo

billed annually

500,000 credits/month

API includedPlan details

PAYGO 2,500 credits per $5

### Scale

$749/mo

billed monthly

$599/mo

billed annually

1,000,000 credits/month (1-month rollover)

API includedPlan details

PAYGO 5,000 credits per $5

### Enterprise

Custom quote

Custom credits, ZDR, SSO, SLA, 2-month rollover on annual

API includedPlan details

Custom

Annual billing totals: Hobby $190/yr, Standard $990/yr, Growth $3,990/yr, Scale $7,190/yr (page shows rounded $16/$83/$333/$599 per month). Pay-as-you-go needs a paid plan: $5 increments of 1,000 (Hobby) / 2,000 (Standard) / 2,500 (Growth) / 5,000 (Scale) credits up to a monthly limit you set; bought credits do not expire. 403/404 pages still cost 1 credit (effective 2026-09-04). Prices in USD (page shows a USD selector; no INR shown from our IP).

## Rate limits

Per team (shared across keys).

Limit

Free

Hobby

Standard

Growth

Scale

Keyless

Limit

2 concurrent browsers; /scrape,/map,/search 10/min; /crawl,/agent 2/min; 50,000 max queued

5 browsers; 100/min; 20/min; 50,000 queued

25 browsers; 500/min; 100/min; 50,000 queued

50 browsers; 5,000/min; 1,000/min; 100,000 queued

100 browsers; 10,000/min; 2,000/min; 200,000+ queued

Search, Scrape, Parse (+Interact via SDK/CLI); daily request and credit caps per IP (numbers not published)

More on limitsLess

Two limits: requests/min per endpoint and concurrent browsers (the real bottleneck). Queue waits count against request timeout; queued jobs time out after 48h. Status endpoints (/crawl/status, /agent/status) have far higher limits (Free 500 up to Scale 500,000/min). /interact Free 2 / Hobby 20 / Standard 100 / Growth 1,000 / Scale 1,500 per min; /interact/{id}/execute 10/100/500/5,000/7,500. Docs disagree on whether batch scrape shares the /crawl or the /scrape limit. No rate-limit headers were returned in our live scrape (only X-Response-Time).

## How to get an API key

Firecrawl uses API key. The steps below follow Firecrawl's own docs.

1.  Create a Firecrawl account. The Free plan includes API access.
2.  Sign up at [firecrawl.dev](https://www.firecrawl.dev) (free, no card); keyless mode for Search/Scrape/Parse/Interact capped per IP per day
3.  Send it with every request: header: Authorization: Bearer fc-<key>.
4.  Make a first call: Scrape one URL to markdown/HTML/JSON/screenshot etc.; optional actions and LLM extraction. Keep the key in an environment variable, never in the command.
    
    ```
    curl -X POST "https://api.firecrawl.dev/v2/scrape" \
      -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{}'
    ```
    

## Where the docs live

What

Where

Documentation

[docs.firecrawl.dev](https://docs.firecrawl.dev)

API reference

[docs.firecrawl.dev/api-reference/v2-introduction](https://docs.firecrawl.dev/api-reference/v2-introduction)

OpenAPI spec

[docs.firecrawl.dev/api-reference/v2-openapi.json](https://docs.firecrawl.dev/api-reference/v2-openapi.json)

llms.txt

[docs.firecrawl.dev/llms.txt](https://docs.firecrawl.dev/llms.txt)

Changelog

[firecrawl.dev/changelog](https://www.firecrawl.dev/changelog)

Base URL

`https://api.firecrawl.dev/v2`

MCP server

`https://mcp.firecrawl.dev/v2/mcp`

SDKs

Python (firecrawl / firecrawl-py), Node (firecrawl), Go, Rust, Java, Elixir, .NET, PHP, Ruby, CLI

## Strengths and limits

### Where it fits

-   Full-site URL inventories (/map up to 100,000 URLs for 1 credit)
-   Crawling/scraping company websites to clean markdown for LLM qualification
-   Batch scraping thousands of homepages with webhooks
-   JS-heavy pages needing actions or a live browser (/interact)
-   Change monitoring of pricing/careers pages (/monitor)

### Where it falls short

-   Cheap LinkedIn data (LinkedIn URLs are routed to Apollo/Data Legion/FullEnrich at 5-40 credits each)
-   Raw X/Twitter data at scale (Grok-processed, 30 credits per request)
-   Free-tier production work (no pay-as-you-go, hard 402 at 1,000 credits)

### Worth knowing

-   Monitors that use JSON / deterministic extraction bill a flat 7 credits per page per check, not 1; judged changed pages add +1. Sources: [firecrawl.dev/pricing](https://www.firecrawl.dev/pricing); [docs.firecrawl.dev/features/monitor](https://docs.firecrawl.dev/features/monitor)
-   Pages that return 403/404 are still charged 1 credit; only a scrape with no document is free; check metadata.statusCode and stop retrying blocked URLs.
-   Format surcharges stack: JSON + PII redaction = 9 credits per page.
-   LinkedIn /in/ and /company/ URLs are silently routed to Apollo / Data Legion / FullEnrich and cost 5-40 credits, not 1.
-   x.com URLs go through xAI Grok: 30 credits per request and AI-processed output, not raw HTML.

7 moreShow fewer

-   Conflict in vendor docs: the pricing page HTML (table 'Map 1 / page', 'credit unit = 1 page on scrape, crawl or map') and its FAQ say per page, while the pricing markdown table and billing doc say '1 credit per call'. Our measurement supports per call. Re-checked 2026-10-25.
-   Map: v2 default limit is 5,000, maximum 100,000 (OpenAPI); our rule is always send limit 100000.
-   Crawl with no limit defaults to 10,000 pages; credits are billed as pages finish, so cost can appear minutes or hours later.
-   Free plan has no pay-as-you-go: hard 402 at 1,000 credits. Plan credits do not roll over except Scale (1 month) and annual Enterprise (2 months).
-   Upgrades charge the full new price immediately with no proration and reset the billing cycle.
-   Changed since our 16 Aug 2026 notes: enhanced proxy was 5 credits, now +0 (1 credit); Standard concurrency was 50 browsers, now 25; Growth 100 -> 50.
-   Concurrency, not RPM, is the bottleneck; queue time counts against the request timeout.

### Our take

We use Firecrawl for full URL inventories of websites and to scrape a company's homepage when its LinkedIn description is not enough to qualify the company. A map call costs 1 credit however many URLs it returns (24,797 URLs for 1 credit on one site), and the default limit of 100 silently truncates the list, so we always send the maximum limit of 100,000. Before a large scrape we test the proxy mode on 5 pages first; on one job that cut the credit estimate from 24,270 to 8,542, since the enhanced proxy costs 5 credits a page against 1 for basic.

## Who should use it

Use Firecrawl for

Full-site URL inventories (/map up to 100,000 URLs for 1 credit)

Look elsewhere for

Cheap LinkedIn data (LinkedIn URLs are routed to Apollo/Data Legion/FullEnrich at 5-40 credits each)

## If Firecrawl is not the answer

Other Research and scraping tools in this directory, each with its own review.

[

![](/_astro/apify.BGdNuL2e.svg)

Apify

Research and scraping

Free planOfficial MCP

Best for scraping sites that have no API via pay-per-result Store Actors.

Apify API review →](/tool-directory/research-and-scraping/apify)[

![](/_astro/brightdata.D3o9R6mQ_Z2nLIVf.webp)

Bright Data

Research and scraping

From $499/moOfficial MCP

Best for structured records from big platforms via maintained Scraper APIs, pay only per delivered record.

Bright Data API review →](/tool-directory/research-and-scraping/brightdata)

## Before you build

Four things to settle first, each read off Firecrawl's own pages.

-   **Confirm the API is on your plan**The Free plan includes API access. Free tier: 1,000 credits/month, no card, no rollover, no pay-as-you-go.
    
-   **Keep the key out of your code**API key. It is sent as: header: Authorization: Bearer fc-<key>.
    
-   **Design around the rate limit**Per team (shared across keys).
    
-   **Know the catch before you scale**Monitors that use JSON / deterministic extraction bill a flat 7 credits per page per check, not 1; judged changed pages add +1. Sources: [firecrawl.dev/pricing](https://www.firecrawl.dev/pricing); [docs.firecrawl.dev/features/monitor](https://docs.firecrawl.dev/features/monitor)
    

## Want us to build it for you?

Tell us what you want Firecrawl to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

[

Book a call

](/book)[

See case studies

](/case-studies)

Read from [firecrawl.dev/pricing](https://www.firecrawl.dev/pricing), [docs.firecrawl.dev/api-reference/v2-introduction](https://docs.firecrawl.dev/api-reference/v2-introduction) and [docs.firecrawl.dev/rate-limits](https://docs.firecrawl.dev/rate-limits). Verified 25 Oct 2026.

All 57 endpointsFor developers: method, path, what it does and what it costs.

**Base URL:** `https://api.firecrawl.dev/v2`

**Bulk and async:** POST /batch/scrape (async, webhook), /crawl with limit up to 10,000 default; billing is asynchronous as pages complete

**Webhooks:** Yes: crawl, batch scrape, agent and monitor webhooks (started/page/completed/failed events), signed endpoints

Filter endpoints

57 endpoints

Method

Path

What it does

Cost

POST

`/scrape`

Scrape one URL to markdown/HTML/JSON/screenshot etc.; optional actions and LLM extraction

1 credit/page; +1/PDF page; +4 json, question/query, highlights, audio, video, redactPII, checkPromptInjection, lockdown hit; +1 ZDR; enhanced proxy +0; LinkedIn profile/company URLs billed at provider rates (5-40 credits); x.com URLs 30 credits

GETasync

`/scrape/{jobId}`

Status of a scrape job

Not stated

POST

`/scrape/{jobId}/interact`

Interact with the browser session of a scrape job

2 credits/browser minute (7 with prompt), 1-minute minimum

DELETE

`/scrape/{jobId}/interact`

Stop the interactive browser session

Not stated

POST

`/parse`

Upload and parse a file (PDF, Word, spreadsheet) to markdown/JSON

1 credit/page + format surcharges

GET

`/parse/formats`

List supported parse formats

free

POSTasync

`/batch/scrape`

Scrape many URLs asynchronously (webhook optional)

scrape cost per page, billed as each page completes

GETasync

`/batch/scrape/{id}`

Batch scrape status/results

free (polling not charged)

DELETE

`/batch/scrape/{id}`

Cancel batch scrape

Not stated

GET

`/batch/scrape/{id}/errors`

Batch scrape errors

Not stated

POSTasync

`/crawl`

Crawl a site by following links

1 credit/page + scrape option surcharges; default limit 10,000 pages

GETasync

`/crawl/{id}`

Crawl status/results

free

DELETE

`/crawl/{id}`

Cancel crawl

Not stated

GET

`/crawl/{id}/errors`

Crawl errors

Not stated

POST

`/crawl/params-preview`

Preview crawl params from a natural-language prompt

Not stated

GET

`/crawl/active`

List active crawls for the team

Not stated

POST

`/map`

List a site's URLs without scraping

1 credit per call per billing doc and the pricing markdown; the pricing HTML table now says '1 / page'. Our measurement: 2,836 URLs = 1 credit, so per call. limit default 5,000, max 100,000. Sources: [docs.firecrawl.dev/billing](https://docs.firecrawl.dev/billing); [firecrawl.dev/pricing](https://www.firecrawl.dev/pricing)

POSTasync

`/extract`

LLM structured extraction across pages

Dynamic; shares /agent rate limit

GETasync

`/extract/{id}`

Extract job status

Not stated

POSTasync

`/agent`

Start autonomous agent data-extraction task (preview)

5 free runs/day, then dynamic credits by agent tokens

GET

`/agent`

List agent runs

Not stated

GETasync

`/agent/{jobId}`

Agent job status

Not stated

DELETE

`/agent/{jobId}`

Cancel agent job

Not stated

GET

`/agent/{jobId}/trace`

Agent execution trace

Not stated

GET

`/agent/{jobId}/snapshots/{snapshotId}`

Agent output snapshot

Not stated

POST

`/search`

Web search, optionally scraping results

2 credits per 10 results (rounded up per 10) + scrape cost per scraped result

POST

`/search/{jobId}/feedback`

Feedback on a search job

Not stated

GET

`/search/research/papers`

Search Research Index papers

free

GET

`/search/research/papers/{id}`

Inspect or read a paper

free

GET

`/search/research/papers/{id}/similar`

Related papers

free

GET

`/search/developer`

Search the Developer Index (GET)

Not stated

POST

`/search/developer`

Search the Developer Index

Not stated

GET

`/search/gov`

Search the Government & Legal Index (GET)

Not stated

POST

`/search/gov`

Search the Government & Legal Index

Not stated

POST

`/interact`

Create a browser sandbox session

2 credits/browser minute code-only, 7 with prompt, +2 for ZDR

GET

`/interact`

List interact sessions

Not stated

POST

`/interact/{sessionId}/execute`

Execute code in a session

Not stated

DELETE

`/interact/{sessionId}`

Delete a session

Not stated

POST

`/monitor`

Create a page/site/web monitor with webhook alerts

1 credit per page per check (base scrape/crawl); judging adds +1 credit per changed page judged; JSON / deterministic-extraction monitors bill a flat 7 credits per page per check instead (pricing page HTML). Source: [docs.firecrawl.dev/billing](https://docs.firecrawl.dev/billing); [docs.firecrawl.dev/features/monitor](https://docs.firecrawl.dev/features/monitor); [firecrawl.dev/pricing](https://www.firecrawl.dev/pricing)

GET

`/monitor`

List monitors

Not stated

[](/)

© 2026 ONEGTMLAB Private Limited. All rights reserved.

COMPANY

[

Why Us

](/#why-us)[

Process

](/#timeline)[

Blogs

](/blogs)[

About

](/about)[

Clients

](/clients)[

Free resources

](/free-resources)[

Newsletter

](/newsletter)

Services

[

GTM Engineering

](/ai-gtm-engineering)[

Account-Based Marketing

](/services/account-based-marketing)[

Paid Media

](/services/paid-media)[

Content Engineering

](/linkedin-personal-branding)[

RevOps

](/services/revops)[

SEO, AEO & GEO

](/services/seo-aeo-geo)[

All services

](/services)

![](/_astro/wordmark-3d.CMEfGdYr.svg)
