Rank #3 of 8 in Web Scraping APIs
Install
npm install -g firecrawl-cliShowcase


Verified integrations
No integration evidence found in our corpus for this product yet — that means none was found, never that it doesn’t integrate.
By theme — the product's score on each story themeBy theme
Agenticness — how well agents can access and operate the productAgenticnessevidence →
How well agents can access and operate the product
Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti botevidence →
Getting past bot defenses — CAPTCHAs, fingerprinting, blocks
Automation depth — how much of the product can run unattendedAutomation depthevidence →
How much of the product can run unattended
Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experienceevidence →
Day-to-day developer experience — setup friction, docs, debugging, iteration speed
Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction qualityevidence →
How faithfully content is extracted — structure, fidelity, edge cases
Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs renderingevidence →
Handling JavaScript-heavy pages — rendering, waiting, dynamic content
Openness — open source, data portability, and self-hosting storiesOpennessevidence →
Open source, data portability, and self-hosting stories
Output formats — stories about output formats in this arenaOutput formatsevidence →
Stories about output formats in this arena
Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limitsevidence →
Free-tier ceilings, usage caps, and rate limits before you have to pay
Privacy posture — data-handling and privacy storiesPrivacy postureevidence →
Data-handling and privacy stories
Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliabilityevidence →
Behavior under load — scaling limits, uptime, failure handling
Story verdicts — every judged story with its evidenceStory verdicts
What’s free: 18 free · 3 paid · 0 enterprise · 19 not stated in evidence
Follow the green: where the map greys out is where Firecrawl stops today. ✓ full · ~ partial · ! disputed · — none · n/a not applicable.
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
API surface
Drive the product through a documented public API
✓8/10
unlocks → Scoped API keys · Machine-readable spec · Versioning policy · API sandbox · Apply a preset configuration tuned for research agents that returns structured, citable output · The documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in
Subscribe to events via webhooks
✓7/10
Build against official SDKs
~4/10
Issue scoped/least-privilege API credentials for an agent
—–
Connect an agent via an official MCP server
✓8/10
Download a machine-readable API spec (OpenAPI or equivalent)
—0/10
Rely on versioned APIs with a documented deprecation policy
—0/10
Test against a sandbox environment without touching production data
—–
Explore an interactive API reference with runnable examples
—0/10
Agentic features
Delegate tasks to a built-in AI assistant inside the product
~4/10
unlocks → AI insights
Operate the product with natural-language commands
~6/10
Plug MCP servers into this product so it can use their tools
n/an/a
Get AI-generated insights and suggestions from my data inside the product
—–
Set up automations that run autonomously in the background
~5/10
Apply a preset configuration tuned for research agents that returns structured, citable output
—–
The documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in
—–
Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot
Getting past bot defenses — CAPTCHAs, fingerprinting, blocks
Block evasion
Proxy rotation
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience
Day-to-day developer experience — setup friction, docs, debugging, iteration speed
Share scrapers with teammates and manage organizations and role-based permissions
—–
Deployment flexibility
Connect the scraping API to no-code automation platforms like n8n or Zapier through a prebuilt connector
—–
Build scrapers using popular open-source automation libraries like Playwright, Puppeteer, Selenium, or Scrapy
—0/10
Export my scraped data and job configurations in a portable format to migrate to another provider without lock-in
~4/10
Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality
How faithfully content is extracted — structure, fidelity, edge cases
Ai extraction
Scrape a web page with a single API call and get its raw HTML back
✓8/10
Automatically detect and filter personally identifiable information out of scraped content before it reaches storage
—–
Extract text content from PDFs, Word, Excel, and PowerPoint files without hosting them myself
✓8/10
Get automatic captions for images on a page so a text-only model can reason about visual content
—–
Search the web and get full page content from results in a single call instead of just links and snippets
✓8/10
Extract specific fields from a page using CSS or XPath selector rules
—0/10
Extract data from very large tables using intelligent chunking so it fits within processing limits
—–
Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering
Handling JavaScript-heavy pages — rendering, waiting, dynamic content
Headless rendering
Interactive automation
Control the browser viewport width and height when rendering a page
—–
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
Output formats — stories about output formats in this arenaOutput formats
Stories about output formats in this arena
Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits
Free-tier ceilings, usage caps, and rate limits before you have to pay
Cost optimization
Cost transparency
Trade off latency against completeness by controlling exactly when content is returned
~5/10
The maximum concurrent sessions or requests allowed on my pricing tier and the cost to raise that cap
—–
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability
Behavior under load — scaling limits, uptime, failure handling
Rely on adaptive crawling that automatically stops once enough information has been gathered to answer my query
—–
Batch processing
Spin up many concurrent scraping sessions to gather data at scale
~6/10
Configure the crawler to respect robots.txt rules and target-site rate limits automatically
—0/10
Resume a crashed deep crawl from a saved checkpoint instead of restarting from scratch
—–
Check a public status page showing uptime history and past incident postmortems before committing to the service
—–
Scheduling monitoring
Sorted by importance (agentic first) (high → low) · 96/96 stories · click a row’s chevron for the rationale and evidence
Connect an agent via an official MCP server G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | full | 8/10 | Tprobed | |
Drive the product through a documented public API G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | full | 8/10 | Tprobed | |
Delegate tasks to a built-in AI assistant inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | partial | 4/10 | Cclaimed | |
Plug MCP servers into this product so it can use their tools G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | n/a | 0/10 | ||
The documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in G Api quality | data-engineer | Agenticness — how well agents can access and operate the productAgenticness | 3 | none | untested | none yet | |
Point an agent at llms.txt or agent-oriented docs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 7/10 | Tprobed | |
Subscribe to events via webhooks G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 7/10 | Cclaimed | |
Use an official CLI G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 7/10 | Tprobed | |
Operate the product with natural-language commands G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 6/10 | Tprobed | |
Run the product headlessly / in CI for automation G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 6/10 | Tprobed | |
Set up automations that run autonomously in the background G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 5/10 | Tprobed | |
Build against official SDKs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 4/10 | Tprobed | |
Download a machine-readable API spec (OpenAPI or equivalent) G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Explore an interactive API reference with runnable examples G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Rely on versioned APIs with a documented deprecation policy G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Apply a preset configuration tuned for research agents that returns structured, citable output C Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Get AI-generated insights and suggestions from my data inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Issue scoped/least-privilege API credentials for an agent G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Test against a sandbox environment without touching production data G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 1 | none | untested | none yet | |
Crawl an entire website and get content from all its pages with one request C Site crawling | developer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 3 | full | 9/10 | Cclaimed | |
Receive scraped content as clean markdown instead of raw HTML C Content formats | developer | Output formats — stories about output formats in this arenaOutput formats | 3 | fullfree | 9/10 | Cclaimed | |
Receive scraped content as structured JSON C Content formats | developer | Output formats — stories about output formats in this arenaOutput formats | 3 | fullfree | 9/10 | Cclaimed | |
Batch scrape thousands of URLs asynchronously C Batch processing | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 3 | fullpaid | 8/10 | Cclaimed | |
Get clean LLM-ready text directly instead of dealing with blocking, rendering, and messy HTML myself C Llm ready output | ai-native user | Output formats — stories about output formats in this arenaOutput formats | 3 | fullfree | 8/10 | Xcommunity | |
Scrape a web page with a single API call and get its raw HTML back C Basic scraping | developer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 3 | fullfree | 8/10 | Xcommunity | |
Search the web and get full page content from results in a single call instead of just links and snippets C Search integration | developer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 3 | fullfree | 8/10 | Cclaimed | |
Render JavaScript-heavy single-page applications and get the fully rendered HTML C Headless rendering | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 3 | fullfree | 7/10 | Xcommunity | |
Script page interactions like clicking, filling inputs, and scrolling before content is returned C Interactive automation | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 3 | fullfree | 7/10 | Cclaimed | |
Extract structured data from a page using natural language instructions instead of writing selectors C Ai extraction | developer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 3 | partial | 6/10 | Cclaimed | |
Self-host the core product G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | partialfree | 6/10 | Xcommunity | |
Spin up many concurrent scraping sessions to gather data at scale C Concurrency | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 3 | partialpaid | 6/10 | Xcommunity | |
Export all of my data in open formats and leave G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | partialfree | 5/10 | Xcommunity | |
Export my scraped data and job configurations in a portable format to migrate to another provider without lock-in C Migration lock in | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 3 | partialfree | 4/10 | Xcommunity | |
Define rules that trigger actions automatically on events G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 3 | partial | 3/10 | Cclaimed | |
Extract specific fields from a page using CSS or XPath selector rules C Selector extraction | developer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 3 | none | 0/10 | ||
Route requests through a rotating pool of proxy IPs to avoid blocks C Proxy rotation | developer | Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot | 3 | none | 0/10 | ||
Set a spending cap or usage alert so proxy/credit consumption doesn't silently blow past my budget G Cost transparency | developer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 3 | none | 0/10 | ||
Use an undetected browser mode to bypass sophisticated bot detection systems C Block evasion | developer | Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot | 3 | none | 0/10 | ||
Use premium residential or datacenter proxies to bypass sites that are hard to scrape C Proxy rotation | developer | Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot | 3 | none | 0/10 | ||
Prevent my data from being used to train AI models G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 3 | none | untested | none yet | |
Whether exceeding my plan's monthly credit or request quota triggers overage charges or a hard cutoff G Cost transparency | developer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 3 | none | untested | none yet | |
Extract text content from PDFs, Word, Excel, and PowerPoint files without hosting them myself C Document extraction | data-engineer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 2 | fullfree | 8/10 | Cclaimed | |
Instantly discover all URLs on a website without fully crawling it C Site crawling | developer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | fullfree | 8/10 | Cclaimed | |
Pass a JSON schema so the API returns structured data matching that schema C Ai extraction | developer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 2 | fullfree | 8/10 | Cclaimed | |
Perform bulk operations across many items at once G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | fullpaid | 8/10 | Cclaimed | |
Read the product's source under an open license G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | fullfree | 8/10 | Xcommunity | |
Keep interacting with an already-scraped page, clicking and filling forms to reach content behind a login wall C Interactive automation | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 2 | fullfree | 7/10 | Cclaimed | |
Self-host an open-source version of the scraper instead of relying on a hosted cloud service C Deployment flexibility | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 2 | partialfree | 7/10 | Xcommunity | |
Access a managed remote browser sandbox for interactive, manual browsing workflows C Interactive automation | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 2 | partial | 6/10 | Cclaimed | |
Choose exactly which output format is returned, such as markdown, HTML, text, or frontmatter C Content formats | developer | Output formats — stories about output formats in this arenaOutput formats | 2 | partialfree | 6/10 | Xcommunity | |
Do everything through the API that I can do in the UI G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | partial | 6/10 | Tprobed | |
Have an LLM read a page and decide what structured fields to pull out without pre-written selectors C Ai extraction | ai-native user | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 2 | partialfree | 6/10 | Cclaimed | |
Set how much reasoning effort an autonomous agent spends on a data-gathering task (low, medium, high) C Cost optimization | ai-native user | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 2 | partial | 6/10 | Cclaimed | |
Run a deep crawl using a breadth-first strategy with a configurable maximum page limit C Site crawling | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | partial | 5/10 | Cclaimed | |
Have an agent automatically get past a CAPTCHA, login, or form wall without my manual intervention C Block evasion | ai-native user | Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot | 2 | partial | 4/10 | Xcommunity | |
Automatically retry through a chain of different proxies when anti-bot detection blocks a request C Block evasion | data-engineer | Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot | 2 | none | 0/10 | ||
Build scrapers using popular open-source automation libraries like Playwright, Puppeteer, Selenium, or Scrapy C Library compatibility | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 2 | none | 0/10 | ||
Capture a screenshot of a full page or a specific selected area C Visual capture | developer | Output formats — stories about output formats in this arenaOutput formats | 2 | none | 0/10 | ||
Configure the crawler to respect robots.txt rules and target-site rate limits automatically C Crawl compliance | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | none | 0/10 | ||
Deploy the scraping service via a Docker container for production use C Deployment flexibility | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 2 | none | 0/10 | ||
Monitor target pages for content changes, such as price or listing updates, and get notified as they happen C Scheduling monitoring | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | none | 0/10 | ||
Plug in a local or self-hosted LLM as the extraction backend instead of a cloud-only model C Ai extraction | developer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 2 | none | 0/10 | ||
Request a proxy from a specific country to get geolocation-appropriate content C Proxy rotation | developer | Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot | 2 | none | 0/10 | ||
Request semantically chunked output instead of one large content blob, so it feeds cleanly into a retrieval pipeline C Llm ready output | ai-native user | Output formats — stories about output formats in this arenaOutput formats | 2 | none | 0/10 | ||
Reuse a persistent browser profile with saved cookies and login state across multiple requests C Session persistence | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 2 | none | 0/10 | ||
Route multiple requests through the same proxy IP using a session identifier to maintain a consistent identity P Proxy rotation | developer | Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot | 2 | none | 0/10 | ||
Automatically detect and filter personally identifiable information out of scraped content before it reaches storage C Data safety | data-engineer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 2 | none | untested | none yet | |
Build and deploy custom serverless scraping scripts on the platform without managing my own infrastructure C Deployment flexibility | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 2 | none | untested | none yet | |
Check a public status page showing uptime history and past incident postmortems before committing to the service G Operational transparency | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | none | untested | none yet | |
Choose where my data is stored (region/residency) G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Connect the scraping API to no-code automation platforms like n8n or Zapier through a prebuilt connector C Integrations | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 2 | none | untested | none yet | |
Control data retention and deletion G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Get automatic captions for images on a page so a text-only model can reason about visual content C Multimodal extraction | ai-native user | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 2 | none | untested | none yet | |
Have the API wait for a specific selector to appear before returning the rendered page C Headless rendering | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 2 | none | untested | none yet | |
Let the API automatically pick the cheapest configuration that still succeeds C Cost optimization | developer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 2 | none | untested | none yet | |
Monitor job performance, validate data quality, and receive alerts when something fails C Scheduling monitoring | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | none | untested | none yet | |
Opt out of telemetry and usage tracking G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Pass my own session cookies so the API fetches pages requiring authentication C Session persistence | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 2 | none | untested | none yet | |
Rely on adaptive crawling that automatically stops once enough information has been gathered to answer my query C Ai driven crawling | ai-native user | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | none | untested | none yet | |
Resume a crashed deep crawl from a saved checkpoint instead of restarting from scratch C Fault tolerance | data-engineer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | none | untested | none yet | |
Run a ready-made scraper from a marketplace instead of building one from scratch C Quickstart | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 2 | none | untested | none yet | |
Schedule recurring jobs or workflows G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | none | untested | none yet | |
Schedule scraping jobs to run automatically at specific times C Scheduling monitoring | developer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 2 | none | untested | none yet | |
Share scrapers with teammates and manage organizations and role-based permissions P Collaboration | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 2 | none | untested | none yet | |
The maximum concurrent sessions or requests allowed on my pricing tier and the cost to raise that cap G Plan scale limits | data-engineer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 2 | none | untested | none yet | |
Whether failed, blocked, or empty-result requests still consume my billing quota G Cost transparency | developer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 2 | none | untested | none yet | |
Trade off latency against completeness by controlling exactly when content is returned C Performance tuning | developer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 1 | partial | 5/10 | Cclaimed | |
Apply different crawl configurations to different URL patterns within a single batch job C Batch processing | developer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 1 | none | untested | none yet | |
Block ads on the target page to speed up scraping requests C Cost optimization | developer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 1 | none | untested | none yet | |
Block images and CSS resources by default to reduce bandwidth and speed up requests C Cost optimization | developer | Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits | 1 | none | untested | none yet | |
Control the browser viewport width and height when rendering a page C Render configuration | developer | Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering | 1 | none | untested | none yet | |
Extract data from very large tables using intelligent chunking so it fits within processing limits C Structured data handling | data-engineer | Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality | 1 | none | untested | none yet | |
Monitor live system metrics and worker/browser pool status through a real-time dashboard C Scheduling monitoring | developer | Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability | 1 | none | untested | none yet | |
Publish my custom scraper to a public marketplace and earn revenue when others use it P Quickstart | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 1 | none | untested | none yet | |
Start building immediately using a library of ready-made project templates C Quickstart | developer | Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience | 1 | none | untested | none yet | |
Version, review, and roll back my automations G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 1 | none | untested | none yet |
Opportunities — the stories that would move this product's scores, from its own judged verdictsOpportunitiestop 8 of 76 stories with headroom
What would move Firecrawl’s scores — derived from its own judged verdicts, biggest headroom first. Each line quotes what the judge found missing; shipping it (or evidencing it publicly) is the fix.
Agenticness — how well agents can access and operate the productThe documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in
nonemoves API qualityimpact 45
No evidence pack item documents specific rate limits (requests per second/minute) per API key or plan tier; only general product features and community commentary are present.
Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payWhether exceeding my plan's monthly credit or request quota triggers overage charges or a hard cutoff
nonemoves PA Scoreimpact 30
Missing: any pricing/billing docs describing quota overage policy, hard-stop vs auto-billing behavior, or community reports confirming either.
Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtract specific fields from a page using CSS or XPath selector rules
nonemoves PA Scoreimpact 30
Missing: any mention of CSS selector or XPath rule support in scrape/extract config, docs page confirming selector-based extraction, or independent confirmation of this capability.
Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksUse premium residential or datacenter proxies to bypass sites that are hard to scrape
nonemoves PA Scoreimpact 30
The evidence pack contains no vendor documentation mentioning residential or datacenter proxy support; in fact a community source explicitly states 'Firecrawl...
Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI models
nonemoves PA Scoreimpact 30
No evidence pack item mentions any data-training opt-out, privacy policy on model training use, or data retention/DPA controls for Firecrawl's scraped or user data; the only related community comment raises concerns about scraping others' data, not about protecting the user's own data from AI training use.
Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksRoute requests through a rotating pool of proxy IPs to avoid blocks
nonemoves PA Scoreimpact 30
No first-party documentation or GitHub evidence claims a rotating proxy pool feature; in fact community commentary explicitly states Firecrawl 'don't have proxy service which is the heart of any crawler and scraper.' Without vendor claims to dispute, this is simply unevidenced.
Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to paySet a spending cap or usage alert so proxy/credit consumption doesn't silently blow past my budget
nonemoves PA Scoreimpact 30
No evidence of spending caps, budget alerts, or usage-limit notifications; community comments even describe unexpectedly high consumption ('10gb of proxy gone in two days') with no mention of a cap/alert mechanism to prevent overage.
Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksUse an undetected browser mode to bypass sophisticated bot detection systems
nonemoves PA Scoreimpact 30
Missing: explicit stealth/undetected browser mode docs, technical details on bypassing bot detection (fingerprint spoofing, TLS/JA3 randomization, etc.), independent verification of bypass success.
Showing the top 8 of 76 — every none/partial verdict in the story verdicts table is headroom.
Think a verdict is wrong? Every verdicts-table row has a Flag link — see the methodology.
Coverage map — which docs area, API section, or community source covers which judged storiesCoverage map6 surfaces · 40 covered stories
Where the cited evidence behind each covered verdict came from — the same citations the verdicts table shows, no extra judging.
docs.firecrawl.dev31 stories
- Run the product headlessly / in CI for automation
- Connect an agent via an official MCP server
- Use an official CLI
- Drive the product through a documented public API
- Build against official SDKs
- Subscribe to events via webhooks
- Set up automations that run autonomously in the background
- Operate the product with natural-language commands
- Have an agent automatically get past a CAPTCHA, login, or form wall without my manual intervention
- Perform bulk operations across many items at once
- Define rules that trigger actions automatically on events
- Export my scraped data and job configurations in a portable format to migrate to another provider without lock-in
- Extract structured data from a page using natural language instructions instead of writing selectors
- Pass a JSON schema so the API returns structured data matching that schema
- Have an LLM read a page and decide what structured fields to pull out without pre-written selectors
- Scrape a web page with a single API call and get its raw HTML back
- Extract text content from PDFs, Word, Excel, and PowerPoint files without hosting them myself
- Search the web and get full page content from results in a single call instead of just links and snippets
- Render JavaScript-heavy single-page applications and get the fully rendered HTML
- Access a managed remote browser sandbox for interactive, manual browsing workflows
- Keep interacting with an already-scraped page, clicking and filling forms to reach content behind a login wall
- Script page interactions like clicking, filling inputs, and scrolling before content is returned
- Do everything through the API that I can do in the UI
- Export all of my data in open formats and leave
- Receive scraped content as clean markdown instead of raw HTML
- Choose exactly which output format is returned, such as markdown, HTML, text, or frontmatter
- Receive scraped content as structured JSON
- Get clean LLM-ready text directly instead of dealing with blocking, rendering, and messy HTML myself
- Trade off latency against completeness by controlling exactly when content is returned
- Batch scrape thousands of URLs asynchronously
- Spin up many concurrent scraping sessions to gather data at scale
GitHub README26 stories
- Run the product headlessly / in CI for automation
- Connect an agent via an official MCP server
- Drive the product through a documented public API
- Set up automations that run autonomously in the background
- Delegate tasks to a built-in AI assistant inside the product
- Operate the product with natural-language commands
- Perform bulk operations across many items at once
- Self-host an open-source version of the scraper instead of relying on a hosted cloud service
- Export my scraped data and job configurations in a portable format to migrate to another provider without lock-in
- Extract structured data from a page using natural language instructions instead of writing selectors
- Pass a JSON schema so the API returns structured data matching that schema
- Have an LLM read a page and decide what structured fields to pull out without pre-written selectors
- Search the web and get full page content from results in a single call instead of just links and snippets
- Do everything through the API that I can do in the UI
- Export all of my data in open formats and leave
- Read the product's source under an open license
- Self-host the core product
- Receive scraped content as structured JSON
- Get clean LLM-ready text directly instead of dealing with blocking, rendering, and messy HTML myself
- Set how much reasoning effort an autonomous agent spends on a data-gathering task (low, medium, high)
- Trade off latency against completeness by controlling exactly when content is returned
- Batch scrape thousands of URLs asynchronously
- Spin up many concurrent scraping sessions to gather data at scale
- Run a deep crawl using a breadth-first strategy with a configurable maximum page limit
- Crawl an entire website and get content from all its pages with one request
- Instantly discover all URLs on a website without fully crawling it
Hacker News13 stories
- Run the product headlessly / in CI for automation
- Use an official CLI
- Have an agent automatically get past a CAPTCHA, login, or form wall without my manual intervention
- Self-host an open-source version of the scraper instead of relying on a hosted cloud service
- Export my scraped data and job configurations in a portable format to migrate to another provider without lock-in
- Scrape a web page with a single API call and get its raw HTML back
- Render JavaScript-heavy single-page applications and get the fully rendered HTML
- Export all of my data in open formats and leave
- Read the product's source under an open license
- Self-host the core product
- Choose exactly which output format is returned, such as markdown, HTML, text, or frontmatter
- Get clean LLM-ready text directly instead of dealing with blocking, rendering, and messy HTML myself
- Spin up many concurrent scraping sessions to gather data at scale
Sdks docs5 stories
llms.txt2 stories
Probe proofs — replayable recordings from the probe harnessProbe proofs
Replayable recordings from our probe harness — see the Prove-It protocol to submit one.
$playwright: load https://docs.firecrawl.dev/api-reference/endpoint/scrape and locate the documented POST https://api.firecrawl.dev/v2/scrape endpointreproducedClaims vs evidence — vendor claims reconciled against independent verdictsClaims vs evidence
5 of 16 testable claims verified · 0 contradicted → integrity 31/100
15 distinct capability claims found in Firecrawl’s own claimed-docs/GitHub materials, reconciled against our judge’s independent verdicts.
5
Verified
11
Unverified
0
Contradicted
24
Undersold
Verified (5)
“Extract content from any URL as markdown, HTML, or structured JSON”
Choose exactly which output format is returned, such as markdown, HTML, text, or frontmatterpartialproof ↗
“One command installs an official CLI, authenticates via browser, and adds skills to detected coding agents”
“Provides an MCP Server to connect Firecrawl to any AI tool via Model Context Protocol”
“An AI agent can search, navigate, and retrieve information from a natural-language description without needing URLs”
Operate the product with natural-language commandspartialproof ↗
“Open source under AGPL-3.0 license, with an additional-feature cloud version available”
Self-host an open-source version of the scraper instead of relying on a hosted cloud servicepartialproof ↗
Unverified (11)
“Search the web and get full page content from results in one call”
Search the web and get full page content from results in a single call instead of just links and snippetsfullproof ↗
“After scraping, can click, fill forms, extract dynamic content, or navigate deeper on the page”
Script page interactions like clicking, filling inputs, and scrolling before content is returnedfullproof ↗
“After scraping, can click, fill forms, extract dynamic content, or navigate deeper on the page”
Keep interacting with an already-scraped page, clicking and filling forms to reach content behind a login wallfullproof ↗
“Lets you set how much reasoning effort the agent spends on a task”
Set how much reasoning effort an autonomous agent spends on a data-gathering task (low, medium, high)partialproof ↗
“Can crawl an entire website and get content from all its pages”
Crawl an entire website and get content from all its pages with one requestfullproof ↗
“Can instantly discover all URLs on a website”
Instantly discover all URLs on a website without fully crawling itfullproof ↗
“Can scrape thousands of URLs asynchronously in batch”
“Converts local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
Extract text content from PDFs, Word, Excel, and PowerPoint files without hosting them myselffullproof ↗
“Supports webhooks for asynchronous event delivery”
“Accepts a schema to return structured data matching it”
Pass a JSON schema so the API returns structured data matching that schemafullproof ↗
“Provides a managed browser sandbox for interactive scraping workflows”
Access a managed remote browser sandbox for interactive, manual browsing workflowspartialproof ↗
Undersold (24)
Point an agent at llms.txt or agent-oriented docsfullproof ↗
Run the product headlessly / in CI for automationpartialproof ↗
Drive the product through a documented public APIfullproof ↗
Set up automations that run autonomously in the backgroundpartialproof ↗
Delegate tasks to a built-in AI assistant inside the productpartialproof ↗
Have an agent automatically get past a CAPTCHA, login, or form wall without my manual interventionpartialproof ↗
Perform bulk operations across many items at oncefullproof ↗
Define rules that trigger actions automatically on eventspartialproof ↗
Export my scraped data and job configurations in a portable format to migrate to another provider without lock-inpartialproof ↗
Extract structured data from a page using natural language instructions instead of writing selectorspartialproof ↗
Have an LLM read a page and decide what structured fields to pull out without pre-written selectorspartialproof ↗
Scrape a web page with a single API call and get its raw HTML backfullproof ↗
Render JavaScript-heavy single-page applications and get the fully rendered HTMLfullproof ↗
Do everything through the API that I can do in the UIpartialproof ↗
Export all of my data in open formats and leavepartialproof ↗
Receive scraped content as clean markdown instead of raw HTMLfullproof ↗
Get clean LLM-ready text directly instead of dealing with blocking, rendering, and messy HTML myselffullproof ↗
Trade off latency against completeness by controlling exactly when content is returnedpartialproof ↗
Spin up many concurrent scraping sessions to gather data at scalepartialproof ↗
Run a deep crawl using a breadth-first strategy with a configurable maximum page limitpartialproof ↗
Pricing signals
- $5per 1k pagespay-as-you-goPay-as-you-go increment on Hobby plan: $5 buys 1,000 credits, and Scrape/Crawl/Map each cost 1 credit per page, so this equals $5 per 1,000 pages scraped on that plan.source ↗as of 2026-09-07
- freeper 1k pagesfree tierFree plan includes 1,000 credits/month, equivalent to about 1,000 pages scraped, no card required.source ↗as of 2026-09-07
- $16per month (entry plan)entry planCheapest paid plan (Hobby), billed yearly, includes 5,000 credits/month (~5,000 pages scraped or 2,500 searches).source ↗as of 2026-09-07
Extracted verbatim from the vendor’s own pricing page — hover a figure for the exact quote.
Business model
Core scraper is open-source (AGPL); the hosted cloud API is sold via subscription credit tiers, with a free tier included.
pricing ↗Score trend
How this product’s scores have moved as evidence and verdicts are re-derived — a point per change, not per day.
Flag
⚑ Flag a verdictThink a verdict is wrong? Opens a prefilled GitHub issue — or use the ⚑ next to any verdict above.
For agents
Agent surface uptime llms.txt 100% (30d, checked every 6h since Sep 8 '26)
