Crawl4AI vs Firecrawl
Crawl4AI vs Firecrawl on the same Wikipedia page: Crawl4AI’s MCP md tool returned 74,896 tokens, hosted Firecrawl 112,517 and Firecrawl self-hosted 107,332. All three had the answer. FATSEARCH answered the same question in 1,384.
We make FATSEARCH. The numbers below are our own runs, dated. Where another reader is the better pick, we say so.
| One page, dated per row | 38 hard pages, | |||||
|---|---|---|---|---|---|---|
| Reader | Tokens in context | Answer found | Model bill | Answer in the text | Agent answered right | Tokens per question |
| FATSEARCH | 1,384 | yes | $0.0028 | 35/38 | 26/38 | 2.6k |
| Crawl4AI | 74,896 | yes | $0.15 | — | — | — |
| Firecrawl | 112,517 | yes | $0.23 | 24/38 | 24/38 | 2.8k |
| Firecrawl self-hosted | 107,332 | yes | $0.21 | — | — | — |
One page: Wikipedia “Rust (programming language)”, default settings, one run each, on the day under each name; same page, same question. Tokens = Anthropic’s own counter; fats = outline + one filter + one section. Model bill = tokens × $2 per million input tokens (Claude Sonnet 5.5, ); reader fees not included.
Each row is the tool’s default call, the one an agent gets unless it asks for more.
Crawl4AI, another call. With the bm25 filter and our question as the query: 36,307 tokens, answer found.
Firecrawl self-hosted, another call. Through firecrawl-mcp (firecrawl_scrape), the tool text an agent gets: 113,609 tokens, answer found.
Hard pages: Social, news, shops, travel, classifieds, search: pages a built-in fetch can’t read. FATSEARCH 0.1.0, 2026-10-16, one run each; Firecrawl’s copy was cut to fit the agent run. “—” = not in that run.
| Tool | Licence | API key | Does |
|---|---|---|---|
| FATSEARCH | MIT OR Apache-2.0 | None to read; search needs your Oxylabs or Bright Data key | Search + read (outline, then one section) |
| Crawl4AI | Apache-2.0 + attribution clause | None from a vendor; you set your own server token | Read + crawl; no web search in the open-source server |
| Firecrawl | Hosted service; its open-source core is AGPL-3.0 | Yes; scrape, search and parse also work keyless, rate-limited | Search + read + crawl |
| Firecrawl self-hosted | AGPL-3.0 (server), MIT (firecrawl-mcp) | None with auth off, the guide's local default | Search + read + crawl (we did not test its search) |
What each returned
All three hand the model the whole article as Markdown. Crawl4AI’s default fit filter wraps it in a small JSON envelope and drops some of the page chrome. Firecrawl’s /v2/scrape keeps more of it: navigation, image markup, tables, footnotes.
Hosted and self-hosted Firecrawl ran the same endpoint two days apart: hosted, self-hosted. Wikipedia edited the article in between, so read the two counts as close, not as a gap between the two setups.
Both can return less than the whole page. Crawl4AI’s bm25 filter with our question as the query cut it to 36,307 tokens and kept the answer. Through firecrawl-mcp, the tool text an agent gets from the self-hosted server was 113,609 tokens. firecrawl-mcp also returns the same data as structured JSON, so a client that puts both in context pays about twice that. Method and the other open-source tools: open source web search MCP.
Where each wins
- Crawl4AI if you want it local and free, under the Apache licence plus a clause that asks you to credit it. It runs a browser in one Docker container, is also a Python library, and its MCP tools take screenshots and PDFs and run JavaScript. Its open-source server has no web search.
- Firecrawl hosted if you don’t want to run anything. Search, crawl, map, screenshots, page actions and anti-bot handling come with the key. On 38 hard pages it had the answer in the text for 24/38; its agent loop got 24/38 right at 2.8k per question.
- Firecrawl self-hosted if you want Firecrawl’s API under your control. It is the AGPL server from the same repo, started with Docker Compose. You run several services and own the upgrades, and the default stack has no screenshots, page actions or anti-bot engine.
Setup effort
Crawl4AI is one docker run plus a token you make yourself; without the token the published port answers nothing. Firecrawl self-hosted is a clone of a pinned release, a small .env, then docker compose up --build. The hosted service is an API key. Exact commands are in each section below, from each project’s own docs.
For the other hosted readers: Firecrawl alternatives and Firecrawl vs Tavily. Every reader we measured on the hosted run: the comparison hub.
Acknowledgments
Crawl4AI’s licence asks publications to credit it: “This product includes software developed by UncleCode (https://x.com/unclecode) as part of the Crawl4AI project (https://github.com/unclecode/crawl4ai).”
Reader by reader
FATSEARCH
Local CLI + MCP server, your own provider key. Measured: outline, then one filter, then one section (plain HTTP, $0).
1,384 tokens across three reads. First lines:
= j11.u46 Rust (programming language) - Wikipedia · en.wikipedia.org · 57 sections · 6 photos · 2 videos · 40.9ktok · pl… u46#0 info | author Contributors to Wikimedia projects · published 2010-10-30T22:30:54Z · modified 2026-10-15T20:56:59Z m1 photo 250x167 png | A bright orange crab icon → https://thumb.wikimedia.org/wikipedia/commons/thumb/2/20/Rustacean-or… m2 photo 250x314 png | (no alt) → https://thumb.wikimedia.org/wikipedia/commons/thumb/a/af/Rust_standard_libraries.svg/5… m3 photo 250x193 png | (no alt) → https://thumb.wikimedia.org/wikipedia/commons/thumb/6/6c/Cargo_clippy_hello_world_exam… … +10 media → fats u46 media u46#1 (top) (9) | Jump to content u46#9 Syntax and features (9.2k, 27 sub) | [edit [l175] ] Main article: Rust syntax [l176] Rust's syntax [l177] is simil…
Price: $0.001–0.0065 per hard page, $0 plain pages (github.com, checked )
Install, from its own docs (github.com, github.com, checked ):
npm i -g fatsearch claude mcp add --scope user fats -- fats mcp
Crawl4AI
Self-hosted crawler in Docker with an MCP endpoint. Measured: Docker server 0.9.5, MCP md tool, default filter fit.
74,896 tokens, 54× what FATSEARCH used. First lines:
{"url": "https://en.wikipedia.org/wiki/Rust_(programming_language)", "filter": "fit", "query": null, "cache": "0", "mark…Price: Free and open source (Apache-2.0 with an added attribution requirement). You run the Docker server; no API key (it asks you to set your own server token). (github.com, docs.crawl4ai.com, checked )
Install, from its own docs (docs.crawl4ai.com, github.com, checked ):
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g \ -e CRAWL4AI_API_TOKEN="$CRAWL4AI_API_TOKEN" unclecode/crawl4ai:latest claude mcp add --transport sse c4ai-sse http://localhost:11235/mcp/sse
When it’s better: You want to crawl, not just read. Crawl4AI runs a real browser in Docker on your machine. Its MCP tools crawl many pages, take screenshots and PDFs, run JavaScript on a page, and can filter a page by a query. It is also a Python library. The open-source server has no web search; FATSEARCH has no crawler.
Firecrawl
Hosted scrape, crawl + search API (AGPL core), MCP server. Measured: v2 /scrape, markdown, default settings.
112,517 tokens, 81× what FATSEARCH used. First lines:
[Jump to content](https://en.wikipedia.org/wiki/Rust_(programming_language)#bodyContent) [ | - [Multi-paradigm](https://en…
Price: Free: 1,000 credits a month (one scraped page = one credit). Hobby: $16 a month billed yearly ($19 monthly) for 5,000 credits. Standard: $83 a month billed yearly for 100,000. (firecrawl.dev, checked )
Install, from its own docs (github.com, github.com, checked ):
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
When it’s better: You don't want to run anything. Hosted Firecrawl has what the self-hosted stack leaves out by default: screenshots, page actions and its anti-bot engine, with search, crawl and map under one key. On our hard pages it had the answer in the text for 24/38.
Firecrawl self-hosted
Firecrawl's open-source server in Docker Compose, firecrawl-mcp on top. Measured: v2.11.162 from the self-host guide, /v2/scrape, markdown, default settings.
107,332 tokens, 78× what FATSEARCH used. First lines:
[](https://en.wikipedia.org/wiki/Rust_(programming_language)#) Rust (programming language) =========================== * [Article](https://en.wikipedia.org/wiki/Rust_(programming_language)) * [Talk](https://en.wikipedia.org/wiki/Talk:Rust_(programming_language)) **Rust** is a [general-purpose programming language](https://en.wikipedia.org/wiki/General-purpose_programming_language … that emphasizes [performance](https://en.wikipedia.org/wiki/Computer_performance "Computer performance") , [type safety](https://en.wikipedia.org/wiki/Type_safety "Type safety")
Price: Free and open source (the server is AGPL-3.0). You run the Docker stack; no API key on the guide's local default. (github.com, docs.firecrawl.dev, checked )
Install, from its own docs (docs.firecrawl.dev, github.com, checked ):
git clone https://github.com/firecrawl/firecrawl.git && cd firecrawl git checkout v2.11.162 # .env as in the guide, then: docker compose up --build -d export FIRECRAWL_API_URL=http://localhost:3002 npx -y firecrawl-mcp
When it’s better: You want Firecrawl's API on your own machine, without a bill. The default stack keeps scrape, crawl, map and search local, under the AGPL, and firecrawl-mcp points at it with one variable. Its guide says screenshots, page actions and the anti-bot engine are not in the default stack, and you own the upgrades.
Questions
Is there a free version of Firecrawl available?
Two. The hosted service has a free plan: Free: 1,000 credits a month (one scraped page = one credit). Hobby: $16 a month billed yearly ($19 monthly) for 5,000 credits. Standard: $83 a month billed yearly for 100,000. And the server is open source under the AGPL, so you can run it yourself for the cost of your machine. Its self-host guide says screenshots, page actions and the anti-bot engine are not in the default stack.
Is Firecrawl MCP free?
The MCP server, firecrawl-mcp, is open source (MIT). Pointed at the hosted API, scrape, search and parse work without a key on a rate-limited free tier; crawl and map need one. Pointed at your own Firecrawl with FIRECRAWL_API_URL, it needs no key on the self-host guide's local default.
What are the best alternatives to Firecrawl?
On the same Wikipedia page: Crawl4AI 74,896 tokens (open source, runs in Docker), Tavily 97,504, Jina Reader 94,415, FATSEARCH 1,384 in three reads. Firecrawl itself returned 112,517 hosted and 107,332 self-hosted. Our Firecrawl alternatives page has the hosted readers, the open-source page the self-run ones.
Try FATSEARCH on your own pages
Free and open source. Bring any one key, or none.
curl -fsSL https://fatsearch.com/install.sh | shnpm i -g fatsearchbrew install fatsearch/tap/fatsearchcargo install --locked fatsearchor let your agent do it
Read and follow fatsearch.com/agent-setup/SKILL.md