TL;DR
Firecrawl pricing 2026 is credit based. Free is 1,000 credits a month. Hobby is $19, or $16 billed annually, for 5,000 credits. Standard is $99 (or $83 yearly) for 100,000 credits, Growth is $399/$333 for 500,000, and Scale is $749/$599 for 1 million. Scrape, crawl, and map cost 1 credit per page or call. JSON format adds 4 credits, so structured extraction is 5 credits a page, and the optional prompt injection check adds another 4. Hobby therefore covers 1,000 JSON pages, not 5,000.
ScrapeGraphAI meters the same work differently. Free is 500 credits, one time. Starter is $20 for 10,000 credits a month, Growth $100 for 100,000, Pro $500 for 750,000. Markdown scrape is 1 credit, extract is 5, stealth is +5, and a crawl starts at 2 credits then bills per page. For JSON from URLs you already have, both tools charge 5 credits before extras. The cheap-end gap is the pool: Starter gives twice Firecrawl Hobby's credits for a dollar more.
How much does Firecrawl cost in 2026? The published cards on firecrawl.dev/pricing (checked 31 August 2026) are Free at 1,000 credits, Hobby at $19/month or $16 on annual billing, Standard at $99/$83, Growth at $399/$333, and Scale at $749/$599. A card only buys a credit pool. Endpoint choice and the extras you turn on decide how far that pool goes.
Plan cards, credit math, and rate limits are taken from that live pricing page plus the billing and rate-limit docs. The same workloads are priced against ScrapeGraphAI pricing using the live ScrapeGraphAI plans. Credits there are per service.
ScrapeGraphAI pricing
ScrapeGraphAI bills per service, not per HTTP call.
On scrapegraphai.com/pricing (same numbers as packages/shared/src/plans.ts on 31 August 2026), Free is 500 credits once. Starter is $20 a month for 10,000 credits ($204 billed yearly). Growth is $100 for 100,000. Pro is $500 for 750,000. Markdown or HTML scrape is 1 credit. Structured extract is 5. Stealth is +5 on top of that. Search is 2 credits per result, or 5 with a prompt. Crawl is 2 credits to start, then the per-page scrape cost. Render mode does not add credits. Full breakdown: ScrapeGraphAI pricing.
What is the Firecrawl API?
The Firecrawl API is a hosted scraper. You hand it a URL, they spin up a browser, and you get markdown, HTML, links, a screenshot, or structured JSON. Give it a start URL instead and it crawls. The same account can map a site's URLs, search the web, recheck pages, and hold an interactive browser session.
People reach for it as a web scraping API when they would rather skip CSS selectors and ask for markdown or JSON. You pay in credits, not in raw HTTP calls.
Firecrawl Web Scraping API: Features, Limits, and Pricing

