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 row38 hard pages,
ReaderTokens in contextAnswer foundModel billAnswer in the textAgent answered rightTokens per question
FATSEARCH1,384yes$0.002835/3826/382.6k
Crawl4AI74,896yes$0.15———
Firecrawl112,517yes$0.2324/3824/382.8k
Firecrawl self-hosted107,332yes$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.

ToolLicenceAPI keyDoes
FATSEARCHMIT OR Apache-2.0None to read; search needs your Oxylabs or Bright Data keySearch + read (outline, then one section)
Crawl4AIApache-2.0 + attribution clauseNone from a vendor; you set your own server tokenRead + crawl; no web search in the open-source server
FirecrawlHosted service; its open-source core is AGPL-3.0Yes; scrape, search and parse also work keyless, rate-limitedSearch + read + crawl
Firecrawl self-hostedAGPL-3.0 (server), MIT (firecrawl-mcp)None with auth off, the guide's local defaultSearch + 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)
[![This is a good article. Click here for more information.](https://thumb.wikimedia.org/wikipedia/en/thumb/9/94/Symbol_…
From Wikipedia, the free encyclopedia
General-purpose programming language
| Rust |
| --- |
| [![Rust logo: a capital letter R attached inside a sprocket with teeth on the outside, both black on a white backgroun…
| [Paradigms](https://en.wikipedia.org/wiki/Programming_paradigm "Programming paradigm") | - [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 | sh
npm i -g fatsearch
brew install fatsearch/tap/fatsearch
cargo install --locked fatsearch

or let your agent do it

Read and follow fatsearch.com/agent-setup/SKILL.md