Firecrawl MCP Pricing: Cost per Tool Call
The Firecrawl MCP server exposes about fifteen tools and they do not cost the same. A plain scrape is 1 credit, a JSON extraction is 5, a browser minute is up to 7, and a single post from X can cost 30. Here is the full per-tool table and what happens to the bill when the model, not you, decides how many calls to make.
By the ClawEngine team
September 2026 · 8 min read
Hit Extract to turn this page into clean, LLM-ready data.
robots.txt respected · public data only
Short answer: The Firecrawl MCP server does not have its own price list. Every tool it exposes maps to a Firecrawl API endpoint and bills in credits, so what you pay depends entirely on which tools the model reaches for. A plain scrape or crawled page is 1 credit. Adding the JSON format for typed extraction costs 4 more, taking that page to 5. Map is 1 credit a call, search is 2 credits per 10 results, and a browser session through the interact tool runs 2 credits a minute for code-only calls or 7 if any call uses a prompt. A single post pulled from X through Grok is 30. On the $83 Standard plan at 100,000 credits, that is roughly $0.83 per 1,000 plain pages and $4.15 per 1,000 typed ones.
Firecrawl publishes a clear credit table, and if you are calling the API from your own code that table is all you need. Move the same API behind an MCP server and something changes that the pricing page does not mention: you stop choosing the calls. The model does. It sees about fifteen tools in the menu, picks whichever one its reasoning suggests, and each pick has a different price.
That is the actual subject of this post. Not whether Firecrawl is expensive, because at a dollar or so per thousand ordinary pages it is competitive. The question is what happens to a predictable per-page rate once an agent is deciding how many pages there are.
Every figure below was read off the Firecrawl billing documentation and pricing page in September 2026. Software directories in this category go stale within weeks of a repricing, so nothing here comes from an aggregator.
What each Firecrawl MCP tool costs
The MCP server exposes roughly fifteen tools: scrape, search, parse, map, crawl, crawl status, agent and agent status, interact and interact stop, a family of research tools for PubMed, bioRxiv, medRxiv and arXiv, a developer search, monitoring tools and two feedback tools. Availability varies by connection mode, since keyless, OAuth, API-key and self-hosted setups do not all expose the same menu, and team policy can disable individual tools.
Here is what the metered ones bill, mapped from tool name to credit cost.
| MCP tool | What it does | Credit cost | At Standard ($83 / 100k) |
|---|---|---|---|
| firecrawl_scrape | One URL to markdown or HTML | 1 per page | $0.83 per 1,000 |
| firecrawl_scrape with JSON | Same page, typed to a schema by an LLM | 1 + 4 = 5 per page | $4.15 per 1,000 |
| firecrawl_crawl | Recursive crawl of a site or section | 1 per page crawled | $0.83 per 1,000 |
| firecrawl_map | Discover URLs without fetching content | 1 per call | $0.00083 a call |
| firecrawl_search | Web, news, image and developer search | 2 per 10 results, rounded up | $0.0017 per 10 results |
| firecrawl_parse | PDFs and documents to LLM-ready output | 1 base, plus 1 per PDF page | $0.83 per 1,000 PDF pages |
| firecrawl_interact | Live browser session, clicks and forms | 2 a browser minute, 7 if any call uses a prompt | $0.0017 to $0.0058 a minute |
| firecrawl_agent | Autonomous multi-source research | Dynamic, 5 free runs a day | Not forecastable |
| X (x.com) via Grok | A post pulled through the Grok API | 1 + 29 = 30, or 34 with JSON | $0.025 a post |
Two more surcharges stack on a scrape and are worth knowing because they are easy to leave switched on: the prompt injection check adds 4 credits a page, and Zero Data Retention, an Enterprise option, adds 1. Firecrawl gives its own worked example: a page scraped with both the JSON format and ZDR costs 1 plus 4 plus 1, so 6 credits.
The plan tiers, and what a credit is really worth
Firecrawl runs six tiers. The prices shown on the pricing page are annual billing; monthly costs more.
| Plan | Price | Credits | Plain pages per $1 | Typed pages per $1 |
|---|---|---|---|---|
| Free | $0 | 1,000 a month | n/a | n/a |
| Hobby | $16 | 5,000 | 313 | 63 |
| Standard | $83 | 100,000 | 1,205 | 241 |
| Growth | $333 | 500,000 | 1,502 | 300 |
| Scale | $599 | 1,000,000 | 1,669 | 334 |
| Enterprise | Custom | Custom | Negotiated | Negotiated |
Read the last two columns rather than the price column. The credit rate improves by about 39 percent between Hobby and Scale, which is a normal volume discount. The gap between the two columns is the interesting number: choosing typed JSON output instead of markdown makes every page five times more expensive at every single tier. No amount of volume commitment closes that, because it is a multiplier, not a rate.
Extra credits are sold in $5 auto-reload batches, with the quantity per batch varying by tier.
Why does the same page cost more through MCP than through the API?
It does not, per call. The endpoint charges the same whether a Python script or Claude Code made the request. What changes is the number of calls, and that is not a rounding error.
Work through a realistic loop. You ask an agent to summarize how a competitor prices their product. A sensible model does something like this: call firecrawl_search to find the pricing page (2 credits), call firecrawl_map on the domain because the first result looked wrong (1), scrape the pricing page (1), decide the plan table is rendered client-side and re-scrape with the JSON format to type it (5), notice a footnote referencing a docs page and scrape that too (1), then scrape two more pages it thinks are related (2). That is 12 credits for one question you thought was one page.
None of those calls is wrong. Each is what you would have done manually. But you would have known you were doing seven fetches, and here you asked one question. Multiply by a team of six engineers running that loop through the working day and the monthly credit line stops correlating with anything you can plan around. Usage-metered AI spend has a way of arriving as a card charge nobody budgeted, which is the same reason finance teams end up running software spend through something that categorizes it automatically instead of a spreadsheet that gets reconciled in arrears.
The two tools that cost far more than they look
Interact. A browser session bills per minute, not per page, and the rate more than triples if any call in the session uses a prompt: 2 credits a minute for code-only, 7 otherwise. Prompt-driven interaction is exactly what an LLM will use, because writing a selector requires knowing the DOM and writing a prompt does not. The scrape underneath bills separately at 1 credit. A ten-minute session where the model is thinking between actions costs 70 credits plus scrapes, and the thinking time bills at the same rate as the working time.
X through Grok. A post costs 1 base credit plus 29 for the Grok processing, so 30, or 34 with JSON extraction. On Standard that is 2.5 cents a post. If an agent decides to pull a hundred posts to gauge sentiment, that single decision is $2.50, or about the cost of crawling three thousand ordinary web pages.
Rate limits by plan
Separate from cost, and they bind on batch work. Requests per minute for the core endpoints:
| Endpoint | Free | Hobby | Standard | Growth | Scale |
|---|---|---|---|---|---|
| Scrape, map, search | 10 | 100 | 500 | 5,000 | 10,000 |
| Crawl, agent | 2 | 20 | 100 | 1,000 | 2,000 |
| Interact (session start) | 2 | 20 | 100 | 1,000 | 1,500 |
One detail matters for reconciliation: on batch scrape and crawl jobs, credits bill asynchronously as each page completes, not when you submit. So the dashboard lags the work, and a job you started at 4pm can still be adding to the bill an hour later. If you are watching spend during a test, watch it the next morning too.
How to keep the bill predictable
Four things, in order of how much they save.
Turn off JSON extraction unless you need typed fields. This is the single biggest lever on the page, a 5x multiplier on every scrape. Markdown into your own parser, or into a model you are already paying for, is usually cheaper than paying 4 credits a page for extraction inside the scrape call. Same for the prompt injection check, which is also 4 credits and which many teams enable once during a security review and never revisit.
Cap the tools you expose. Team policy can disable individual tools on the server. If your agents never legitimately need a ten-minute browser session or a hundred X posts, removing firecrawl_interact and the Grok path from the menu is a spending control that requires no discipline from anyone.
Do not let crawl into the agent loop uncapped. Crawling is the one scraping operation whose cost is unbounded by nature. A model that decides to crawl a documentation site with a generous limit can spend a Hobby plan in a single turn.
Move bulk work out of the loop entirely. This is the structural fix. If a job has a known page list, it is not an agent decision and it should not be metered as one. Run the crawl from your own code, collect the corpus, and hand the finished markdown to the agent as context. Every page still costs a fetch, but the count is one you chose and the tool calls drop to zero. That is the argument for putting a thin web scraping MCP server in front of a crawl API with a page ceiling written into the tool signature, rather than renting a menu of fifteen differently-priced tools and hoping the model picks well. The same reasoning applies to credit-based scraping pricing in general, where multipliers rather than headline rates decide the bill.
So is Firecrawl MCP worth it?
For interactive work, often yes. The tool menu is the deepest in this category, the hosted setup is genuinely two minutes, and a plain page at roughly $0.83 per 1,000 on Standard is a fair rate for a managed service that renders JavaScript. If you want an agent that can search, read and act on the web with one connection, it is the strongest option on the market right now and this post is not arguing otherwise.
Where it gets expensive is volume with typed output, which is the shape most RAG and data-pipeline work takes. At 5 credits a page you are paying about $4.15 per 1,000, and at that point the question is no longer which MCP server to use. It is whether the work belongs in an agent loop at all.
Our own numbers, for comparison and so you can check the arithmetic: ClawEngine is $39 a month for about 50,000 pages, $99 for about 250,000 and $399 for about 1,500,000, which works out to roughly $0.78, $0.40 and $0.27 per 1,000. Schema-typed JSON does not change the per-page rate. We also do not defeat anti-bot systems, drive browsers, fill forms or read anything behind a login, and Firecrawl does some of that, so if your targets need it the comparison ends there and you should buy the thing that works. If your targets are ordinary public pages and your problem is volume, the flat per-page rate is the cheaper shape, and a bulk crawl run outside the agent loop is cheaper still.
Verified against the Firecrawl billing documentation, rate limits page and public pricing page in September 2026. Vendor pricing moves, so check the source before you commit a budget to any figure here, including ours.
See ClawEngine turn pages into clean data
Point ClawEngine at any public or permitted site and get back clean markdown, JSON, or typed structured fields in one call. Crawl at scale, render JavaScript, and feed your RAG pipelines and AI agents, robots.txt and Terms of Service respected.