Firecrawl vs Jina Reader
Firecrawl
Mendable AI, Inc.
Firecrawl wins · 25–18 (51 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round to FirecrawlA direct probe confirms Firecrawl publishes a working llms.txt at docs.firecrawl.dev/llms.txt with structured agent-readable documentation links, letting an AI agent be pointed directly at it to navigate Firecrawl's docs. Missing for 10: explicit first-party announcement/documentation describing llms.txt support as a deliberate feature, and independent community confirmation of agents successfully using it.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.firecrawl.dev/llms.txt # Firecrawl Docs ## English ### v2 #### Documentation ##### Get Started …”
Jina Reader's core function—converting any URL to LLM-friendly markdown (r.jina.ai/<url>)—technically lets an agent fetch llms.txt or agent-oriented docs pages and get clean text, and the 'research' preset is explicitly aimed at AI research agents needing structured, citable output. But there is no evidence of llms.txt-specific parsing/discovery, sitemap-style agent doc crawling, or first-party guidance for this workflow, and a probe shows Jina's own site lacks an llms.txt (404), undercutting any implied endorsement of the convention. missing for 10: explicit llms.txt/agent-doc support or examples, first-party documentation naming this use case, evidence Jina practices llms.txt on its own docs.
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [probe] “PROBE llms.txt: HTTP 404 at https://jina.ai/llms.txt”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round drawnFirecrawl offers an API-first product (async scraping, webhooks, CLI, SDKs) that is well-suited to headless/CI use, and docs confirm a CLI and webhook-based async event delivery for automation pipelines. However, there's no explicit CI-specific documentation (e.g., GitHub Actions examples, Docker image for CI), and community comments note some daemon/CLI limitations rather than confirming robust CI usage. missing for 10: explicit CI/headless deployment docs or examples, independent confirmation of stable CLI/daemon behavior in automated pipelines, containerization guidance for CI environments.
- [claimed-docs] “Webhooks Async event delivery”
- [probe] “official CLI documented at https://docs.firecrawl.dev/sdks/cli”
- [github] “Scrape thousands of URLs asynchronously”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
Jina Reader is a plain HTTP endpoint and also ships a self-hostable Docker image bundling headless Chrome/LibreOffice, making it straightforward to script and run in CI pipelines (curl, headers for output control). However, community reports show real-world automation attempts hitting 401/404 errors, and there is no first-party CI/automation guide or examples. missing for 10: explicit CI/CD documentation or examples, rate-limit/reliability guarantees for unattended use, and resolution of the reported auth/404 failures in automated contexts.
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
- [community] “TB – super-fast text-only browser using Jina Reader API: Does not work (404 not found), return to your vibe code session and try again.”
- [community] “{"code":401,"name":"AuthenticationRequiredError","message":"Authentication is required to use this endpoint. Please provide a valid API key …”
- [community] “readableMessage: AuthenticationRequiredError: Authentication is required to use this endpoint. Please provide a valid API key via Authorizat…”
ai-native userConnect an agent via an official MCP server
weight 3 · round to FirecrawlFirecrawl is a scraping/data-extraction service (not itself an agent), and it documents an official MCP server for connecting AI tools/agents to Firecrawl, corroborated by a dedicated GitHub repo (firecrawl-mcp-server). Missing for 10: independent hands-on testing of the MCP server itself and details on tool/resource coverage exposed via MCP.
- [claimed-docs] “MCP Server: Connect Firecrawl to any AI tool via the Model Context Protocol”
- [probe] “official MCP server documented at https://github.com/mendableai/firecrawl-mcp-server”
Jina explicitly documents an official MCP server repository (jina-ai/MCP) that would expose Reader's capabilities to agents, but the evidence pack lacks first-party details on setup, tool list, or hands-on/independent corroboration of its use. missing for 10: detailed MCP server docs/tool schema, hands-on or community verification of the MCP server working end-to-end.
- [probe] “official MCP server documented at https://github.com/jina-ai/MCP”
ai-native userUse an official CLI
weight 2 · round to FirecrawlFirecrawl ships an official CLI (docs.firecrawl.dev/sdks/cli) that installs, authenticates, and adds skills to coding agents, directly matching an AI-native CLI story. However, community feedback notes real limitations in CLI/daemon mode (e.g., inability to return HTML), suggesting it's not fully mature. Missing for 10: independent hands-on verification of full CLI feature parity, and no comparison data beyond one critical community comment.
- [claimed-docs] “One command installs the Firecrawl CLI, authenticates in your browser, and adds skills to every detected coding agent.”
- [probe] “official CLI documented at https://docs.firecrawl.dev/sdks/cli”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
Jina Readernone0/10The evidence pack shows Jina Reader as an HTTP API/service (curl-based usage, headers like x-respond-with, x-preset) and a self-hostable Docker image, but there is no mention of an official dedicated CLI tool for interacting with Reader. No evidence names a packaged command-line binary or npm/pip CLI client.
ai-native userDrive the product through a documented public API
weight 3 · round drawnFirecrawl is API-first: docs cover scrape/crawl/search/extract endpoints, schema-based structured output, webhooks, and SDKs/CLI, all confirmed by an extensive llms.txt-indexed documentation site and GitHub feature list. Missing for 10: a discoverable machine-readable OpenAPI/Swagger spec (probe returned 404s) and independent third-party confirmation of API completeness.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Search the web and get full page content from results in one call.”
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
- [github] “Use a schema to get structured data:”
- [claimed-docs] “Webhooks Async event delivery”
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.firecrawl.dev/llms.txt # Firecrawl Docs ## English ### v2 #### Documentation ##### Get Started …”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.firecrawl.dev/openapi.json, https://docs.firecrawl.dev/swagger.json, https://docs.firec…”
- [probe] “official CLI documented at https://docs.firecrawl.dev/sdks/cli”
Jina Reader ships an extensively documented public HTTP API (r.jina.ai) with numerous header-controlled options (output format, presets, chunking, cookies, JSON schema extraction, proxy routing) all detailed in first-party GitHub docs, directly enabling programmatic/agentic use. Missing for 10: a discoverable machine-readable spec (OpenAPI/swagger probes returned 404, llms.txt 404), and independent confirmation beyond community auth-error reports which reflect expected key requirements rather than API failure.
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
- [github] “`x-markdown-chunking` — opt-in semantic chunking of the markdown response. Returns a JSON array (or ``-delimited text) of chunks instead of …”
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
- [probe] “PROBE llms.txt: HTTP 404 at https://jina.ai/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://jina.ai/openapi.json, https://jina.ai/swagger.json, https://jina.ai/api/openapi.json, https:…”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round drawnFirecrawlnone0/10No evidence of scoped or least-privilege API key/credential management for agents; documentation covers scraping, crawling, MCP, CLI, and webhooks but nothing about API key scopes, permissions, or credential issuance controls.
ai-native userBuild against official SDKs
weight 2 · round to FirecrawlThe only concrete artifact tied to 'SDKs' in the evidence is the CLI documented at docs.firecrawl.dev/sdks/cli, implying an SDKs section exists, but no evidence pack item names or links a Python/Node/other language SDK, shows install/usage snippets, or corroborates community usage. Missing for 10: explicit language SDK docs/links, code examples, independent/community confirmation of SDK usage.
- [probe] “official CLI documented at https://docs.firecrawl.dev/sdks/cli”
- [claimed-docs] “One command installs the Firecrawl CLI, authenticates in your browser, and adds skills to every detected coding agent.”
Jina Readernone0/10The evidence pack documents Jina Reader purely as an HTTP endpoint (curl-style requests with custom headers like x-respond-with, x-preset, x-json-schema) and an OpenAPI/llms.txt probe that both 404'd — there is no mention of an official Python/JS/other SDK package for building against it.
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
- [probe] “PROBE llms.txt: HTTP 404 at https://jina.ai/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://jina.ai/openapi.json, https://jina.ai/swagger.json, https://jina.ai/api/openapi.json, https:…”
ai-native userSubscribe to events via webhooks
weight 2 · round to FirecrawlFirecrawl's docs explicitly document a Webhooks feature for async event delivery, directly matching the story. Missing for 10: details on event types, payload schema, retry/security guarantees, and independent/hands-on confirmation of webhook usage.
- [claimed-docs] “Webhooks Async event delivery”
Agentic features
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · round drawnFirecrawlnone0/10The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)
ai-native userSet up automations that run autonomously in the background
weight 2 · round to FirecrawlFirecrawl supports webhooks for async event delivery and crawling jobs that run without blocking, which enables background/autonomous data-retrieval workflows, and its MCP server/CLI let agents trigger these jobs programmatically. However there's no evidence of a scheduling/trigger system (e.g., cron-like recurring jobs) or persistent autonomous 'automation' orchestration beyond one-off crawl/extract jobs with webhook callbacks. Missing for 10: scheduled/recurring job support, autonomous multi-step automation orchestration, independent confirmation of long-running background automation reliability.
- [claimed-docs] “Webhooks Async event delivery”
- [github] “Scrape thousands of URLs asynchronously”
- [claimed-docs] “MCP Server: Connect Firecrawl to any AI tool via the Model Context Protocol”
- [probe] “official MCP server documented at https://github.com/mendableai/firecrawl-mcp-server”
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · round to FirecrawlFirecrawl exposes an 'AI agent' mode where a user describes what they need and the agent searches/navigates/retrieves without URLs, with configurable reasoning effort (firecrawl-gh-1, firecrawl-gh-2) — a limited form of task delegation to an embedded AI. However, this is a narrow scraping/search agent, not a general-purpose in-product assistant, and there's no evidence of a broader conversational assistant UI for delegating arbitrary tasks. Missing for 10: evidence of a general-purpose conversational assistant interface, examples of delegated multi-step tasks beyond search/navigate, and independent confirmation of this agent's real-world reliability.
ai-native userOperate the product with natural-language commands
weight 2 · round drawnFirecrawl offers a natural-language 'search agent' mode ('Describe what you need... No URLs required') and lets users tune agent reasoning effort, which supports NL-driven operation, and its MCP/CLI integrations let AI agents invoke it conversationally through coding assistants. However, most of the product's core surface (scrape, crawl, extract, map) is still driven by structured API calls/schemas rather than free-form natural language commands. Missing for 10: evidence of full NL command coverage across all core endpoints (not just the search agent), and independent hands-on confirmation that NL commands reliably work end-to-end.
- [github] “Describe what you need, and our AI agent searches, navigates, and retrieves it. No URLs required.”
- [github] “Set how much reasoning the agent spends on the task”
- [claimed-docs] “One command installs the Firecrawl CLI, authenticates in your browser, and adds skills to every detected coding agent.”
- [claimed-docs] “MCP Server: Connect Firecrawl to any AI tool via the Model Context Protocol”
- [probe] “official MCP server documented at https://github.com/mendableai/firecrawl-mcp-server”
The `x-instruction` header lets users give natural-language instructions to extract specific fields (via ReaderLM-v2), and the `x-preset: research` bundle is tailored for AI agents, showing some natural-language-driven operation. However, this is limited to extraction/formatting rather than full natural-language control of the whole reading/search pipeline, and there's no independent corroboration of reliability. Missing for 10: broader NL control across all Reader operations (search, fetch, formatting) and third-party validation that x-instruction works robustly.
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
ai-native userApply a preset configuration tuned for research agents that returns structured, citable output
weight 2 · round to Jina ReaderFirecrawlnone0/10Firecrawl offers general scraping, structured JSON extraction, and search, but the evidence pack shows no dedicated preset/mode tuned specifically for research agents that returns citable, source-attributed output — no citation formatting, source-tracking, or research-agent-specific configuration is documented.
The `x-preset: research` option is explicitly documented as being 'for AI research agents needing structured, citable output,' directly matching the story, and complements related features like frontmatter/YAML output and JSON schema extraction for structured data. Missing for 10: independent or hands-on verification that the research preset's output quality/citability holds up in practice beyond the first-party docs.
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnFirecrawlnone0/10No evidence of an interactive API reference or runnable-example playground; the OpenAPI/swagger probe explicitly returned 404s at all candidate paths, and docs items only describe features, not an interactive reference experience.
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.firecrawl.dev/openapi.json, https://docs.firecrawl.dev/swagger.json, https://docs.firec…”
Jina Readernone0/10There is no evidence of an interactive API reference or runnable examples; probes explicitly found no OpenAPI/swagger spec (404s) and no llms.txt, and the documentation snippets only describe headers/params in prose form, not an interactive playground.
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round drawnFirecrawlnone0/10A direct probe for OpenAPI/Swagger spec files at all standard locations (openapi.json, swagger.json, etc.) returned 404s, and no other evidence pack item mentions a downloadable machine-readable API spec; only an llms.txt documentation index was found, which is not an OpenAPI-equivalent spec.
Jina Readernone0/10Direct probes for OpenAPI/Swagger spec files and llms.txt all returned 404, and no evidence pack item shows a downloadable machine-readable API spec being published.
ai-native userTest against a sandbox environment without touching production data
weight 1 · round drawnFirecrawlnone0/10The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnFirecrawlnone0/10The docs reference a 'v2' API version (firecrawl-probe-1), showing some versioning exists, but there is no evidence of a documented deprecation policy, version support timelines, or migration guides, and an OpenAPI spec could not even be located (firecrawl-probe-2). Missing for 10: explicit deprecation policy documentation, versioning/support lifecycle statements, migration guidance for older API versions.
Jina Readernone0/10There is no evidence of API versioning (e.g., /v1/ paths) or a published deprecation policy; probes for OpenAPI spec and llms.txt both 404, and no docs mention version lifecycle commitments. missing for 10: versioned endpoint scheme, documented deprecation/sunset policy, changelog or migration guide.
data-engineerThe documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in
weight 3 · round drawnFirecrawlnone0/10No 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.
Jina Readernone0/10Community evidence explicitly states the website does not mention an API rate limit, and probes for API spec/docs (openapi, llms.txt) return 404s, so no documented RPS/RPM throttling threshold is available.
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
- [probe] “PROBE llms.txt: HTTP 404 at https://jina.ai/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://jina.ai/openapi.json, https://jina.ai/swagger.json, https://jina.ai/api/openapi.json, https:…”
Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot
Getting past bot defenses — CAPTCHAs, fingerprinting, blocks
Block evasion
ai-native userHave an agent automatically get past a CAPTCHA, login, or form wall without my manual intervention
weight 2 · round to FirecrawlFirecrawl's docs support form-filling, clicking, and navigating via a 'Browser Sandbox' for interactive workflows (firecrawl-docs-3, firecrawl-docs-8), and community comments reference actual CAPTCHA 'solves' being consumed at cost (firecrawl-comm-6), suggesting some automated CAPTCHA handling exists in practice. However, there is no first-party documentation explicitly claiming automatic CAPTCHA bypass or login-wall traversal, and community sentiment flags cost/reliability friction rather than seamless unattended operation. Missing for 10: explicit vendor documentation of CAPTCHA-solving/login automation, and independent hands-on confirmation that it reliably completes login flows without manual steps.
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
- [community] “same setup here for news pages. tier 3 is where my money went, 320 solves a day and 10gb of proxy gone in two days.”
- [community] “Quite useful. Currently we do overpay for the services [referring to Firecrawl-like scraping services].”
Reader's SaaS proxy claims to 'handle common anti-bot challenges automatically' and supports forwarding session cookies via X-Set-Cookie for login-walled pages, but neither is documented as solving CAPTCHAs, and cookie-based login still requires the user to manually obtain and supply valid session cookies beforehand. Missing for 10: explicit CAPTCHA-solving capability, fully automatic login/form-wall traversal without any pre-supplied credentials, and independent evidence confirming these anti-bot claims work in practice.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
- [claimed-docs] “Pass your session cookies with the `X-Set-Cookie` header and the Reader forwards them when fetching the URL”
data-engineerAutomatically retry through a chain of different proxies when anti-bot detection blocks a request
weight 2 · round to Jina ReaderFirecrawlnone0/10No evidence describes proxy rotation or anti-bot retry chains; the only relevant community comment explicitly states Firecrawl lacks a proxy service, which is core to bypassing anti-bot blocks.
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
Jina Reader offers a single hosted proxy option (`x-proxy: auto`) that rotates residential/datacenter IPs and handles common anti-bot challenges, but there is no evidence of an automatic retry mechanism chaining through multiple distinct proxy providers/configs on failure. missing for 10: documented retry/fallback logic across a chain of different proxies, evidence of automatic re-attempt after a block, independent confirmation of anti-bot bypass success.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
developerUse an undetected browser mode to bypass sophisticated bot detection systems
weight 3 · round drawnFirecrawlnone0/10Evidence mentions a 'Browser Sandbox' for managed browser sessions and general scraping/crawling features, but there is no documentation or claim of a stealth/undetected browser mode specifically designed to bypass sophisticated bot detection. Community comments (e.g., proxy tiers, captcha solves) hint indirectly at anti-bot infrastructure but do not confirm an official 'undetected mode' feature. missing for 10: explicit stealth/undetected browser mode docs, technical details on bypassing bot detection (fingerprint spoofing, TLS/JA3 randomization, etc.), independent verification of bypass success.
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
- [community] “same setup here for news pages. tier 3 is where my money went, 320 solves a day and 10gb of proxy gone in two days.”
Jina Readernone0/10Evidence shows a rotating IP proxy pool that 'handles common anti-bot challenges automatically' (x-proxy: auto), but there is no mention of an undetected/stealth browser mode, fingerprint spoofing, or bypassing sophisticated bot detection like Cloudflare/Datadome-style challenges. This is a distinct, more specific capability than generic proxy rotation and is unevidenced.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
Proxy rotation
developerRequest a proxy from a specific country to get geolocation-appropriate content
weight 2 · round drawnFirecrawlnone0/10No evidence in the pack shows Firecrawl offering country-specific or geolocation proxy selection; in fact a community comment explicitly states Firecrawl lacks a proxy service entirely, and no docs or GitHub references mention proxy/geolocation features.
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
Jina Readernone0/10Evidence shows a proxy toggle (x-proxy: auto) that rotates residential/datacenter IPs and bypasses anti-bot challenges, but no capability to select or request a proxy from a specific country/geolocation.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
developerUse premium residential or datacenter proxies to bypass sites that are hard to scrape
weight 3 · round to Jina ReaderFirecrawlnone0/10The evidence pack contains no vendor documentation mentioning residential or datacenter proxy support; in fact a community source explicitly states 'Firecrawl... don't have proxy service which is the heart of any crawler and scraper' (firecrawl-comm-3). No official docs or GitHub features reference proxy rotation, IP pools, or anti-bot proxy tiers.
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
Jina Reader offers a hosted SaaS proxy pool (`x-proxy: auto`) that rotates residential/datacenter IPs and auto-handles anti-bot challenges, directly matching the story. Missing for 10: independent/hands-on confirmation of proxy effectiveness against hard-to-scrape sites, and detail on choosing specific proxy types/locations rather than just 'auto'.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
developerRoute requests through a rotating pool of proxy IPs to avoid blocks
weight 3 · round to Jina ReaderFirecrawlnone0/10No 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.
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
Reader documents a hosted proxy feature (`x-proxy: auto`) that rotates residential/datacenter IPs and auto-handles anti-bot challenges, directly matching the story. missing for 10: no independent/hands-on confirmation of rotation behavior or effectiveness against blocks, and no detail on pool size or geographic control.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
developerRoute multiple requests through the same proxy IP using a session identifier to maintain a consistent identity
weight 2 · round drawnFirecrawlnone0/10No evidence that Firecrawl exposes a session-identifier parameter to pin requests to the same proxy IP; the closest evidence is a community comment stating Firecrawl lacks its own proxy service entirely, which undercuts rather than supports this specific anti-bot capability.
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
Jina Readernone0/10Evidence shows a proxy rotation feature (x-proxy: auto) that rotates IPs for anti-bot handling, but there is no mention of a session identifier or sticky-IP mechanism to keep the same proxy IP across multiple requests for a consistent identity.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to FirecrawlFirecrawl explicitly supports bulk operations at scale: crawling entire websites, scraping thousands of URLs asynchronously, batch discovery of URLs, and async webhook delivery for large jobs. This directly matches an AI-native user's need to operate across many items at once. Missing for 10: independent hands-on benchmarks validating throughput/reliability at scale and more detail on rate limits/error handling for bulk jobs.
- [github] “Crawl an entire website and get content from all pages.”
- [github] “Discover all URLs on a website instantly.”
- [github] “Scrape thousands of URLs asynchronously”
- [claimed-docs] “Webhooks Async event delivery”
The search endpoint fetches and converts the top 5 results in one call (jina-reader-gh-2), showing some multi-item processing, but there's no documented bulk/batch API for submitting many arbitrary URLs or files at once beyond single-item POST endpoints (jina-reader-gh-1, jina-reader-gh-3). missing for 10: a dedicated batch/bulk endpoint accepting arbitrary lists of URLs, documented concurrency/rate limits for bulk jobs, and evidence of large-scale automation use.
- [github] “Behind the scenes, Reader searches the web, fetches the top 5 results, visits each URL, and applies `r.jina.ai` to it.”
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [github] “PDFs and MS Office documents (Word, Excel, PowerPoint) can now be POSTed directly via the `file` body field — no need to host them first.”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round to FirecrawlFirecrawl offers webhooks for async event delivery (e.g., notifying when a crawl job completes), which is the only automation-adjacent capability in the evidence; there's no documented rule-definition engine or conditional trigger system for defining custom actions on events. Missing for 10: a rules/trigger engine, conditional logic, or action-chaining beyond simple webhook notifications, and any independent confirmation of automation depth.
- [claimed-docs] “Webhooks Async event delivery”
ai-native userSchedule recurring jobs or workflows
weight 2 · round drawnFirecrawlnone0/10Firecrawl offers webhooks for async event delivery and async crawling/scraping, but there is no evidence of a scheduler or recurring-job/workflow feature (e.g., cron-based crawls or scheduled scrape jobs).
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
Collaboration
developerShare scrapers with teammates and manage organizations and role-based permissions
weight 2 · round drawnFirecrawlnone0/10No evidence pack items mention team collaboration, organizations, workspaces, or role-based access control for sharing scrapers; documentation focuses on scraping, extraction, CLI, and MCP features only.
Deployment flexibility
developerBuild and deploy custom serverless scraping scripts on the platform without managing my own infrastructure
weight 2 · round drawnFirecrawlnone0/10Firecrawl's evidence shows a fixed API/SDK/CLI for scraping, crawling, extracting, and search, plus webhooks and an MCP server — but nothing about writing and deploying custom serverless scripts or actor-style code that runs on Firecrawl's own infrastructure (unlike platforms such as Apify Actors). No docs, GitHub, or community evidence mentions custom script deployment or a functions/actors runtime.
developerDeploy the scraping service via a Docker container for production use
weight 2 · round to Jina ReaderFirecrawlnone0/10The evidence confirms Firecrawl is open source (AGPL-3.0) and self-hostable, but no citation mentions Docker, docker-compose, or containerized deployment instructions for production use.
- [github] “Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features”
A prebuilt GitHub Container Registry image bundling headless Chrome, LibreOffice, and CJK fonts is documented, enabling self-hosted Docker deployment without building from source. However, missing for 10: no production deployment guidance (scaling, orchestration, resource sizing), no independent hands-on confirmation of running the container in production, and no docs on configuration/env vars for the containerized service.
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
developerSelf-host an open-source version of the scraper instead of relying on a hosted cloud service
weight 2 · round to Jina ReaderFirecrawl is explicitly confirmed open source under AGPL-3.0 with the cloud version noted as having 'additional features', confirming self-hosting is possible but with reduced functionality (firecrawl-gh-6). Community commentary corroborates this, noting the self-hosted version lacks the proxy service considered 'the heart' of a scraper and other missing capabilities like screenshots (firecrawl-comm-3, firecrawl-comm-4). Missing for 10: first-party self-hosting setup/docker docs, explicit feature-parity comparison, and independent hands-on confirmation of a smooth self-host deployment experience.
- [github] “Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features”
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
- [community] “Interesting... Looks like it would be good for RAG. Maybe add Ollama support for local hosting?”
GitHub repo explicitly documents an open-source branch with a prebuilt image on GitHub Container Registry bundling headless Chrome, LibreOffice, and CJK fonts so developers can self-host without building from scratch. Missing for 10: independent hands-on report confirming self-hosted deployment works smoothly and details on feature parity vs. the hosted proxy (e.g., anti-bot/x-proxy features noted as SaaS-only).
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
Integrations
developerConnect the scraping API to no-code automation platforms like n8n or Zapier through a prebuilt connector
weight 2 · round drawnFirecrawlnone0/10No evidence of a prebuilt n8n or Zapier connector; docs mention MCP server, CLI, SDKs, and webhooks but nothing about no-code automation platform integrations.
Library compatibility
developerBuild scrapers using popular open-source automation libraries like Playwright, Puppeteer, Selenium, or Scrapy
weight 2 · round drawnFirecrawlnone0/10Firecrawl is a hosted scraping/crawling API with its own primitives (scrape, crawl, extract, browser sandbox) rather than a framework for developers to write Playwright/Puppeteer/Selenium/Scrapy scripts; there is no documented support for plugging in or building on these open-source libraries. A community comment even notes Firecrawl internally uses Puppeteer (not user-selectable) and lacks the openness these libraries provide, contradicting any claim of multi-library dev flexibility.
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
- [github] “Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features”
Migration lock in
developerExport my scraped data and job configurations in a portable format to migrate to another provider without lock-in
weight 3 · round to FirecrawlFirecrawl's outputs (markdown/HTML/structured JSON) are inherently portable formats, and its open-source AGPL-3.0 license means self-hosting/forking is possible, reducing lock-in — but there is no documented feature for exporting job configurations, crawl settings, or webhooks setups for migration to another provider. missing for 10: explicit job-configuration export/import tooling, migration guides, or documented data-portability features beyond raw scrape output formats.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [github] “Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features”
- [community] “Finally, people starting to realize that AGPL means you can just fork and remove everything you don't like (including branding).”
Jina Readernone0/10Jina Reader outputs markdown/JSON per request but there is no evidence of exportable job configuration bundles, batch export tooling, or any portability/migration feature; the evidence pack never mentions exporting data or configs for migration. missing for 10: export/download of scraped data sets, job configuration export, migration tooling or documentation.
Quickstart
developerPublish my custom scraper to a public marketplace and earn revenue when others use it
weight 1 · round drawnFirecrawlnone0/10The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)
developerRun a ready-made scraper from a marketplace instead of building one from scratch
weight 2 · round drawnFirecrawlnone0/10No evidence of a marketplace of ready-made scrapers/templates that developers can pick up and run; Firecrawl's evidence covers building scraping/crawling calls via API, CLI, MCP, and SDKs, not a curated marketplace of pre-built scrapers.
developerStart building immediately using a library of ready-made project templates
weight 1 · round drawnFirecrawlnone0/10Evidence shows CLI, SDKs, MCP server, and API docs, but nothing about a library of ready-made project templates or starter projects to jumpstart development.
Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality
How faithfully content is extracted — structure, fidelity, edge cases
Ai extraction
developerExtract structured data from a page using natural language instructions instead of writing selectors
weight 3 · round drawnFirecrawl's Extract feature lets developers get structured JSON via schemas and its agent can be described in natural language to find/retrieve content without URLs, but the evidence pack shows schema-based extraction more than fully free-form natural-language field extraction replacing selectors. Missing for 10: explicit documentation of prompt-only (no schema) extraction, and independent hands-on confirmation of extraction accuracy.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [github] “Use a schema to get structured data:”
- [github] “Describe what you need, and our AI agent searches, navigates, and retrieves it. No URLs required.”
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
Jina Reader's docs describe an `x-instruction` header that accepts natural-language extraction instructions (alongside a JSON-schema alternative), directly matching the story of skipping selectors, and this is paired with ReaderLM-v2 for field extraction. However, this is a single first-party doc mention with no independent hands-on validation, extraction accuracy examples, or benchmark, and community threads focus on unrelated auth/JS issues rather than confirming this feature's real-world quality. Missing for 10: independent verification of extraction accuracy, example outputs, and confirmation the feature works reliably outside vendor docs.
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
developerPass a JSON schema so the API returns structured data matching that schema
weight 2 · round drawnFirecrawl's docs and GitHub explicitly advertise passing a JSON schema to extract structured data ("Use a schema to get structured data") and general structured JSON extraction from URLs, PDFs, and other formats. Missing for 10: independent/hands-on confirmation of schema-conformance accuracy and edge-case handling beyond vendor docs.
- [github] “Use a schema to get structured data:”
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Turn local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
Docs explicitly describe an x-json-schema header for passing a JSON schema definition that works with ReaderLM-v2 to extract specific fields, directly matching the story. Missing for 10: independent/hands-on verification of schema-conformant output and no worked example showing exact schema-to-output mapping.
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
ai-native userHave an LLM read a page and decide what structured fields to pull out without pre-written selectors
weight 2 · round to Jina ReaderFirecrawl's docs and GitHub note schema-based structured extraction ("Use a schema to get structured data") and general LLM-driven content extraction to JSON, which aligns with selector-free, LLM-decided field extraction. However, evidence doesn't show prompt-only (schema-less) extraction quality, nor independent verification of how well the LLM infers fields without any schema hints. missing for 10: evidence of extraction working from a pure natural-language prompt without any schema, and independent/hands-on validation of extraction accuracy.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [github] “Use a schema to get structured data:”
- [github] “Describe what you need, and our AI agent searches, navigates, and retrieves it. No URLs required.”
Reader explicitly supports `x-instruction` (natural language) and `x-json-schema` headers feeding ReaderLM-v2 to extract specific fields, meaning an LLM/instruction can decide what to pull without pre-written CSS/XPath selectors — directly matching the story. Missing for 10: independent/hands-on verification of extraction quality/accuracy beyond the single first-party doc claim, and no community corroboration of this specific feature working reliably.
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
developerPlug in a local or self-hosted LLM as the extraction backend instead of a cloud-only model
weight 2 · round drawnFirecrawlnone0/10No evidence that Firecrawl allows swapping in a local or self-hosted LLM as the extraction backend; a community comment even suggests adding Ollama support as a future wish, implying it isn't currently offered.
- [community] “Interesting... Looks like it would be good for RAG. Maybe add Ollama support for local hosting?”
Jina Readernone0/10Evidence shows Jina Reader uses fixed VLM captioning and ReaderLM-v2 for structured extraction, with no mention of configuring a local/self-hosted LLM as an alternative extraction backend; the open-source self-hosted image runs Reader's own pipeline (Chrome, LibreOffice) rather than letting users swap in their own LLM.
- [github] “All images on a page that lack an `alt` tag can be auto-captioned by a VLM (vision-language model) and formatted as `![Image [idx]: [VLM_cap…”
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
Basic scraping
developerScrape a web page with a single API call and get its raw HTML back
weight 3 · round to FirecrawlFirst-party docs explicitly state that Firecrawl's scrape endpoint extracts content from any URL as markdown, HTML, or structured JSON in a single call, directly matching the story. A community comment raises a narrow caveat about HTML not being returned in a separate 'daemon mode', but this does not contradict the main scrape API. Missing for 10: independent hands-on confirmation of raw HTML output quality/fidelity for the primary scrape endpoint.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
Jina Readernone0/10Jina Reader's entire design purpose is to convert pages into LLM-friendly Markdown/JSON/frontmatter output (jina-reader-docs-2, jina-reader-gh-5), not raw HTML; no evidence pack item shows an option to return unprocessed raw HTML, and the docs explicitly frame raw scraping as the problem being solved rather than the deliverable.
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
Data safety
data-engineerAutomatically detect and filter personally identifiable information out of scraped content before it reaches storage
weight 2 · round drawnFirecrawlnone0/10No evidence in the pack mentions PII detection, redaction, or filtering capabilities; Firecrawl's documented features cover scraping, extraction, crawling, and structured output but nothing about privacy/PII compliance controls.
Document extraction
data-engineerExtract text content from PDFs, Word, Excel, and PowerPoint files without hosting them myself
weight 2 · round drawnFirecrawl explicitly documents converting local PDFs, DOCX, XLSX, HTML and more into Markdown or structured JSON as a hosted (cloud) service, directly matching the story of extracting text from PDFs/Word/Excel/PowerPoint without self-hosting. Missing for 10: explicit mention of PowerPoint (.pptx) support and independent hands-on confirmation of file-parsing quality/accuracy.
- [claimed-docs] “Turn local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
Jina Reader explicitly supports POSTing PDFs and MS Office (Word, Excel, PowerPoint) files directly via the `file` body field without needing to host them, and the self-hosted image bundles LibreOffice to process these office formats. Community evidence shows some auth/404 issues but none specifically contradict document-extraction functionality. Missing for 10: independent hands-on verification of extraction quality/fidelity across all four file types and no detail on limits (file size, complex formatting).
- [github] “PDFs and MS Office documents (Word, Excel, PowerPoint) can now be POSTed directly via the `file` body field — no need to host them first.”
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
Multimodal extraction
ai-native userGet automatic captions for images on a page so a text-only model can reason about visual content
weight 2 · round to Jina ReaderFirecrawlnone0/10No evidence Firecrawl generates automatic image captions or alt-text descriptions for visual content; evidence only covers text/HTML/markdown extraction, crawling, and structured data extraction.
Jina Reader explicitly auto-captions images lacking alt tags using a VLM and formats them inline as markdown, directly enabling text-only models to reason about visual content. Missing for 10: independent/hands-on verification of caption quality and no mention of configurability or coverage for images with existing (but poor) alt text.
- [github] “All images on a page that lack an `alt` tag can be auto-captioned by a VLM (vision-language model) and formatted as `![Image [idx]: [VLM_cap…”
Search integration
developerSearch the web and get full page content from results in a single call instead of just links and snippets
weight 3 · round drawnFirecrawl's docs explicitly advertise a search endpoint that returns full page content from results in one call, matching the story exactly, and this is backed by broader scrape/extract capabilities showing it can fetch full markdown/HTML/structured content rather than just snippets. Missing for 10: independent hands-on verification of the search+content endpoint specifically (community evidence discusses scraping/crawling generally but not this exact combined search feature).
- [claimed-docs] “Search the web and get full page content from results in one call.”
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [github] “Describe what you need, and our AI agent searches, navigates, and retrieves it. No URLs required.”
Jina Reader's documented behavior explicitly performs a web search, fetches the top 5 results, and converts each to LLM-friendly full text in one call (s.jina.ai flow), with a 'research' preset tailored for citable agent output. Missing for 10: independent hands-on verification specifically of the search+fetch endpoint (the community evidence cited relates to a different third-party wrapper's auth/404 issues, not this feature directly).
- [github] “Behind the scenes, Reader searches the web, fetches the top 5 results, visits each URL, and applies `r.jina.ai` to it.”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
Selector extraction
developerExtract specific fields from a page using CSS or XPath selector rules
weight 3 · round to Jina ReaderFirecrawlnone0/10Evidence shows Firecrawl's extraction relies on schema-based/LLM extraction (firecrawl-gh-7) and general markdown/HTML/JSON output (firecrawl-docs-1), but nothing in the pack documents CSS or XPath selector-based field extraction rules. Missing for 10: 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.
- [github] “Use a schema to get structured data:”
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
Jina Reader offers structured field extraction via `x-json-schema` and `x-instruction` headers (backed by ReaderLM-v2), which lets developers pull specific fields, but the evidence never mentions CSS or XPath selector syntax as the extraction mechanism. Missing for 10: explicit CSS selector support, explicit XPath selector support, documentation showing selector-based (not just schema/instruction-based) targeting.
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
Structured data handling
data-engineerExtract data from very large tables using intelligent chunking so it fits within processing limits
weight 1 · round to Jina ReaderFirecrawlnone0/10No evidence pack items mention table extraction, large-table handling, or intelligent chunking strategies for oversized data; the evidence only covers general scraping, crawling, and structured extraction features. missing for 10: any mention of table-specific extraction, chunking mechanisms, or handling of oversized documents/tables to fit token/processing limits.
Reader offers an opt-in `x-markdown-chunking` feature that splits markdown output into semantic chunks, which could help fit large content (including tables) within processing limits, but there is no evidence it specifically preserves table structure or handles very large tables intelligently. missing for 10: table-aware chunking logic, evidence of table structure preservation across chunks, benchmarks on large-table extraction accuracy.
- [github] “`x-markdown-chunking` — opt-in semantic chunking of the markdown response. Returns a JSON array (or ``-delimited text) of chunks instead of …”
Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering
Handling JavaScript-heavy pages — rendering, waiting, dynamic content
Headless rendering
developerRender JavaScript-heavy single-page applications and get the fully rendered HTML
weight 3 · round to FirecrawlDocs confirm Firecrawl scrapes pages with an actual browser session ('Browser Sandbox... managed browser sessions for interactive workflows', 'click, fill forms, extract dynamic content'), and community evidence confirms it uses a real headless browser (Puppeteer) to render pages rather than static HTTP fetch, which supports JS-heavy SPA rendering. Output can be returned as HTML per docs-1. Missing for 10: independent benchmark/proof of correctly rendering complex SPAs, and community notes it uses Puppeteer not Playwright with some limitations in certain modes.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
The self-hosted Reader image bundles headless Chrome (gh-8), and docs claim clean output even for 'complex or dynamic pages' (docs-2), implying SPA/JS rendering support. However, a community commenter explicitly notes the website doesn't clearly document dynamic JS support, and no first-party doc or hands-on test explicitly confirms full SPA rendering works end-to-end. Missing for 10: explicit documentation stating JS/SPA rendering is supported, a hands-on demonstration of a JS-heavy site being fully rendered, and resolution of the community's noted uncertainty about dynamic JS handling.
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
- [community] “I don't find their website mentioning whether they support dynamic JS”
developerHave the API wait for a specific selector to appear before returning the rendered page
weight 2 · round drawnFirecrawlnone0/10No evidence pack item mentions waiting for a specific CSS selector before returning rendered content; only general mentions of scraping, interactive actions, and browser sandboxing are present without detail on selector-based wait conditions.
Jina Readernone0/10The evidence shows Reader has timing controls (x-respond-timing to trade latency vs completeness) and general JS-rendering via headless Chrome, but there's no mention of a selector-wait mechanism (e.g., waiting for a specific CSS/XPath selector before returning). Community feedback even notes it's unclear whether/how dynamic JS support works.
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
- [community] “I don't find their website mentioning whether they support dynamic JS”
Interactive automation
developerAccess a managed remote browser sandbox for interactive, manual browsing workflows
weight 2 · round to FirecrawlFirecrawl docs explicitly mention a 'Browser Sandbox' offering managed browser sessions for interactive workflows, plus 'scrape, then keep working with it: click, fill forms, extract dynamic content' — directly matching the story. However, this is only a single doc snippet with no detail on session persistence, remote access UI, or manual/human-driven browsing versus API-driven automation, and no independent/community corroboration of this specific feature. Missing for 10: detailed documentation on session duration/access model, evidence of true manual/interactive human use (vs agent-driven), and third-party confirmation.
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
developerKeep interacting with an already-scraped page, clicking and filling forms to reach content behind a login wall
weight 2 · round to FirecrawlFirecrawl's docs explicitly describe an interactive workflow — 'Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper' — plus a 'Browser Sandbox' for managed interactive browser sessions, directly matching the story. Missing for 10: independent/hands-on corroboration that clicking/filling forms actually reaches login-walled content, and more detail on session persistence across interactions.
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
Jina Readernone0/10Jina Reader is a stateless URL-to-markdown converter; there's no evidence of interactive session persistence, clicking, or form-filling to navigate behind a login wall. Cookie forwarding (X-Set-Cookie) only supports pre-authenticated single fetches, not interactive multi-step navigation.
- [claimed-docs] “Pass your session cookies with the `X-Set-Cookie` header and the Reader forwards them when fetching the URL”
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
- [community] “I don't find their website mentioning whether they support dynamic JS”
developerScript page interactions like clicking, filling inputs, and scrolling before content is returned
weight 3 · round to FirecrawlFirecrawl's docs explicitly describe scripting page interactions—click, fill forms, extract dynamic content, navigate deeper—after an initial scrape, and mention a managed Browser Sandbox for interactive workflows, directly matching the story of clicking/filling/scrolling before content is returned. Missing for 10: detailed API reference for the specific 'actions' parameter (e.g. scroll behavior), and independent/hands-on confirmation from community sources that these interaction primitives work reliably in practice.
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
Jina Readernone0/10Jina Reader offers cookie forwarding, proxy rotation, timing/format controls, and extraction schemas, but no evidence shows any mechanism to script page interactions like clicking, filling inputs, or scrolling before content extraction; community comments explicitly note uncertainty about dynamic JS handling.
- [claimed-docs] “Pass your session cookies with the `X-Set-Cookie` header and the Reader forwards them when fetching the URL”
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
- [community] “I don't find their website mentioning whether they support dynamic JS”
Render configuration
developerControl the browser viewport width and height when rendering a page
weight 1 · round drawnFirecrawlnone0/10No evidence in the pack mentions viewport width/height, mobile emulation, or screen size configuration for rendering pages; the docs mention scraping, actions, and a browser sandbox but nothing about viewport control.
Session persistence
developerPass my own session cookies so the API fetches pages requiring authentication
weight 2 · round to Jina ReaderFirecrawlnone0/10No evidence pack item mentions passing custom cookies, headers, or session/auth tokens to Firecrawl's scrape API; only generic scraping, crawling, and browser-sandbox features are documented.
Jina Reader's docs describe an X-Set-Cookie header that forwards developer-supplied session cookies when fetching a URL, directly matching the story. However this is a single claimed-docs citation with no independent/hands-on corroboration, and community evidence shows unrelated auth/reliability issues (401 errors, 404s) that raise doubts about robustness. Missing for 10: independent verification that cookie-based authenticated fetches actually work end-to-end, and documentation depth (e.g., examples, session persistence details).
- [claimed-docs] “Pass your session cookies with the `X-Set-Cookie` header and the Reader forwards them when fetching the URL”
- [community] “{"code":401,"name":"AuthenticationRequiredError","message":"Authentication is required to use this endpoint. Please provide a valid API key …”
- [community] “readableMessage: AuthenticationRequiredError: Authentication is required to use this endpoint. Please provide a valid API key via Authorizat…”
developerReuse a persistent browser profile with saved cookies and login state across multiple requests
weight 2 · round drawnFirecrawlnone0/10The evidence mentions a 'Browser Sandbox' for managed sessions and interactive workflows, but nothing describes persisting cookies/login state or reusing a browser profile across multiple separate requests. No docs, SDK, or community evidence confirms this capability.
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
Jina Readernone0/10Jina Reader supports passing session cookies per-request via the X-Set-Cookie header, but there is no evidence of a persistent browser profile that maintains login/cookie state across multiple requests automatically — each request appears stateless, requiring cookies to be re-supplied manually.
- [claimed-docs] “Pass your session cookies with the `X-Set-Cookie` header and the Reader forwards them when fetching the URL”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userDo everything through the API that I can do in the UI
weight 2 · round to Jina ReaderFirecrawl is fundamentally API-first — scrape, crawl, extract, search, and structured data features are all exposed via API/SDKs and docs, and there is no evidence of a rich standalone UI with capabilities withheld from the API. However, the evidence pack lacks a discoverable OpenAPI spec (probe found 404s) and does not explicitly confirm dashboard-only features (e.g., billing, team management, job monitoring) are also API-accessible. missing for 10: a published OpenAPI/swagger spec, explicit confirmation that all dashboard/UI-only functions (usage analytics, team/billing management, job history) are API-reachable, and independent verification of full UI/API parity.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Search the web and get full page content from results in one call.”
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
- [github] “Crawl an entire website and get content from all pages.”
- [github] “Scrape thousands of URLs asynchronously”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.firecrawl.dev/openapi.json, https://docs.firecrawl.dev/swagger.json, https://docs.firec…”
- [probe] “official CLI documented at https://docs.firecrawl.dev/sdks/cli”
Jina Reader is fundamentally an API-first product where nearly all functionality (URL-to-markdown conversion, web search, PDF/Office ingestion, VLM image captioning, JSON schema/instruction-based extraction, chunking, proxy routing, cookie forwarding, output presets) is exposed entirely through API endpoints and headers, with no evidence of a richer separate UI holding back features. This suggests the API is the primary and complete interface, matching the AI-native openness story well. Missing for 10: no explicit documentation stating 'everything the UI can do the API can also do' or comparison against a dashboard/UI feature set, and no independent corroboration confirming full parity.
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [github] “PDFs and MS Office documents (Word, Excel, PowerPoint) can now be POSTed directly via the `file` body field — no need to host them first.”
- [github] “All images on a page that lack an `alt` tag can be auto-captioned by a VLM (vision-language model) and formatted as `![Image [idx]: [VLM_cap…”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
- [github] “`x-markdown-chunking` — opt-in semantic chunking of the markdown response. Returns a JSON array (or ``-delimited text) of chunks instead of …”
- [claimed-docs] “Pass your session cookies with the `X-Set-Cookie` header and the Reader forwards them when fetching the URL”
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
ai-native userExport all of my data in open formats and leave
weight 3 · round to FirecrawlFirecrawl outputs are natively in open formats (markdown, HTML, structured JSON) and the core engine is open source (AGPL-3.0), letting a user self-host and avoid lock-in to the hosted service. However there's no explicit 'export all your account/config data' feature documented, and community notes only touch on forking rights, not a formal data-export path. Missing for 10: a documented account-data export/migration flow, evidence of exporting crawl history/settings, and independent confirmation users have actually migrated off the hosted service.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [github] “Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features”
- [community] “Finally, people starting to realize that AGPL means you can just fork and remove everything you don't like (including branding).”
ai-native userRead the product's source under an open license
weight 2 · round to FirecrawlFirecrawl's GitHub repo confirms it is open source under the AGPL-3.0 license, with community discussion also confirming this (including implications of AGPL forking rights). Source is publicly readable on GitHub with an OSI-approved-family open license. Missing for 10: no evidence of clarity on which parts of the cloud-only features are excluded from the open license, and no independent audit of full repo completeness.
- [github] “Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features”
- [community] “Finally, people starting to realize that AGPL means you can just fork and remove everything you don't like (including branding).”
Jina Reader has an open-source branch on GitHub with a prebuilt image published to GitHub Container Registry, confirming source availability, but the evidence pack never states the license under which the code is released. missing for 10: explicit license file/name (e.g., Apache/MIT) confirming open-license status, independent confirmation of license terms.
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
ai-native userSelf-host the core product
weight 3 · round to Jina ReaderFirecrawl's GitHub repo confirms the core product is open source under AGPL-3.0 and can be self-hosted, with the hosted cloud version offering extra features (firecrawl-gh-6). However, community reports note self-hosted/simple versions lack key production features like proxy support and have functional limitations (e.g., daemon mode restrictions, no HTML return) compared to the cloud offering (firecrawl-comm-3, firecrawl-comm-4). Missing for 10: official self-hosting setup docs/guide in the evidence pack, and confirmation that self-hosted deployment achieves full feature parity with the hosted service.
- [github] “Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features”
- [community] “As I see, you use Puppeteer, not Playwright. Also, both Firecrawl and Firecrawl Simple are really simple, and most importantly don't have pr…”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
The open-source branch is self-hostable via a prebuilt Docker image on GitHub Container Registry bundling headless Chrome, LibreOffice, and CJK fonts, so users can run Reader without building it themselves. Missing for 10: independent hands-on confirmation of a successful self-hosted deployment and details on feature parity between self-hosted and SaaS versions.
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
Output formats — stories about output formats in this arenaOutput formats
Stories about output formats in this arena
Content formats
developerReceive scraped content as clean markdown instead of raw HTML
weight 3 · round drawnFirst-party docs explicitly state extraction as markdown (alongside HTML/JSON) and support converting local files to markdown, confirming clean markdown output is a core, well-documented feature. Missing for 10: independent hands-on confirmation specifically praising markdown output quality/cleanliness.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Turn local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
Jina Reader's core function is converting URLs into clean, LLM-friendly Markdown (r.jina.ai), with additional options like frontmatter YAML, image captioning, and semantic chunking, all well documented in first-party sources. Missing for 10: independent hands-on verification of markdown output quality (community evidence cited focuses on auth/404 issues, not output format fidelity).
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [github] “All images on a page that lack an `alt` tag can be auto-captioned by a VLM (vision-language model) and formatted as `![Image [idx]: [VLM_cap…”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [github] “`x-markdown-chunking` — opt-in semantic chunking of the markdown response. Returns a JSON array (or ``-delimited text) of chunks instead of …”
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
developerChoose exactly which output format is returned, such as markdown, HTML, text, or frontmatter
weight 2 · round to Jina ReaderDocs confirm output as markdown, HTML, or structured JSON (firecrawl-docs-1, firecrawl-docs-6), and a community comment notes a daemon-mode limitation where HTML return is unsupported in some contexts, suggesting partial reliability. No explicit mention of 'frontmatter' or 'text' formats, and no documentation snippet showing a format-selection parameter/API example. Missing for 10: explicit mention of frontmatter/text format options, and a documented parameter/example showing developers selecting formats.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Turn local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
jina-reader-gh-5 documents the `x-respond-with` header explicitly selecting output format including markdown, HTML, text, and frontmatter (Markdown+YAML), directly matching the story; gh-10 adds chunking control as extra format nuance. Missing for 10: independent hands-on confirmation of each format option (community evidence only covers auth errors, not format selection).
developerReceive scraped content as structured JSON
weight 3 · round to FirecrawlFirecrawl docs explicitly support extracting content as structured JSON, including with a defined schema, alongside markdown/HTML options, and this extends to document formats like PDFs/DOCX as well. Missing for 10: independent hands-on confirmation of JSON output quality/schema fidelity beyond vendor docs and GitHub README.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [github] “Use a schema to get structured data:”
- [claimed-docs] “Turn local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
Jina Reader supports structured output via `x-json-schema` for schema-defined field extraction and `x-markdown-chunking` for JSON array chunk output, plus frontmatter YAML metadata — showing real structured-output capability beyond plain markdown. However, the default/primary output is markdown/LLM-friendly text, not JSON, and there's no evidence of a dedicated full-page-to-JSON endpoint or independent confirmation these structured modes work reliably in practice. Missing for 10: independent/hands-on verification of x-json-schema output quality, a documented default JSON response mode, and confirmation these features aren't limited/beta.
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
- [github] “`x-markdown-chunking` — opt-in semantic chunking of the markdown response. Returns a JSON array (or ``-delimited text) of chunks instead of …”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
Llm ready output
ai-native userGet clean LLM-ready text directly instead of dealing with blocking, rendering, and messy HTML myself
weight 3 · round to Jina ReaderFirecrawl's core value proposition is turning any URL into clean markdown/structured JSON, handling rendering, JS-heavy pages, and blocking via a managed browser sandbox, explicitly for LLM/RAG use cases. Docs and GitHub confirm markdown/HTML/JSON extraction, PDF/DOCX conversion, and managed browser sessions abstracting away rendering complexity, though community comments note some limitations (e.g., proxy/anti-bot gaps, missing HTML in some modes). Missing for 10: independent benchmark of output cleanliness vs raw HTML scraping, and resolution of community-reported edge-case limitations (daemon mode HTML issue).
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Scrape a page, then keep working with it: click, fill forms, extract dynamic content, or navigate deeper.”
- [claimed-docs] “Turn local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
- [claimed-docs] “Browser Sandbox Managed browser sessions for interactive workflows”
- [github] “Crawl an entire website and get content from all pages.”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
Jina Reader's core purpose is converting any URL into clean, LLM-ready Markdown/text, avoiding manual HTML parsing and handling JS rendering, anti-bot blocking, and headless browsing behind the scenes, with configurable output formats (frontmatter, JSON, chunked) tailored to AI agents. Community reports show some auth/404 errors on certain deployments, but the core capability is well documented and corroborated. Missing for 10: broader independent benchmarking of output quality/reliability across diverse sites beyond one HN anecdote of failure.
- [github] “It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`.”
- [github] “Behind the scenes, Reader searches the web, fetches the top 5 results, visits each URL, and applies `r.jina.ai` to it.”
- [github] “`x-respond-with` — select the output format. ... `frontmatter` returns **Markdown with a YAML frontmatter block**”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
- [claimed-docs] “Pass your session cookies with the `X-Set-Cookie` header and the Reader forwards them when fetching the URL”
- [claimed-docs] “Scraping can be complicated and unreliable, particularly with complex or dynamic pages. The Reader API provides a streamlined, reliable outp…”
- [github] “`x-markdown-chunking` — opt-in semantic chunking of the markdown response. Returns a JSON array (or ``-delimited text) of chunks instead of …”
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
- [community] “TB – super-fast text-only browser using Jina Reader API: Does not work (404 not found), return to your vibe code session and try again.”
- [community] “{"code":401,"name":"AuthenticationRequiredError","message":"Authentication is required to use this endpoint. Please provide a valid API key …”
ai-native userRequest semantically chunked output instead of one large content blob, so it feeds cleanly into a retrieval pipeline
weight 2 · round to Jina ReaderFirecrawlnone0/10Firecrawl's evidence covers markdown/HTML/structured JSON extraction, crawling, and PDF/DOCX conversion, but nothing describes a semantic chunking feature or chunked output mode for retrieval pipelines. The axis applies (chunked output is a plausible feature for a scraping/RAG-prep tool) but no evidence shows it exists.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [claimed-docs] “Turn local PDFs, DOCX, XLSX, HTML, and more into Markdown or structured JSON”
- [github] “Use a schema to get structured data:”
Jina Reader explicitly supports `x-markdown-chunking`, an opt-in header returning semantically chunked output as a JSON array or delimited text instead of one blob, directly matching the story. Missing for 10: independent hands-on validation of chunk quality/boundaries and no detail on chunking algorithm robustness across document types.
- [github] “`x-markdown-chunking` — opt-in semantic chunking of the markdown response. Returns a JSON array (or ``-delimited text) of chunks instead of …”
Visual capture
developerCapture a screenshot of a full page or a specific selected area
weight 2 · round drawnFirecrawlnone0/10The evidence pack lists output formats as markdown/HTML/JSON but never mentions screenshot capture, full-page or selector-based, as a capability. A community comment even raises it as an open question ('does it support screenshots?') without confirmation, so there's no evidence the capability exists.
- [claimed-docs] “Extract content from any URL as markdown, HTML, or structured JSON”
- [community] “It being vibe coded aside, does it support screenshots? I noticed the daemon mode has a lot of weird limitations too like not being able to …”
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
developerLet the API automatically pick the cheapest configuration that still succeeds
weight 2 · round drawnFirecrawlnone0/10No evidence of automatic cost-optimal configuration selection; docs mention manual controls like reasoning effort but nothing about the API choosing cheapest successful config automatically.
Jina Readernone0/10No evidence Jina Reader has any automatic cost-optimization logic that selects the cheapest configuration guaranteed to succeed; the options exposed (x-preset, x-respond-timing, x-proxy) are manually set by the developer, not auto-selected for cost minimization, and pricing/limits aren't even documented per community reports.
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
developerBlock ads on the target page to speed up scraping requests
weight 1 · round drawnFirecrawlnone0/10No evidence pack item mentions ad-blocking or any option to strip ads/trackers on target pages to speed up scraping; only general scraping, crawling, and extraction features are documented.
developerBlock images and CSS resources by default to reduce bandwidth and speed up requests
weight 1 · round drawnFirecrawlnone0/10No evidence pack mentions blocking images or CSS resources, resource-type filtering, or bandwidth-saving scrape options; only general scraping/crawling features are documented.
ai-native userSet how much reasoning effort an autonomous agent spends on a data-gathering task (low, medium, high)
weight 2 · round to FirecrawlGitHub README explicitly states the agent lets users 'set how much reasoning the agent spends on the task,' directly matching the story, but there's no detailed documentation confirming discrete low/medium/high levels or pricing-tied reasoning-effort controls. Missing for 10: first-party docs specifying the exact reasoning-effort parameter/levels, independent confirmation of how this affects cost/limits.
Jina Readernone0/10Jina Reader is a URL-to-text extraction service, not an autonomous reasoning agent; there is no reasoning-effort/low-medium-high control exposed. The closest options (x-respond-timing trading latency vs completeness, x-preset) control fetch behavior, not agentic reasoning depth, so the specific capability is absent.
Cost transparency
developerWhether exceeding my plan's monthly credit or request quota triggers overage charges or a hard cutoff
weight 3 · round drawnFirecrawlnone0/10No evidence in the pack addresses billing behavior when a plan's credit/request quota is exceeded — nothing on overage charges vs. hard cutoffs. This is a fair pricing question for a paid API product, so absence of evidence yields none. Missing for 10: any pricing/billing docs describing quota overage policy, hard-stop vs auto-billing behavior, or community reports confirming either.
Jina Readernone0/10No evidence describes what happens when a plan's monthly credit/request quota is exceeded — no mention of overage billing or hard cutoff behavior; community commentary even notes the site doesn't document API limits at all.
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
developerWhether failed, blocked, or empty-result requests still consume my billing quota
weight 2 · round drawnFirecrawlnone0/10No evidence pack items discuss billing/credit treatment for failed, blocked, or empty-result requests; documentation snippets cover features (scrape, crawl, MCP, webhooks) but not quota/credit consumption policy.
Jina Readernone0/10No evidence pack item discusses billing behavior for failed, blocked, or empty-result requests, nor any quota-consumption policy; community notes only mention lack of clarity on API limits and unrelated authentication errors.
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
developerSet a spending cap or usage alert so proxy/credit consumption doesn't silently blow past my budget
weight 3 · round drawnFirecrawlnone0/10No 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.
- [community] “same setup here for news pages. tier 3 is where my money went, 320 solves a day and 10gb of proxy gone in two days.”
- [community] “Quite useful. Currently we do overpay for the services [referring to Firecrawl-like scraping services].”
Jina Readernone0/10No evidence of spending caps or usage alerts; community even notes API limits aren't documented on the website (jina-reader-comm-1), and no billing/quota dashboard or alerting feature is mentioned anywhere in the evidence pack.
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
Performance tuning
developerTrade off latency against completeness by controlling exactly when content is returned
weight 1 · round to Jina ReaderFirecrawl offers async webhooks for event delivery and an agent 'reasoning effort' setting that trades speed for thoroughness, plus async bulk scraping — all of which let a developer influence when/how much content comes back, but there's no explicit documented parameter (e.g., wait-time or completeness threshold) framed as a direct latency-vs-completeness control on the standard scrape/crawl endpoints. missing for 10: explicit sync-return timeout/partial-completeness parameter, independent benchmarking of latency vs completeness tradeoffs, and hands-on confirmation of the reasoning-effort knob's effect.
- [github] “Set how much reasoning the agent spends on the task”
- [claimed-docs] “Webhooks Async event delivery”
- [github] “Scrape thousands of URLs asynchronously”
The `x-respond-timing` header is documented explicitly as giving developers explicit control over when Reader returns, directly trading off latency against completeness, which is exactly the story described. Missing for 10: independent/hands-on confirmation of the header's behavior and concrete latency/completeness benchmarks beyond the first-party doc snippet.
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
Plan scale limits
data-engineerThe maximum concurrent sessions or requests allowed on my pricing tier and the cost to raise that cap
weight 2 · round drawnFirecrawlnone0/10No evidence pack item documents rate limits, concurrency caps per pricing tier, or the cost to raise them; only unrelated product feature docs and community anecdotes about usage cost are present. missing for 10: documented per-tier concurrency/request limits, documented pricing to upgrade limits, any rate-limit or quota API reference.
Jina Readernone0/10No evidence documents concurrency/request caps per pricing tier or the cost to increase them; community comments explicitly note the website doesn't mention API limits, and authentication errors appear but no rate-limit specifics.
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
- [community] “{"code":401,"name":"AuthenticationRequiredError","message":"Authentication is required to use this endpoint. Please provide a valid API key …”
- [community] “readableMessage: AuthenticationRequiredError: Authentication is required to use this endpoint. Please provide a valid API key via Authorizat…”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userChoose where my data is stored (region/residency)
weight 2 · round drawnFirecrawlnone0/10No evidence in the pack mentions data residency, regional storage options, or compliance controls for where scraped data is processed/stored; the open-source AGPL version could theoretically be self-hosted for residency control, but this is not documented anywhere in the evidence.
ai-native userPrevent my data from being used to train AI models
weight 3 · round drawnFirecrawlnone0/10No 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.
ai-native userControl data retention and deletion
weight 2 · round drawnFirecrawlnone0/10No evidence pack item mentions data retention policies, deletion controls, or privacy settings for stored crawl/scrape data; this is a fair question for a cloud scraping/data API but no documentation addresses it.
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnFirecrawlnone0/10No evidence in the pack mentions telemetry, usage tracking, analytics collection, or an opt-out setting/flag for Firecrawl's CLI, SDK, or self-hosted deployment; while the open-source AGPL nature suggests self-hosting is possible, nothing documents a telemetry toggle or privacy control.
Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability
Behavior under load — scaling limits, uptime, failure handling
Ai driven crawling
ai-native userRely on adaptive crawling that automatically stops once enough information has been gathered to answer my query
weight 2 · round to Jina ReaderFirecrawlnone0/10The evidence describes crawling, scraping, and AI agent search/reasoning controls (e.g., firecrawl-gh-1, firecrawl-gh-2), but nothing documents adaptive crawling that automatically halts once sufficient information has been gathered to answer a specific query — crawls appear to run to full site discovery or fixed limits rather than stopping based on information sufficiency.
Reader offers a related knob (`x-respond-timing` to trade off latency vs completeness) and a `research` preset for agentic use, suggesting some adaptive control over when it returns results, but there is no evidence of true query-driven adaptive crawling that stops once 'enough information' has been gathered to answer a specific question — the search flow simply fetches a fixed top-5 results. Missing for 10: explicit query-aware stopping criteria, evidence of dynamic crawl depth/breadth adjustment based on information sufficiency, and independent validation of this behavior.
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “Behind the scenes, Reader searches the web, fetches the top 5 results, visits each URL, and applies `r.jina.ai` to it.”
Batch processing
data-engineerBatch scrape thousands of URLs asynchronously
weight 3 · round to FirecrawlFirecrawl's GitHub docs explicitly advertise batch/async scraping of thousands of URLs, plus webhook-based async event delivery for pipeline integration, and crawl/map endpoints for URL discovery at scale, aligning well with the data-engineer scale story. Missing for 10: independent hands-on benchmarks proving reliability at thousands-of-URL scale and details on rate limits/retry/error handling under batch load.
- [github] “Scrape thousands of URLs asynchronously”
- [claimed-docs] “Webhooks Async event delivery”
- [github] “Crawl an entire website and get content from all pages.”
- [github] “Discover all URLs on a website instantly.”
developerApply different crawl configurations to different URL patterns within a single batch job
weight 1 · round drawnFirecrawlnone0/10The evidence pack covers crawling, scraping, extraction, webhooks, and CLI/MCP features, but nothing describes per-URL-pattern configuration overrides within a single crawl/batch job (e.g., different scrape options for different path patterns). No docs or community evidence mention such rule-based configuration.
Jina Readernone0/10Jina Reader operates per-URL request with headers/options (e.g. x-preset, x-respond-with) applied uniformly to a single fetch; there's no evidence of a batch-job concept or per-URL-pattern configuration mapping within one job. missing for 10: batch job API, URL-pattern-based rule matching, differentiated configs within a single request/job.
Concurrency
data-engineerSpin up many concurrent scraping sessions to gather data at scale
weight 3 · round to FirecrawlFirecrawl explicitly supports scraping 'thousands of URLs asynchronously' and full-site crawling with async webhooks for event delivery, which supports scaling to many concurrent scrape jobs. However, there is no documentation of concurrency limits, session management, or dedicated infrastructure for spinning up many parallel sessions, and community feedback raises cost/efficiency concerns at scale (proxy usage, cost overpay) without directly disputing the concurrency capability itself. Missing for 10: explicit concurrency/rate-limit documentation, first-party benchmarks or case studies of large-scale concurrent scraping, and independent verification of scale claims.
- [github] “Scrape thousands of URLs asynchronously”
- [github] “Crawl an entire website and get content from all pages.”
- [claimed-docs] “Webhooks Async event delivery”
- [community] “same setup here for news pages. tier 3 is where my money went, 320 solves a day and 10gb of proxy gone in two days.”
- [community] “I made newsagents.app and I ended up using the extract API from kagi and falling back to cloudflare's browser API for problem pages. That lo…”
Reader offers infrastructure that could support scale (a rotating proxy pool for anti-bot handling, and a self-hostable Docker image bundling headless Chrome so engineers could run many parallel instances), but there is no first-party documentation of concurrency limits, rate limits, or guidance for running many simultaneous scraping sessions. Community commentary explicitly notes the site doesn't mention API limits, adding uncertainty rather than confirmation. missing for 10: documented concurrency/rate limits, guidance or benchmarks for running many parallel sessions, independent evidence of successful large-scale concurrent use.
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
- [github] “A prebuilt image of the open-source branch is published to GitHub Container Registry. It bundles headless Chrome, LibreOffice, and CJK fonts…”
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
Crawl compliance
data-engineerConfigure the crawler to respect robots.txt rules and target-site rate limits automatically
weight 2 · round drawnFirecrawlnone0/10No documentation or evidence describes robots.txt compliance settings or automatic rate-limit throttling; the only related community comment (firecrawl-comm-8) suggests sites must proactively disallow the crawler, which doesn't confirm built-in respect for robots.txt as a configurable, automatic behavior.
- [community] “Excellent, another kind of copyright theft as a service that assumes your site is ripe for scraping unless you disallow yet another agent (F…”
Fault tolerance
data-engineerResume a crashed deep crawl from a saved checkpoint instead of restarting from scratch
weight 2 · round drawnFirecrawlnone0/10No evidence of checkpointing or resuming crawls from saved state; docs mention crawling, webhooks, and async scraping but nothing about crash recovery or resumable checkpoints.
Operational transparency
data-engineerCheck a public status page showing uptime history and past incident postmortems before committing to the service
weight 2 · round drawnFirecrawlnone0/10No evidence pack item mentions a public status page, uptime history, or incident postmortems for Firecrawl; the docs and community threads cover product features and complaints but nothing about SLA/uptime transparency.
Jina Readernone0/10No evidence of a public status page, uptime history, or incident postmortems; instead there's community evidence of undocumented failures (404s, auth errors) with no transparency page to check beforehand.
- [community] “TB – super-fast text-only browser using Jina Reader API: Does not work (404 not found), return to your vibe code session and try again.”
- [community] “{"code":401,"name":"AuthenticationRequiredError","message":"Authentication is required to use this endpoint. Please provide a valid API key …”
- [community] “readableMessage: AuthenticationRequiredError: Authentication is required to use this endpoint. Please provide a valid API key via Authorizat…”
Scheduling monitoring
data-engineerMonitor target pages for content changes, such as price or listing updates, and get notified as they happen
weight 2 · round drawnFirecrawlnone0/10The evidence pack shows scraping, crawling, extraction, and webhook-based async event delivery, but no dedicated change-tracking/monitoring feature (e.g., diffing pages over time, price/listing change alerts) is documented anywhere in the pack.
- [claimed-docs] “Webhooks Async event delivery”
- [github] “Crawl an entire website and get content from all pages.”
- [github] “Scrape thousands of URLs asynchronously”
data-engineerMonitor job performance, validate data quality, and receive alerts when something fails
weight 2 · round drawnFirecrawlnone0/10Evidence shows webhooks for async event delivery but nothing about job performance dashboards, data quality validation, or failure alerting mechanisms for a data-engineering monitoring workflow.
developerMonitor live system metrics and worker/browser pool status through a real-time dashboard
weight 1 · round drawnFirecrawlnone0/10No evidence of a real-time dashboard for monitoring system metrics, worker pool, or browser pool status; evidence only covers scraping/crawling features, CLI, MCP server, and community discussion unrelated to monitoring dashboards.
Jina Readernone0/10No evidence of any real-time dashboard, metrics UI, or worker/browser pool status monitoring; evidence only covers content extraction features and API options. This is an applicable axis for a scale-reliability story about a self-hostable service with a browser pool, but nothing in the pack shows such a dashboard exists.
developerSchedule scraping jobs to run automatically at specific times
weight 2 · round drawnFirecrawlnone0/10No evidence of scheduled/cron-based scraping jobs; Firecrawl's evidence covers crawling, scraping, webhooks, and async batch scraping, but nothing about scheduling jobs to run at specific times.
Site crawling
data-engineerRun a deep crawl using a breadth-first strategy with a configurable maximum page limit
weight 2 · round to FirecrawlEvidence confirms Firecrawl can crawl an entire website and discover all URLs (firecrawl-gh-3, firecrawl-gh-4), which implies a crawl feature suitable for a data-engineer's bulk scraping needs, but nothing in the pack explicitly documents a breadth-first crawl strategy or a configurable maximum page limit parameter. Missing for 10: explicit mention of BFS traversal mode, documented maxPages/limit parameter, and independent confirmation that these controls work at scale.
developerCrawl an entire website and get content from all its pages with one request
weight 3 · round to FirecrawlGitHub docs explicitly state 'Crawl an entire website and get content from all pages' with supporting features like URL discovery and async scraping of thousands of URLs, directly matching the story. Missing for 10: independent hands-on validation specifically of full-site crawl completeness/reliability at scale (community comments discuss cost/proxy issues but not crawl-completeness failures).
developerInstantly discover all URLs on a website without fully crawling it
weight 2 · round to FirecrawlFirecrawl explicitly offers a 'Map' capability described as 'Discover all URLs on a website instantly,' distinct from full crawling, directly matching the story. This is a first-party GitHub claim but lacks independent hands-on corroboration or detail on accuracy/limits at scale. missing for 10: independent/hands-on verification of speed and completeness, documentation of limits on very large sites.
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableFirecrawln/aFirecrawl is a web-scraping/crawling API/service that itself exposes an MCP server for other AI tools to consume (firecrawl-docs-5, firecrawl-probe-3); it is not an agent or orchestration platform designed to consume external MCP servers as a client. The evidence pack shows no capability for Firecrawl to import/plug in third-party MCP servers to extend its own tool use, and this is not a fair capability to expect of a scraping API — it's the reverse role.
- [claimed-docs] “MCP Server: Connect Firecrawl to any AI tool via the Model Context Protocol”
- [probe] “official MCP server documented at https://github.com/mendableai/firecrawl-mcp-server”
Jina Readern/aJina Reader is a single-purpose URL-to-text/content-extraction API, not an agentic host that consumes external tools; the only MCP-related evidence (jina-reader-probe-3) shows Jina exposing itself as an MCP server for others to call, not Reader acting as an MCP client that plugs in external servers. This story's direction (product consuming other MCP servers) is a category mismatch for this kind of product.
- [probe] “official MCP server documented at https://github.com/jina-ai/MCP”
ai-native userVersion, review, and roll back my automations
weight 1 · not comparableFirecrawlnone0/10Firecrawl is a web scraping/extraction API and toolset; there is no evidence of automation versioning, review workflows, or rollback capabilities for crawl/scrape configurations or workflows in any of the docs, GitHub, or community sources.