Scrape is only one line on the invoice. The rest of the product bills like this:
| Capability | What it does | How it bills |
|---|---|---|
| Scrape | One URL to markdown, HTML, or JSON | 1 credit per page, plus option add-ons |
| Crawl | Follows links from a start URL (the content crawler) | 1 credit per page crawled |
| Map | Lists URLs on a site without fetching body content | 1 credit per call |
| Search | Web search, optional scrape of results | 2 credits per 10 results, plus scrape costs if you fetch pages |
| Interact | Hosted browser session | 2 credits per browser minute |
| Monitor | Recheck a page | 1 credit per page, per check |
| Agent | Autonomous research (preview) | 5 free runs per day, then token-based credits |
Two caps can return HTTP 429. Concurrent browsers limit how many pages run at once. Requests per minute limit how fast you can submit work. Firecrawl's docs say concurrency is the real bottleneck if the client is configured correctly, and RPM is there to stop abuse.
| Plan | Concurrent browsers | Max queued jobs | /scrape RPM |
/crawl RPM |
/search RPM |
|---|---|---|---|---|---|
| Free | 2 | 50,000 | 10 | 2 | 10 |
| Hobby | 5 | 50,000 | 100 | 20 | 100 |
| Standard | 25 | 50,000 | 500 | 100 | 500 |
| Growth | 50 | 100,000 | 5,000 | 1,000 | 5,000 |
| Scale | 100+ | 200,000+ | 10,000 | 2,000 | 10,000 |
/map shares the scrape RPM. /agent matches /crawl. Batch scrape shares crawl limits. Status polling is much higher (500 RPM on Free, 5,000 on Hobby, 25,000 on Standard). Numbers are from docs.firecrawl.dev/rate-limits as of 31 August 2026.
Firecrawl pricing 2026 plans
USD figures below are the published self-serve cards. Annual billing is the lower monthly equivalent Firecrawl prints next to each plan ($16, $83, $333, $599). Yearly invoices on the English page are listed as $190, $990, $3,990, and $7,190.
| Plan | Monthly | Annual equivalent | Credits / month | Concurrent browsers |
|---|---|---|---|---|
| Free | $0 | $0 | 1,000 | 2 |
| Hobby | $19 | $16 | 5,000 | 5 |
| Standard | $99 | $83 | 100,000 | 25 |
| Growth | $399 | $333 | 500,000 | 50 |
| Scale | $749 | $599 | 1,000,000 | 100 |
| Enterprise | Custom | Custom | Custom | Custom |
The public page's credit slider steps through the same named tiers (1k, 5k, 100k, 500k, 1M), so the cards above are the whole self-serve lineup.
Two plan details that never make the price column:
- Credits reset every month, including on yearly invoices. Unused credits do not roll over on Hobby, Standard, or Growth. Firecrawl says annual Scale rolls unused credits for 1 month and annual Enterprise for 2 months.
- Overage is extra credits, not a plan bump. Auto-reload buys credits in $5 blocks when the pool empties (1,000 credits per $5 on Hobby, 2,000 on Standard, 2,500 on Growth, 5,000 on Scale), capped by a monthly auto-reload limit you set. You can also buy credits manually. With auto-reload off, credit-consuming calls return HTTP 402 until the cycle resets or you upgrade.
Free is 1,000 credits each monthly cycle, no card. Earlier in 2026 the free tier was 500 credits. They doubled it.
Firecrawl API pricing and credit usage
One Firecrawl credit is not one HTTP request. Base costs from the 31 August 2026 billing docs:
| Endpoint | Credits | Unit |
|---|---|---|
| Scrape | 1 | per page |
| Crawl | 1 | per page |
| Map | 1 | per call |
| Search | 2 | per 10 results (rounded up; 11 results = 4 credits) |
| Interact | 2 | per browser minute |
| Monitor | 1 | per page, per check |
| PDF parsing | 1 | per PDF page |
| JSON format (LLM extraction) | +4 | per page, added on top |
| Prompt injection check | +4 | per page, opt-in guard for JSON format |
| Zero Data Retention | +1 | per page, added on top |
Modifiers stack. A scrape with JSON format costs 1 + 4 = 5 credits. JSON plus the prompt injection check costs 1 + 4 + 4 = 9 credits. The same add-ons apply to each page a content crawler fetches, so crawl with JSON is 5 credits per discovered page, not 1.
Crawl used to bill 2 credits per page. The live table bills crawl at 1 credit per page, same as scrape. A 500-page JSON crawl is 2,500 credits today, not 3,500.
Search stays cheap until you scrape the results. Ten organic results cost 2 credits. Asking Firecrawl to fetch those pages then adds the scrape cost (and any add-ons you enabled) for each result.
X/Twitter URLs sit on a separate Grok meter: 1 base + 29 for the Grok query, 30 credits typical, 34 with JSON. Skip that path unless you actually need x.com.
Failed requests
The billing docs charge whenever Firecrawl's infrastructure processes a request, even when the target site returns 403 or 404, because the browser work happened. A Firecrawl-side failure bills nothing. Check metadata.statusCode in the response to catch target-site errors, and write to help@firecrawl.com if a charge looks wrong.
Crawl pre-flight
Before a crawl starts, Firecrawl checks that your remaining balance can cover the limit you sent. The default limit is 10,000. Omit it on Hobby and the job can 402 even though you only meant to fetch a few dozen pages. People often blame the credit pool for that. Set limit to the page cap you actually want.
How much a page costs
Effective USD per credit, using the published monthly and annual card prices:
| Plan | $ / credit (monthly) | $ / credit (annual) | Basic scrape (1) | JSON scrape (5) | JSON + injection check (9) |
|---|---|---|---|---|---|
| Hobby | $0.00380 | $0.00320 | $0.0038 / $0.0032 | $0.0190 / $0.0160 | $0.0342 / $0.0288 |
| Standard | $0.00099 | $0.00083 | $0.00099 / $0.00083 | $0.00495 / $0.00415 | $0.00891 / $0.00747 |
| Growth | $0.00080 | $0.00067 | $0.00080 / $0.00067 | $0.00399 / $0.00333 | $0.00718 / $0.00600 |
| Scale | $0.00075 | $0.00060 | $0.00075 / $0.00060 | $0.00375 / $0.00300 | $0.00674 / $0.00539 |
Hobby is a bad deal per credit. Standard cuts the unit cost by about 4x, which is why most production JSON work lands there. Growth and Scale are buying concurrency and RPM more than a cheaper credit.
A mixed workload of 60% markdown scrapes and 40% JSON scrapes burns 0.6 x 1 + 0.4 x 5 = 2.6 credits per page.
| Monthly pages | Credits needed | Plan that fits | Monthly card | Effective $ / page |
|---|---|---|---|---|
| 5,000 | 13,000 | Standard | $99 | $0.0198 |
| 10,000 | 26,000 | Standard | $99 | $0.0099 |
| 25,000 | 65,000 | Standard | $99 | $0.0040 |
| 50,000 | 130,000 | Growth | $399 | $0.0080 |
| 100,000 | 260,000 | Growth | $399 | $0.0040 |
| 200,000 | 520,000 | Scale | $749 | $0.0037 |
Watch the 50,000-page row. Standard's 100,000 credits cannot cover 130,000 credits of mixed work, so the invoice jumps from $99 to $399 and the per-page rate goes up until volume catches up. Annual billing softens the cash outlay ($83 vs $99, $333 vs $399) but does not add credits.
Billing details that change the bill
Unused credits expire on self-serve plans. Size the card to the month you actually run, not to a peak you might hit later.
Auto-reload is the overage path. Hit zero and Firecrawl buys extra credits in $5 blocks at your plan's rate, up to the monthly auto-reload limit you set in billing. Turn it off if you would rather get a 402 than auto-spend.
Upgrades bill the full new-plan price immediately and reset the cycle. Unused credits from the old plan carry over. Downgrades wait until renewal.
Self-hosted Firecrawl still exists on GitHub. You drop the per-credit invoice and pick up browsers, queues, proxies, and your own LLM bill for JSON extraction. Do that if you already run that stack. You still pay for the LLM that does JSON extraction.
Firecrawl vs ScrapeGraphAI
Both sell a web scraping API with LLM extraction. They do not meter the same way, and ScrapeGraphAI is not "1 credit per API call regardless of feature."
Live ScrapeGraphAI cards on 31 August 2026, matching scrapegraphai.com/pricing and packages/shared/src/plans.ts:
| Plan | Monthly | Yearly | Credits |
|---|---|---|---|
| Free | $0 | $0 | 500, one-time |
| Starter | $20 | $204 | 10,000 / month |
| Growth | $100 | $1,020 | 100,000 / month |
| Pro | $500 | $5,100 | 750,000 / month |
Credit rules on ScrapeGraphAI V2:
scrapemarkdown (or HTML, links, images, summary) = 1 creditextractstructured JSON = 5 credits- stealth = +5 on top of the service
search= 2 credits per result, or 5 per result with a promptcrawl= 2 credits to start, plus the per-page scrape format cost- screenshot = 2, branding = 25,
scrapeJSON format = 5
Render mode (auto / fast / js) does not add credits. Stealth does.
| Firecrawl | ScrapeGraphAI | |
|---|---|---|
| Markdown page | 1 credit | 1 credit (scrape) |
| Structured JSON page | 5 credits (scrape + JSON) | 5 credits (extract) |
| JSON + each side's add-on | 9 credits (JSON + injection check) | 10 credits (extract + stealth) |
| Content crawler, markdown | 1 credit / page | 2 startup + 1 / page |
| Content crawler, JSON | 5 credits / page | 2 startup + 5 / page |
| Free credits | 1,000 / month | 500, one-time |
| Entry paid plan | $19 for 5,000 credits | $20 for 10,000 credits |
On a markdown-only crawl, Firecrawl's 1 credit per page is simpler than ScrapeGraphAI's 2-credit startup plus per-page scrape. On structured extraction from URLs you already have, both bill 5 credits before extras. The gap opens when you add stealth or Firecrawl's per-page add-ons, or when you pick the wrong service: a ScrapeGraphAI scrape to markdown is 1 credit; calling extract for the same page is 5.
Both tools bill a structured JSON page at 5 credits, so any volume needs the same credits on either side: pages x 5. The comparison that matters is which monthly card covers that number (no stealth, no add-ons):
| JSON pages / month | Credits needed (both) | Cheapest Firecrawl card | Cheapest ScrapeGraphAI card |
|---|---|---|---|
| 1,000 | 5,000 | Hobby $19 | Starter $20 |
| 2,000 | 10,000 | Standard $99 | Starter $20 |
| 10,000 | 50,000 | Standard $99 | Growth $100 |
| 20,000 | 100,000 | Standard $99 | Growth $100 |
| 40,000 | 200,000 | Growth $399 | Growth + two 50k packs, $400 |
| 100,000 | 500,000 | Growth $399 | Pro $500 |
Read it row by row: at 1,000 pages the entry cards are a wash ($19 vs $20). At 2,000 pages Firecrawl has already outgrown Hobby's 5,000 credits and jumps to Standard ($99), while Starter's 10,000 credits still cover the job for $20. That is the widest gap in the table. At 20,000 pages both sit on their 100k-credit cards ($99 vs $100). Above that Firecrawl's $399 Growth pool is the cheaper card: ScrapeGraphAI covers 40,000 pages with Growth plus two 50,000-credit packs ($150 each), and 100,000 pages needs Pro's 750k pool at $500.
For a full side-by-side on SDKs, crawling, and extraction quality, use ScrapeGraphAI vs Firecrawl. To model a ScrapeGraphAI mix of scrape, extract, search, crawl, and monitor, use the price calculator.
If you need every URL on a domain and then markdown, Firecrawl is still the easier bill. Map plus the content crawler, 1 credit per crawled page, high Scale RPM, and a self-hosted option are why people stay. Standard and Growth have the pool for that job.
Already have the URL list? Then extract with a prompt or schema is usually cleaner: stealth only on the domains that need it, and a 10,000-credit Starter that covers 2,000 JSON pages. Search-plus-extract is one call. Firecrawl splits that into search credits plus scrape credits.
Other web scraping API options
Firecrawl and ScrapeGraphAI are not the whole web scraping API market.
Crawl4AI is open source. You bring GPUs or a box, a browser pool, and an LLM key. The cash cost can look low until you count the time spent running it.
Apify sells prepaid platform usage plus Actor fees. The $29 / $199 / $999 cards are budgets, not flat subscriptions. See Apify pricing if compute units are the meter you are comparing.
ScraperAPI is proxy plus render, billed in credits, with no native schema extraction. Use it when you want HTML and you will parse it yourself.
Jina Reader (r.jina.ai) converts a page to markdown. It is cheap, and it is a converter, not an extractor.
For a wider vendor grid, read Scraper API Services: 2026 Comparison and 7 Best Firecrawl Alternatives for AI Web Scraping in 2026.
Same extraction in two APIs
Firecrawl v2 JSON scrape:
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-...")
doc = app.scrape(
"https://example.com/products",
formats=[{
"type": "json",
"prompt": "Extract product name, price, and currency",
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"price": {"type": "number"},
"currency": {"type": "string"},
},
},
}],
)Firecrawl bills that scrape at 5 credits (1 + JSON +4). The prompt injection check takes it to 9.
ScrapeGraphAI extract:
from scrapegraph_py import ScrapeGraphAI
sgai = ScrapeGraphAI(api_key="sgai-...")
res = sgai.extract(
"Extract the product name, price, and currency",
url="https://example.com/products",
)
data = res.dataSame job on ScrapeGraphAI extract is also 5 credits. Pass stealth and it is 10. If markdown would have been enough, sgai.scrape with a markdown format is 1 credit, not 5.
A common split: Firecrawl map / crawl to build the URL list, ScrapeGraphAI extract on the URLs you keep. Map is 1 Firecrawl credit per call. You skip paying Firecrawl's JSON add-on on pages you later drop.
Worked example: daily product monitoring
500 product URLs, once a day, structured fields (name, price, availability). 30-day month = 15,000 page-extracts.
Firecrawl JSON scrape: 15,000 x 5 = 75,000 credits. Fits Standard ($99 monthly, $83 annual). Buffer of 25,000 credits. Turn on the prompt injection check for every URL and the same job is 135,000 credits, which forces Growth ($399).
ScrapeGraphAI extract: 15,000 x 5 = 75,000 credits. Fits Growth ($100 monthly). Starter's 10,000 credits are not enough. Stealth on every URL doubles it to 150,000 and you need Pro ($500) or a Growth plan plus credit packs.
Firecrawl Standard is a dollar cheaper here if you skip the add-ons ($99 vs $100). ScrapeGraphAI is one call instead of a scrape-with-JSON payload, and stealth is an explicit flag rather than a mode that quietly adds 4 credits. Leave the injection check or stealth on for every URL and the cheaper card disappears.
When to pick which
Stay on Firecrawl if the job is discovery-heavy. Map a domain, crawl with a tight limit, dump markdown, and only JSON-extract the pages that matter. Hobby is enough for that prototype. Standard is the default production card.
If JSON is most of the bill and you already have URLs, move the extract step. Compare Starter/Growth on ScrapeGraphAI pricing against Firecrawl Standard before you accept a $399 Growth jump.
Self-host only if you want the crawler on your own metal and you are willing to run browsers and an LLM yourself.
If a number here disagrees with firecrawl.dev/pricing or scrapegraphai.com/pricing, trust checkout. Both vendors change cards.
FAQ
How much is Firecrawl pricing 2026?
Self-serve USD cards on 13 August 2026: Free $0 (1,000 credits/month), Hobby $19/month or $16 billed annually (5,000), Standard $99/$83 (100,000), Growth $399/$333 (500,000), Scale $749/$599 (1,000,000). Enterprise is custom. A basic scrape or crawl is 1 credit. JSON format adds 4 credits.
Is Firecrawl free?
Yes. The Free plan is 1,000 credits per month and does not require a card. That is 1,000 markdown pages, or 200 JSON pages, or about 111 pages with JSON plus the injection check. That is enough to spike-test an integration. It is not a production pool.
How many credits does a Firecrawl API call use?
Scrape, crawl, map, and monitor: 1 credit per page or call. Search: 2 credits per 10 results. Interact: 2 credits per browser minute. JSON format +4. Prompt injection check +4. Zero Data Retention +1. PDF pages bill 1 credit each. These stack.
Does Firecrawl charge for failed requests?
Firecrawl charges whenever its infrastructure processes the request, even when the target site answers 403 or 404. Firecrawl-side failures are the ones it does not bill. The metadata.statusCode field flags target-site errors.
Do Firecrawl credits roll over?
Not on Hobby, Standard, or Growth. Annual Scale rolls unused credits for 1 month. Annual Enterprise rolls them for 2 months.
Is ScrapeGraphAI cheaper than Firecrawl?
For 1,000 JSON pages/month, Hobby ($19) and Starter ($20) are a rounding error apart. For 2,000 to 10,000 JSON pages, Starter's 10,000 credits beat jumping to Firecrawl Standard. For 20,000 JSON pages, Standard $99 and ScrapeGraphAI Growth $100 are again neck and neck. Above that, compare Firecrawl Growth (500k credits, $399) with ScrapeGraphAI Pro (750k credits, $500) using your real mix of markdown, extract, stealth, and crawl. Do not assume a 1-credit-per-call model on either side.
Can I use Firecrawl and ScrapeGraphAI together?
Yes. Map or crawl on Firecrawl to discover URLs (1 credit per crawled page), then extract on ScrapeGraphAI for the pages you keep (5 credits, or 10 with stealth). That avoids Firecrawl JSON add-ons on URLs you later discard.