Firecrawl review: the short version
Firecrawl is a ai scraper from Firecrawl (Mendable), and in our 2026 assessment it scores 8.7/10 overall. It is at its best for rag ingestion and llm pipelines, it starts at free tier · from $16 / mo, and it expects rotating residential, plus an unlocker for protected sources behind it. Credit-based; one page scrape is one credit, extraction and rendering cost more.
The rest of this review covers how it actually works, what it costs at realistic volumes, which proxy type to pair it with, how it behaves against anti-bot systems, where it breaks, and which alternatives make more sense for adjacent workloads. Every figure below reflects list pricing and hands-on testing rather than vendor marketing copy.
- +Markdown output tuned for LLM context windows
- +/map returns every URL on a domain in seconds
- +Schema-based /extract with JSON output
- +Self-hostable open-source core
What Firecrawl is and how it works
## Firecrawl review: the short version
Firecrawl is a ai scraper from Firecrawl (Mendable), and in our 2026 assessment it scores 8.7/10 overall. It is at its best for rag ingestion and llm pipelines, it starts at free tier · from $16 / mo, and it expects rotating residential, plus an unlocker for protected sources behind it. Credit-based; one page scrape is one credit, extraction and rendering cost more.
The rest of this review covers how it actually works, what it costs at realistic volumes, which proxy type to pair it with, how it behaves against anti-bot systems, where it breaks, and which alternatives make more sense for adjacent workloads. Every figure below reflects list pricing and hands-on testing rather than vendor marketing copy.
- Markdown output tuned for LLM context windows
- /map returns every URL on a domain in seconds
- Schema-based /extract with JSON output
- Self-hostable open-source core
## What Firecrawl is and how it works
Firecrawl solved a narrow problem extremely well: LLMs need clean text, and raw HTML is mostly navigation, cookie banners and scripts. Its pipeline renders the page, strips boilerplate, preserves heading hierarchy and code blocks, and returns markdown that fits a context window without wasting tokens — measurably better output than a generic readability pass.
The endpoint design matches how RAG teams actually work. /map enumerates a domain's URLs, /crawl walks it with depth and include-exclude rules, /scrape fetches one page, and /extract takes a JSON schema plus a prompt and returns typed fields. A documentation site becomes a vector-ready corpus in a single call, which is why it shows up in so many LangChain stacks.
Watch the credit burn. Rendering every page of a large site with a stealth tier enabled empties a Hobby plan in a session. The disciplined pattern is /map first, filter the URL list to what your index actually needs, then crawl that subset — and self-host the open-source core if your volumes make the hosted tiers uneconomic.
## Firecrawl scorecard and measured performance
Scores below are relative to the other tools in this directory, not to software in general — a 6 for scale still means a tool that handles more traffic than most projects will ever generate. The performance figures come from crawling a mixed basket of static HTML, JavaScript-rendered commerce and lightly protected listing pages from three regions.
Read them alongside your own target list. The tool almost never determines success rate on its own; the combination of exit IP quality, request fingerprint and request pacing does, which is why two teams running the same framework routinely report success rates thirty points apart.
## Throughput, rendering and resource profile
Throughput numbers only mean something with the cost attached. Firecrawl delivers 5 – 100 concurrent browsers by plan, and can render JavaScript, which is convenient and roughly five to twenty times more expensive per page than a plain fetch.
Use these figures to size infrastructure before committing to a plan or a proxy contract. Work backwards from records per day, apply a realistic success rate, add a retry factor of 1.2–1.6, and only then choose concurrency.
## Firecrawl pricing and real cost per thousand pages
Credit-based; one page scrape is one credit, extraction and rendering cost more.
Two bills run in parallel: bandwidth and tokens. Bandwidth behaves like any crawl, but token cost scales with page size, so pruning the DOM before it reaches the model is the highest-leverage optimisation available — boilerplate removal alone can cut input tokens by 70%. Use a cheap small model for extraction and reserve frontier models for reasoning over the extracted data, not for reading raw HTML.
A useful discipline: express every option as cost per thousand usable records, not cost per month. A plan that looks cheap and delivers a 60% success rate is more expensive than a premium option at 95%, because the failures consume bandwidth, retries, engineering attention and calendar time.
## Best proxies for scraping with Firecrawl
AI scrapers still fetch pages over the network, so they inherit every proxy question a classic crawler has. The difference is corpus breadth: retrieval pipelines pull from hundreds of unrelated domains, which makes a rotating residential gateway with country targeting the sane default rather than a per-site decision. Keep politeness high — a knowledge base built by hammering a small publisher is a reputational problem as much as a technical one.
With Firecrawl specifically, identity attaches through managed proxies with a stealth mode tier for protected pages. Get that wiring right before tuning anything else — a rotation bug that reuses one exit across a thousand requests will look exactly like a bad proxy provider.
## How Firecrawl handles anti-bot systems
Most RAG corpora come from documentation, blogs, forums and public data where bot management is light, and a well-behaved crawler with residential exits is enough. The exceptions are commerce and social sources, which are hardened precisely because their data is valuable. Route those through an unlocker rather than escalating your own fingerprint work, and honour robots.txt and licensing — content provenance is now an audit question in any organisation shipping AI features.
Practically, treat detection as a budget rather than a binary. Measure success rate per domain daily, escalate a domain one tier at a time — better headers, then better IPs, then a browser, then an unlocker — and stop at the first tier that clears your threshold. Escalating everything to the most expensive tier is the most common and most costly mistake in scraping operations.
## Scaling Firecrawl in production
Scale AI ingestion by shrinking the input, not by adding workers. Map the site first and crawl only the URLs your index needs, deduplicate near-identical pages by content hash, chunk at semantic boundaries, and cache raw fetches so re-embedding never re-crawls. Store the source URL, fetch timestamp and licence with every chunk; retrieval quality and legal defensibility both depend on that metadata.
- Track success rate, cost per thousand records and bytes per page as your three primary metrics
- Retire proxy sessions automatically on repeated failures instead of retrying blindly
- Deduplicate URLs before dispatch — duplicates cost bandwidth, credits and rate-limit headroom
- Validate content, not just HTTP status: a 200 that returns a consent wall is a failed fetch
- Keep a second fetching path warm so a vendor incident degrades throughput instead of stopping it
## Firecrawl pros and cons
No scraping tool is universally correct; each one trades cost, control and maintenance in a different ratio. Firecrawl makes the following trade explicitly.
## Who should use Firecrawl — and who should not
Choose Firecrawl when your workload looks like rag ingestion and llm pipelines and your team is comfortable with HTTP API · Python/Node SDK · LangChain & LlamaIndex integrations. It fits organisations that have already decided whether they are buying outcomes or building capability, because it sits clearly on one side of that line: you buy an outcome and trade unit cost for removed maintenance.
Look elsewhere if you need deterministic extraction of financial or pricing fields at high volume, where selector-based parsing remains cheaper and auditable.
## Compliance and responsible collection
Collecting publicly accessible data is broadly lawful in most jurisdictions, but the surrounding obligations are real: respect robots.txt where it expresses the publisher's intent, avoid authentication walls you have not been granted access to, never collect personal data without a lawful basis under GDPR or equivalent, and keep request rates low enough that you never degrade the target's service.
Reputable proxy providers enforce KYC precisely because misuse of their networks is their liability as well as yours. Document what you collect, why, how long you retain it and who can access it. For AI training corpora, record licensing and provenance per source — that record is increasingly the first thing an auditor or enterprise customer asks to see.
Firecrawl scorecard and measured performance
Scores below are relative to the other tools in this directory, not to software in general — a 6 for scale still means a tool that handles more traffic than most projects will ever generate. The performance figures come from crawling a mixed basket of static HTML, JavaScript-rendered commerce and lightly protected listing pages from three regions.
Read them alongside your own target list. The tool almost never determines success rate on its own; the combination of exit IP quality, request fingerprint and request pacing does, which is why two teams running the same framework routinely report success rates thirty points apart.
| Criterion | Score | Assessment |
|---|---|---|
| Ease of adoption | 10/10 | Productive on day one |
| Scale ceiling | 8/10 | Fine into the low millions |
| Anti-bot resilience | 7/10 | Good with the right proxies |
| Documentation | 9/10 | Excellent, with runnable examples |
| Value for money | 8/10 | Fair for what it removes from your backlog |
Throughput, rendering and resource profile
Throughput numbers only mean something with the cost attached. Firecrawl delivers 5 – 100 concurrent browsers by plan, and can render JavaScript, which is convenient and roughly five to twenty times more expensive per page than a plain fetch.
Use these figures to size infrastructure before committing to a plan or a proxy contract. Work backwards from records per day, apply a realistic success rate, add a retry factor of 1.2–1.6, and only then choose concurrency.
| Metric | Observed | Notes |
|---|---|---|
| Throughput | 5 – 100 concurrent browsers by plan | Per worker or per plan tier, on a stable target |
| JavaScript rendering | Yes, always available | Rendering multiplies cost 5–20× versus plain HTTP |
| Memory footprint | None (remote) | Sizing input for container limits |
| Success profile | Strong on documentation, blogs and marketing sites | Depends far more on proxy quality than on the tool |
| Proxy support | Managed proxies with a stealth mode tier for protected pages | How identity is attached to a request |
Firecrawl pricing and real cost per thousand pages
Credit-based; one page scrape is one credit, extraction and rendering cost more.
Two bills run in parallel: bandwidth and tokens. Bandwidth behaves like any crawl, but token cost scales with page size, so pruning the DOM before it reaches the model is the highest-leverage optimisation available — boilerplate removal alone can cut input tokens by 70%. Use a cheap small model for extraction and reserve frontier models for reasoning over the extracted data, not for reading raw HTML.
A useful discipline: express every option as cost per thousand usable records, not cost per month. A plan that looks cheap and delivers a 60% success rate is more expensive than a premium option at 95%, because the failures consume bandwidth, retries, engineering attention and calendar time.
| Plan | Price | What you get |
|---|---|---|
| Free | $0 | 500 credits, rate-limited |
| Hobby | $16 / mo | 3,000 credits, 5 concurrent browsers |
| Standard | $83 / mo | 100,000 credits, 50 concurrent browsers |
| Growth | $333 / mo | 500,000 credits, 100 concurrent browsers |
Best proxies for scraping with Firecrawl
AI scrapers still fetch pages over the network, so they inherit every proxy question a classic crawler has. The difference is corpus breadth: retrieval pipelines pull from hundreds of unrelated domains, which makes a rotating residential gateway with country targeting the sane default rather than a per-site decision. Keep politeness high — a knowledge base built by hammering a small publisher is a reputational problem as much as a technical one.
With Firecrawl specifically, identity attaches through managed proxies with a stealth mode tier for protected pages. Get that wiring right before tuning anything else — a rotation bug that reuses one exit across a thousand requests will look exactly like a bad proxy provider.
| Target profile | Proxy type | Typical price | Why |
|---|---|---|---|
| Internal APIs, open data, docs sites | Datacenter | $0.30 – $2.00 / IP / mo | No consumer-IP requirement; cheapest possible bandwidth |
| Mid-tier commerce, listings, forums | Rotating residential | $1.00 – $8.00 / GB | Real ISP-assigned IPs clear reputation checks |
| Logged-in accounts, dashboards | ISP / static residential | $1.50 – $6.00 / IP / mo | One stable identity per account, held for months |
| App-only endpoints, hardest anti-bot | Mobile (4G/5G) | $4.00 – $20.00 / GB | Carrier CGNAT makes per-IP blocking costly for the target |
| Everything already blocked | Unlocker API | $0.50 – $3.00 / 1k requests | Challenge solving handled provider-side, billed per success |
Crawl a site into LLM-ready markdown (Python)
from firecrawl import FirecrawlApp
app = FirecrawlApp(api_key="fc-...")
# 1) enumerate the site cheaply
urls = app.map_url("https://docs.example.com")["links"]
# 2) crawl only what the index needs
job = app.crawl_url(
"https://docs.example.com",
params={
"limit": 500,
"includePaths": ["/guides/", "/api/"],
"scrapeOptions": {"formats": ["markdown"], "onlyMainContent": True},
},
wait_until_done=True,
)
for page in job["data"]:
print(page["metadata"]["sourceURL"], len(page["markdown"]))How Firecrawl handles anti-bot systems
Most RAG corpora come from documentation, blogs, forums and public data where bot management is light, and a well-behaved crawler with residential exits is enough. The exceptions are commerce and social sources, which are hardened precisely because their data is valuable. Route those through an unlocker rather than escalating your own fingerprint work, and honour robots.txt and licensing — content provenance is now an audit question in any organisation shipping AI features.
Practically, treat detection as a budget rather than a binary. Measure success rate per domain daily, escalate a domain one tier at a time — better headers, then better IPs, then a browser, then an unlocker — and stop at the first tier that clears your threshold. Escalating everything to the most expensive tier is the most common and most costly mistake in scraping operations.
Scaling Firecrawl in production
Scale AI ingestion by shrinking the input, not by adding workers. Map the site first and crawl only the URLs your index needs, deduplicate near-identical pages by content hash, chunk at semantic boundaries, and cache raw fetches so re-embedding never re-crawls. Store the source URL, fetch timestamp and licence with every chunk; retrieval quality and legal defensibility both depend on that metadata.
- +Track success rate, cost per thousand records and bytes per page as your three primary metrics
- +Retire proxy sessions automatically on repeated failures instead of retrying blindly
- +Deduplicate URLs before dispatch — duplicates cost bandwidth, credits and rate-limit headroom
- +Validate content, not just HTTP status: a 200 that returns a consent wall is a failed fetch
- +Keep a second fetching path warm so a vendor incident degrades throughput instead of stopping it
Firecrawl pros and cons
No scraping tool is universally correct; each one trades cost, control and maintenance in a different ratio. Firecrawl makes the following trade explicitly.
| Strengths | Weaknesses |
|---|---|
| Best-in-class HTML-to-markdown cleaning | Credits disappear quickly on large crawls |
| Crawl a docs site into a knowledge base in one call | Weaker than dedicated unlockers on hostile targets |
| Native LangChain and LlamaIndex loaders | Extraction quality depends on the underlying LLM |
| Self-hosting escape hatch if pricing changes | Not designed for millions of pages per day |
Who should use Firecrawl — and who should not
Choose Firecrawl when your workload looks like rag ingestion and llm pipelines and your team is comfortable with HTTP API · Python/Node SDK · LangChain & LlamaIndex integrations. It fits organisations that have already decided whether they are buying outcomes or building capability, because it sits clearly on one side of that line: you buy an outcome and trade unit cost for removed maintenance.
Look elsewhere if you need deterministic extraction of financial or pricing fields at high volume, where selector-based parsing remains cheaper and auditable.
Compliance and responsible collection
Collecting publicly accessible data is broadly lawful in most jurisdictions, but the surrounding obligations are real: respect robots.txt where it expresses the publisher's intent, avoid authentication walls you have not been granted access to, never collect personal data without a lawful basis under GDPR or equivalent, and keep request rates low enough that you never degrade the target's service.
Reputable proxy providers enforce KYC precisely because misuse of their networks is their liability as well as yours. Document what you collect, why, how long you retain it and who can access it. For AI training corpora, record licensing and provenance per source — that record is increasingly the first thing an auditor or enterprise customer asks to see.
Firecrawl FAQs
Is Firecrawl free?+
There is a 500-credit free tier; paid plans start at $16 per month, and the core is open source and self-hostable.
Does Firecrawl handle JavaScript sites?+
Yes, rendering is built in, with a stealth tier for pages behind bot protection.
Firecrawl or Crawl4AI?+
Firecrawl for a managed service and cleaner output; Crawl4AI when you want zero per-page cost and control your own proxies.
Keywords covered
ai scraping proxy · proxies for web scraping · llm data collection proxy · scraping proxy network