Jina Reader vs ScrapingBee
ScrapingBee wins · 22–25 (47 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 ScrapingBeeJina 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”
ScrapingBee has a confirmed live llms.txt at the documented URL (HTTP 200) serving an index of its documentation, directly satisfying the story of pointing an agent at agent-oriented docs; it also has an official MCP server further supporting agentic access. Missing for 10: a per-page markdown/docs.md mirror (probe shows 404) and an OpenAPI spec discoverable at standard paths, which would round out machine-readable doc coverage.
- [probe] “PROBE llms.txt: HTTP 200 at https://www.scrapingbee.com/llms.txt # ScrapingBee Documentation > Official documentation index for ScrapingBee…”
- [probe] “PROBE docs-md: HTTP 404 at https://www.scrapingbee.com/documentation.md”
- [probe] “official MCP server documented at https://mcp.scrapingbee.com/”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to ScrapingBeeJina 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…”
ScrapingBee is a pure API service (API key + HTTP calls) designed for programmatic use, and it ships an official CLI (scrapingbee-cli) enabling scripted/headless invocation suitable for CI pipelines. Missing for 10: explicit CI/CD pipeline examples (e.g., GitHub Actions), and no independent hands-on confirmation of CLI use in automation contexts.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [probe] “official CLI documented at https://github.com/ScrapingBee/scrapingbee-cli”
ai-native userConnect an agent via an official MCP server
weight 3 · round to Jina ReaderJina 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”
ScrapingBee is a scraping API/service (not itself an agent), so publishing an official MCP server is a valid axis; a probe confirms an official MCP server is documented at mcp.scrapingbee.com. However, there is no first-party documentation detail on the MCP server's tool set, setup, or independent/community corroboration of it working. Missing for 10: detailed official docs on MCP server capabilities/setup, independent hands-on confirmation.
- [probe] “official MCP server documented at https://mcp.scrapingbee.com/”
ai-native userUse an official CLI
weight 2 · round to ScrapingBeeJina 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.
Evidence shows an official CLI repo published by ScrapingBee (scrapingbee-cli on GitHub), directly satisfying the story. However, there's no documentation excerpt describing CLI features, installation, or usage details, nor independent community corroboration of its use. Missing for 10: detailed CLI documentation/usage examples, independent/hands-on validation, and confirmation of active maintenance.
- [probe] “official CLI documented at https://github.com/ScrapingBee/scrapingbee-cli”
ai-native userDrive the product through a documented public API
weight 3 · round drawnJina 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:…”
ScrapingBee's entire product is a documented public REST API with extensive parameter documentation (docs-1 to docs-15) and an llms.txt index for AI discoverability (probe-1), plus official CLI and MCP server (probe-4, probe-5) enabling agentic access. Missing for 10: a machine-readable OpenAPI/Swagger spec (probe-2 and probe-3 both 404) and independent hands-on confirmation of API integration ease.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [probe] “PROBE llms.txt: HTTP 200 at https://www.scrapingbee.com/llms.txt # ScrapingBee Documentation > Official documentation index for ScrapingBee…”
- [probe] “official MCP server documented at https://mcp.scrapingbee.com/”
- [probe] “official CLI documented at https://github.com/ScrapingBee/scrapingbee-cli”
- [probe] “PROBE openapi: all candidate paths 404 (https://www.scrapingbee.com/openapi.json, https://www.scrapingbee.com/swagger.json, https://www.scra…”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round drawnJina Readernone0/10No evidence of scoped or least-privilege API key/credential issuance for agents; the pack only shows a single API key auth requirement and no mention of scoped tokens, permissions, or credential management.
ScrapingBeenone0/10Evidence only shows a single API key model for authentication with no mention of scoped, restricted-permission, or per-agent credential issuance; the community note about using two API keys does not indicate least-privilege scoping. Missing for 10: any documentation of scoped/restricted API keys, role-based permissions, or credential issuance mechanisms for agents.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [community] “cool idea, but I don't like how I need to use two separate API keys to connect to this API (which relies on ScrapingBee for scraping) - can …”
ai-native userBuild against official SDKs
weight 2 · round drawnJina 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:…”
ScrapingBeenone0/10The evidence pack documents ScrapingBee's REST API parameters, an official CLI, and an MCP server, but contains no mention of official SDKs (e.g., Python, Node.js, PHP client libraries) that AI-native developers could build against. Absence of evidence for this applicable capability warrants a 'none' verdict.
ai-native userSubscribe to events via webhooks
weight 2 · round drawnJina Readernone0/10No evidence anywhere in the pack of Jina Reader supporting webhooks or event subscriptions; it's a synchronous URL-to-text conversion API with no mention of push/callback mechanisms.
Agentic features
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · round to ScrapingBeeJina Readernone0/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.)
ScrapingBee's `ai_query` parameter lets users ask AI to extract specific information from scraped pages, which is a limited AI capability applied to data the product handles, but it's user-directed extraction rather than proactive AI-generated insights or suggestions surfaced inside the product. Missing for 10: evidence of automated insight generation, trend/anomaly detection, or suggestion features beyond on-demand query-based extraction.
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
ai-native userSet up automations that run autonomously in the background
weight 2 · round drawnJina Readernone0/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 userDelegate tasks to a built-in AI assistant inside the product
weight 3 · round drawnJina Readernone0/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 userOperate the product with natural-language commands
weight 2 · round drawnThe `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…”
ScrapingBee's `ai_query` parameter lets users specify what to extract from a page using natural language, and there is a documented official MCP server (mcp.scrapingbee.com) that would let AI agents invoke ScrapingBee via natural-language tool calls. However, the core product interface remains a structured REST API with many typed parameters, not a natural-language command interface itself. Missing for 10: evidence of a chat/NL interface for configuring scrapes beyond ai_query, and independent confirmation the MCP server supports full natural-language operation.
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [probe] “official MCP server documented at https://mcp.scrapingbee.com/”
ai-native userApply a preset configuration tuned for research agents that returns structured, citable output
weight 2 · round to Jina ReaderThe `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…”
ScrapingBee offers markdown output (return_page_markdown), AI-driven extraction (ai_query), and structured extraction (extract_rules) which can produce citable, structured output usable by research agents, plus an MCP server for agentic integration. However, there is no evidence of a dedicated 'preset configuration tuned for research agents' — no named research-agent mode, no citation metadata, and no documentation bundling these features into a single agent-oriented preset. missing for 10: a documented research-agent preset/mode, citation/source-attribution output, and evidence of agent-specific tuning beyond generic AI extraction params.
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “return_page_markdown [boolean] (false) Return the page content in markdown format”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [probe] “official MCP server documented at https://mcp.scrapingbee.com/”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnJina 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.
ScrapingBeenone0/10The evidence pack shows only static parameter documentation and no mention of an interactive API reference, live 'try it' console, or runnable code examples; probes even show no OpenAPI/swagger spec and a 404 on a machine-readable docs endpoint, suggesting no interactive explorer exists.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [probe] “PROBE docs-md: HTTP 404 at https://www.scrapingbee.com/documentation.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://www.scrapingbee.com/openapi.json, https://www.scrapingbee.com/swagger.json, https://www.scra…”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round drawnJina 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.
ScrapingBeenone0/10Direct probes for an OpenAPI/Swagger spec at all standard locations returned 404, and no evidence pack item shows a downloadable machine-readable API spec being offered elsewhere; only an llms.txt index and human-readable docs exist.
ai-native userTest against a sandbox environment without touching production data
weight 1 · round drawnJina Readernone0/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 drawnJina 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.
ScrapingBeenone0/10No evidence of API versioning scheme or a documented deprecation policy; OpenAPI spec probes 404 and docs don't mention versioning/deprecation terms at all.
data-engineerThe documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in
weight 3 · round drawnJina 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 ScrapingBeeReader'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”
ScrapingBee provides premium proxies to bypass hard-to-scrape sites and JS 'scenario' scripting to interact with pages (e.g., click/fill forms), which could support login flows, but there is no explicit claim or evidence of automatic CAPTCHA solving or a documented login-automation workflow that removes manual intervention entirely. missing for 10: explicit CAPTCHA-solving mechanism, documented login/form-wall bypass workflow, and independent evidence of successful autonomous bypass.
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “session_id [integer] ("") Route multiple API requests through the same IP address”
data-engineerAutomatically retry through a chain of different proxies when anti-bot detection blocks a request
weight 2 · round to ScrapingBeeJina 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…”
ScrapingBee offers premium_proxy and country_code parameters and an 'auto' mode that picks the cheapest configuration that succeeds, implying some automatic fallback/retry logic, but there's no explicit documentation of a chained multi-proxy retry mechanism specifically triggered by anti-bot detection. missing for 10: explicit documentation of automatic retry chains across multiple proxies upon anti-bot block detection, and independent verification of this retry behavior.
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “country_code [string] ("") Premium proxy geolocation”
- [claimed-docs] “mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto”
developerUse an undetected browser mode to bypass sophisticated bot detection systems
weight 3 · round to ScrapingBeeJina 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…”
ScrapingBee's docs mention `premium_proxy` explicitly for bypassing 'difficult to scrape websites' and headless browser rendering with JS scenarios, which implies anti-bot capability, but the evidence never uses 'undetected browser' or 'stealth mode' terminology or details specific bot-detection bypass techniques (fingerprint spoofing, TLS/JA3 evasion, etc.). Missing for 10: explicit stealth/undetected-mode documentation, technical detail on fingerprint evasion, and independent verification that it defeats sophisticated bot detection.
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
Proxy rotation
developerRequest a proxy from a specific country to get geolocation-appropriate content
weight 2 · round to ScrapingBeeJina 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…”
ScrapingBee's docs explicitly document a `country_code` parameter for premium proxy geolocation, directly enabling country-specific proxy requests, alongside `premium_proxy` to enable this feature. missing for 10: independent/hands-on confirmation of geolocation accuracy and no list of supported countries in the evidence.
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “country_code [string] ("") Premium proxy geolocation”
developerUse premium residential or datacenter proxies to bypass sites that are hard to scrape
weight 3 · round to ScrapingBeeJina 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…”
Docs explicitly document `premium_proxy` for bypassing hard-to-scrape sites, plus `country_code` for geolocation and `session_id` for sticky IP sessions, directly matching the story. Missing for 10: explicit distinction/documentation of residential vs datacenter proxy types and independent third-party validation of bypass success rates.
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “country_code [string] ("") Premium proxy geolocation”
- [claimed-docs] “session_id [integer] ("") Route multiple API requests through the same IP address”
developerRoute requests through a rotating pool of proxy IPs to avoid blocks
weight 3 · round to ScrapingBeeReader 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…”
Docs confirm premium/rotating proxy usage (premium_proxy, country_code) to bypass blocks, plus session_id to pin a single IP when needed, indicating an underlying rotating proxy pool by default with control options. Missing for 10: no independent/hands-on evidence confirming rotation effectiveness against real anti-bot defenses, and no explicit documentation describing pool size or rotation algorithm.
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “country_code [string] ("") Premium proxy geolocation”
- [claimed-docs] “session_id [integer] ("") Route multiple API requests through the same IP address”
developerRoute multiple requests through the same proxy IP using a session identifier to maintain a consistent identity
weight 2 · round to ScrapingBeeJina 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…”
Official docs explicitly document a `session_id` parameter to route multiple API requests through the same proxy IP, directly matching the story. Missing for 10: independent/hands-on corroboration of session persistence behavior beyond first-party docs.
- [claimed-docs] “session_id [integer] ("") Route multiple API requests through the same IP address”
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 Jina ReaderThe 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 drawnJina Readernone0/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 userSchedule recurring jobs or workflows
weight 2 · round drawnJina Readernone0/10Jina Reader is a URL-to-text/API conversion service with no evidence of a scheduler, cron-like trigger, or recurring workflow feature; nothing in the evidence pack describes recurring jobs or workflow automation beyond single-shot fetch requests.
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 drawnJina Readernone0/10No evidence of team/organization management, shared scraper libraries, or role-based access control features; Jina Reader is a URL-to-text API product with no collaboration or RBAC layer mentioned anywhere in the evidence pack.
Deployment flexibility
developerBuild and deploy custom serverless scraping scripts on the platform without managing my own infrastructure
weight 2 · round to ScrapingBeeJina Readernone0/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.)
ScrapingBee is a managed scraping API (no infrastructure to manage) and supports JS 'scenarios' for custom page interaction plus extraction rules, which is a lightweight form of custom scraping logic. However, there is no evidence of a true serverless scripting/deployment platform (e.g., custom code upload, scheduled jobs, or a scripting runtime) — the story's 'build and deploy custom scripts' aspect is only partially matched by parameterized API calls. Missing for 10: evidence of a script/job deployment mechanism, scheduling, or custom code execution beyond JS scenario snippets, and independent developer confirmation of this workflow.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
developerDeploy the scraping service via a Docker container for production use
weight 2 · round to Jina ReaderA 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 ReaderGitHub 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…”
ScrapingBeenone0/10ScrapingBee is a hosted cloud scraping API with no evidence of an open-source, self-hostable version; community comments explicitly ask about open-sourcing the stack, confirming none exists.
- [community] “Any plans on open sourcing any part of your stack instead of relying on paid services like ScrapingBee? What does your SaaS setup look like?”
- [community] “Have you looked at running something locally instead of paying for ScrapingBee? I'm using Laravel and considering Dusk to retrieve page cont…”
Integrations
developerConnect the scraping API to no-code automation platforms like n8n or Zapier through a prebuilt connector
weight 2 · round drawnJina Readernone0/10No evidence of a prebuilt n8n or Zapier connector; the evidence only covers the REST API, headers, self-hosting, and an MCP server, none of which constitute a no-code automation platform connector.
Library compatibility
developerBuild scrapers using popular open-source automation libraries like Playwright, Puppeteer, Selenium, or Scrapy
weight 2 · round drawnJina Readernone0/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.)
ScrapingBeenone0/10The evidence pack describes ScrapingBee's own API parameters (JS scenario, screenshots, extraction rules, proxies) but contains no mention of official integrations, SDKs, or middleware for Playwright, Puppeteer, Selenium, or Scrapy. No documentation, probe, or community evidence shows developers can plug ScrapingBee into these specific open-source automation libraries.
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 drawnJina 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.
ScrapingBeenone0/10No evidence of any export/migration tooling for scraped data or job configs in a portable format; the docs cover API parameters and scraping features but nothing about data portability or provider migration. missing for 10: export format documentation, job/config export mechanism, migration guides or tooling, any mention of avoiding vendor lock-in.
Quickstart
developerPublish my custom scraper to a public marketplace and earn revenue when others use it
weight 1 · round drawnJina Readernone0/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 drawnJina Readernone0/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.)
developerStart building immediately using a library of ready-made project templates
weight 1 · round drawnJina Readernone0/10Jina Reader is a URL-to-text/API service with usage flags and headers, but there is no evidence of any ready-made project templates or starter kits for developers to bootstrap projects with.
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 to ScrapingBeeJina 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…”
ScrapingBee's ai_query parameter lets developers specify in natural language the information they want extracted from a webpage, avoiding manual CSS/XPath selectors, as an alternative to the selector-based extract_rules feature. missing for 10: independent/hands-on validation of AI extraction accuracy, and details on structured output schema/reliability beyond the docs blurb.
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
developerPass a JSON schema so the API returns structured data matching that schema
weight 2 · round to Jina ReaderDocs 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…”
ScrapingBee offers extract_rules (CSS-selector based structured extraction) and ai_query (AI-driven extraction), which let developers get structured data, but there is no evidence of accepting a formal JSON Schema definition that the API validates/conforms output to — extract_rules is a custom stringified JSON of selectors, not a schema spec. missing for 10: explicit JSON Schema input support, schema validation/conformance guarantee, examples of schema-driven structured output.
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
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 ReaderReader 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…”
ScrapingBee has an ai_query parameter that lets an LLM extract requested information from a page without pre-written CSS/XPath selectors, directly matching the story's intent, but this is described only in a single doc line rather than deeply documented with examples of dynamic field discovery. missing for 10: no documentation showing the AI deciding on its own what structured fields/schema to output (vs. a user-specified query), no independent/hands-on evidence of extraction quality or reliability, and no example of full structured JSON field inference without any query guidance.
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
developerPlug in a local or self-hosted LLM as the extraction backend instead of a cloud-only model
weight 2 · round drawnJina 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…”
ScrapingBeenone0/10ScrapingBee's AI extraction (ai_query) uses its own cloud-based AI backend with no documented option to plug in a local or self-hosted LLM; evidence shows only a fixed AI extraction parameter, not a configurable backend.
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
Basic scraping
developerScrape a web page with a single API call and get its raw HTML back
weight 3 · round to ScrapingBeeJina 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`.”
Docs confirm a single API call with just an API key and target URL returns the page's HTML, with straightforward defaults (docs-1) and no complex setup required. Additional options (JS rendering, wait selectors, markdown/extract_rules) show this basic case is well-supported and flexible, though there's no independent hands-on confirmation of raw HTML fidelity. Missing for 10: independent/community verification of raw HTML output quality.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
Data safety
data-engineerAutomatically detect and filter personally identifiable information out of scraped content before it reaches storage
weight 2 · round drawnJina Readernone0/10No evidence of any PII detection or redaction/filtering feature; Jina Reader's documented capabilities focus on content extraction, formatting, chunking, and structured extraction via schemas, not privacy/PII filtering.
Document extraction
data-engineerExtract text content from PDFs, Word, Excel, and PowerPoint files without hosting them myself
weight 2 · round to Jina ReaderJina 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 ReaderJina 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…”
ScrapingBeenone0/10No evidence of an image-captioning or alt-text generation feature; ScrapingBee's AI features (ai_query) extract structured data from page text/HTML, not image captions for visual content, and by default it blocks images entirely. Missing for 10: any documented image captioning/vision-to-text capability, alt-text generation, or multimodal image description output.
- [claimed-docs] “By default, and to speed up requests, ScrapingBee blocks all images and CSS in the scraped page, but to scrape them, use `block_resources=fa…”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
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 to Jina ReaderJina 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…”
ScrapingBeenone0/10Evidence shows ScrapingBee scrapes a given URL (with JS rendering, markdown output, extract_rules, ai_query) but nothing indicates a single API call that performs a web search and returns full page content for each result — the llms.txt probe mentions 'search' only in passing with no supporting detail. Missing for 10: any documented search endpoint, example combining query+results with full page bodies, or independent confirmation of this workflow.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [probe] “PROBE llms.txt: HTTP 200 at https://www.scrapingbee.com/llms.txt # ScrapingBee Documentation > Official documentation index for ScrapingBee…”
Selector extraction
developerExtract specific fields from a page using CSS or XPath selector rules
weight 3 · round to ScrapingBeeJina 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…”
Docs explicitly document extract_rules for CSS-based field extraction and confirm the headless browser waits on CSS/XPath selectors, directly supporting structured field extraction. missing for 10: no independent/hands-on corroboration of extraction accuracy or XPath-specific examples.
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
Structured data handling
data-engineerExtract data from very large tables using intelligent chunking so it fits within processing limits
weight 1 · round to Jina ReaderReader 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 …”
ScrapingBeenone0/10ScrapingBee's evidence covers web scraping features (JS rendering, proxies, extraction rules, AI queries) but nothing addresses handling very large tables, chunking data to fit processing/token limits, or pagination strategies for oversized datasets. Missing for 10: any mention of table extraction, chunking mechanism, size-limit handling, or pagination/splitting of large data outputs.
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 ScrapingBeeThe 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”
ScrapingBee's docs explicitly describe headless-browser rendering of JS-heavy SPAs built with React/Angular/Vue/JQuery, with support for waiting on selectors and running JS scenarios before returning fully rendered HTML. This directly matches the story's core capability, though evidence lacks independent hands-on corroboration of rendering fidelity. Missing for 10: independent/hands-on verification of rendered output quality, benchmarks against specific SPA frameworks.
- [claimed-docs] “This can be useful for scraping a Single Page Application built with frameworks such as React.js, Angular.js, JQuery or Vue.”
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
developerHave the API wait for a specific selector to appear before returning the rendered page
weight 2 · round to ScrapingBeeJina 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”
ScrapingBee's docs explicitly state headless browsers wait for a CSS/XPath selector before returning HTML, directly matching the story. Missing for 10: independent/hands-on confirmation of this specific wait-for-selector behavior beyond vendor docs, and example code showing the parameter in use.
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
Interactive automation
developerAccess a managed remote browser sandbox for interactive, manual browsing workflows
weight 2 · round drawnJina Readernone0/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.)
ScrapingBeenone0/10ScrapingBee's documentation describes a headless browser API for automated scraping (JS scenarios, screenshots, extraction rules) but no evidence of an interactive, manual remote-browser sandbox session a developer could drive by hand.
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
- [claimed-docs] “If you need to change the dimension of the browser's viewport (window) when scraping the target page you can use the `window_width` and `win…”
developerKeep interacting with an already-scraped page, clicking and filling forms to reach content behind a login wall
weight 2 · round to ScrapingBeeJina 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”
ScrapingBee's JS 'scenario' feature lets you script click/fill actions before the page HTML is returned, and session_id lets you reuse the same IP across multiple API calls to preserve login state — enabling a login-wall workflow. However, evidence shows only a stateless-per-request model (scenario executed once, then HTML returned) rather than a persistent, continuously interactive browser session across multiple later calls. Missing for 10: documentation of a true persistent/interactive session object you can repeatedly command, and any hands-on confirmation this pattern reliably defeats login walls.
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
- [claimed-docs] “session_id [integer] ("") Route multiple API requests through the same IP address”
developerScript page interactions like clicking, filling inputs, and scrolling before content is returned
weight 3 · round to ScrapingBeeJina 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”
ScrapingBee's docs explicitly describe a 'JavaScript scenario' feature to interact with pages (click, fill, scroll, etc.) before HTML is returned, plus wait-for-selector support to ensure content loads after interactions. This directly matches the story of scripting interactions before content is returned, though evidence lacks a full list of supported actions or independent hands-on confirmation. Missing for 10: detailed enumeration of supported interaction commands (click/fill/scroll) beyond generic 'JavaScript scenario' mention, and independent/community validation of this specific feature.
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
- [claimed-docs] “This can be useful for scraping a Single Page Application built with frameworks such as React.js, Angular.js, JQuery or Vue.”
Render configuration
developerControl the browser viewport width and height when rendering a page
weight 1 · round to ScrapingBeeJina Readernone0/10No evidence pack item mentions viewport width/height control, browser window sizing, or any device-emulation/viewport configuration options for Jina Reader's rendering.
Official docs explicitly state window_width and window_height parameters let developers change the browser viewport dimensions when rendering the target page. missing for 10: no independent/hands-on corroboration beyond first-party docs.
- [claimed-docs] “If you need to change the dimension of the browser's viewport (window) when scraping the target page you can use the `window_width` and `win…”
Session persistence
developerPass my own session cookies so the API fetches pages requiring authentication
weight 2 · round to Jina ReaderJina 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 drawnJina 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”
ScrapingBeenone0/10ScrapingBee's docs mention session_id only for routing requests through the same IP address, not for persisting cookies or login state across requests; no evidence of a saved browser profile or session state reuse mechanism.
- [claimed-docs] “session_id [integer] ("") Route multiple API requests through the same IP address”
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 ReaderJina 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…”
ScrapingBee is API-first, and the docs show an extensive, feature-rich API surface (JS rendering, screenshots, extraction rules, AI query, proxies, session control) covering essentially all scraping functionality (scrapingbee-docs-1 through 15). However, there is no explicit statement comparing the API's capabilities to what's available in ScrapingBee's dashboard/UI, so full parity can't be confirmed from evidence. Missing for 10: explicit UI-vs-API feature parity documentation, confirmation that dashboard-only tools (e.g. request builder, account settings) have no capabilities absent from the API.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “screenshot_selector [string] ("") Return a screenshot of a particular area of the page, targeted by a CSS selector”
ai-native userExport all of my data in open formats and leave
weight 3 · round to ScrapingBeeJina Readernone0/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.)
ScrapingBee returns scraped content in open formats such as raw HTML, JSON (extract_rules) and Markdown (return_page_markdown), so output data is not locked into a proprietary format. However, there is no evidence of account-level data export, no mention of stored user data portability, and no explicit 'leave anytime with your data' commitment—since it's a stateless scraping API, the 'export and leave' framing only partially applies. Missing for 10: account/usage data export tooling, explicit data-portability statement, independent confirmation of format openness beyond docs.
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [claimed-docs] “return_page_markdown [boolean] (false) Return the page content in markdown format”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
ai-native userRead the product's source under an open license
weight 2 · round to Jina ReaderJina 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…”
ScrapingBeenone0/10No evidence ScrapingBee's core product source is available under an open license; it is a closed, paid SaaS API. A community comment even asks whether the vendor plans to open source any part of their stack, implying it currently is not.
- [community] “Any plans on open sourcing any part of your stack instead of relying on paid services like ScrapingBee? What does your SaaS setup look like?”
ai-native userSelf-host the core product
weight 3 · round to Jina ReaderThe 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…”
ScrapingBeenone0/10ScrapingBee is a hosted SaaS API; no evidence of any self-hostable core product, on-premise deployment option, or open-source release. Community comment explicitly asks whether ScrapingBee plans to open-source its stack, with no vendor response indicating such an offering exists.
- [community] “Any plans on open sourcing any part of your stack instead of relying on paid services like ScrapingBee? What does your SaaS setup look like?”
- [community] “Have you looked at running something locally instead of paying for ScrapingBee? I'm using Laravel and considering Dusk to retrieve page cont…”
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 to Jina ReaderJina 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…”
ScrapingBee's docs explicitly offer a `return_page_markdown` parameter to return page content as markdown instead of raw HTML, directly matching the story. Missing for 10: independent/hands-on confirmation of markdown output quality and any community corroboration of this specific feature.
- [claimed-docs] “return_page_markdown [boolean] (false) Return the page content in markdown format”
developerChoose exactly which output format is returned, such as markdown, HTML, text, or frontmatter
weight 2 · round to Jina Readerjina-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).
Docs confirm HTML is the default output and a dedicated `return_page_markdown` parameter lets developers get markdown instead, but there's no documented option for a plain-text-only extraction or a frontmatter output format, and extract_rules/ai_query only allow custom JSON-style extraction, not those specific formats. Missing for 10: explicit plain-text output mode, frontmatter output support, independent confirmation of format switching.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [claimed-docs] “return_page_markdown [boolean] (false) Return the page content in markdown format”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
developerReceive scraped content as structured JSON
weight 3 · round drawnJina 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**”
ScrapingBee offers extract_rules for CSS-selector-based structured data extraction and ai_query for AI-driven extraction, plus return_page_markdown for markdown output, indicating structured output beyond raw HTML. However, there's no explicit documented 'return as JSON' toggle or example showing a full JSON schema response, and no independent/community confirmation of structured JSON output quality. Missing for 10: explicit JSON output examples/schema, independent verification of structured JSON extraction reliability.
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “return_page_markdown [boolean] (false) Return the page content in markdown format”
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 ReaderJina 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 …”
ScrapingBee offers return_page_markdown to get markdown output plus ai_query for AI-driven extraction and premium proxies/JS rendering to avoid blocking, directly addressing the LLM-ready text need. However, evidence doesn't show a dedicated 'clean text extraction' mode beyond markdown/extract_rules, and no independent benchmarks confirm output quality for LLM consumption. missing for 10: independent validation of markdown/text cleanliness, dedicated boilerplate-removal/reader-mode feature, hands-on confirmation from users of LLM-ready output.
- [claimed-docs] “return_page_markdown [boolean] (false) Return the page content in markdown format”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
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 ReaderJina 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 …”
ScrapingBeenone0/10ScrapingBee offers markdown conversion, CSS-based extraction rules, and AI query extraction, but no evidence of semantic/chunked output splitting content into retrieval-ready segments. The docs list output options (HTML, markdown, screenshots, extract_rules) but never mention chunking or segmenting content for RAG pipelines.
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “return_page_markdown [boolean] (false) Return the page content in markdown format”
Visual capture
developerCapture a screenshot of a full page or a specific selected area
weight 2 · round to ScrapingBeeJina Readernone0/10No evidence in the pack mentions screenshot capture of full pages or selected areas; Jina Reader's documented capabilities focus on converting URLs to Markdown/text, image captioning, and structured extraction, not visual screenshots.
Docs confirm a `screenshot_selector` parameter for capturing a specific CSS-selected area of a page, directly supporting selected-area screenshots. However, no evidence explicitly documents a full-page screenshot parameter or option, so only half the story is substantiated. Missing for 10: explicit full-page screenshot parameter/documentation, independent/hands-on confirmation of screenshot output quality.
- [claimed-docs] “screenshot_selector [string] ("") Return a screenshot of a particular area of the page, targeted by a CSS selector”
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 to ScrapingBeeJina 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”
ScrapingBee's docs explicitly describe a `mode=auto` parameter that lets the API pick the cheapest configuration that still succeeds, directly matching the story. This is first-party documented evidence, though there's no independent/hands-on corroboration of its effectiveness. Missing for 10: independent verification that auto mode reliably picks the cheapest successful config in practice.
- [claimed-docs] “mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto”
developerBlock ads on the target page to speed up scraping requests
weight 1 · round to ScrapingBeeJina Readernone0/10No evidence of any ad-blocking or content-filtering feature to speed up scraping; Reader's evidence covers output formatting, chunking, proxy rotation, and cookie forwarding, but nothing about blocking ads/trackers on the target page.
Official docs explicitly document the `block_ads=true` parameter to prevent ad loading and speed up scraping requests, directly matching the story. Missing for 10: independent/hands-on corroboration of the speed benefit and no third-party benchmark confirming the claim.
- [claimed-docs] “By default, ScrapingBee does not block ads. To avoid scraping them (e.g.,to speed up your request), use `block_ads=true`”
developerBlock images and CSS resources by default to reduce bandwidth and speed up requests
weight 1 · round to ScrapingBeeJina Readernone0/10No evidence of an option to block images or CSS resources by default; Reader's documented features focus on content extraction, VLM image captioning, and output formatting, not resource-blocking for bandwidth savings.
Official docs explicitly state ScrapingBee blocks all images and CSS by default to speed up requests, with an opt-out via block_resources=false, directly matching the story. Missing for 10: independent/hands-on corroboration beyond vendor docs.
- [claimed-docs] “By default, and to speed up requests, ScrapingBee blocks all images and CSS in the scraped page, but to scrape them, use `block_resources=fa…”
ai-native userSet how much reasoning effort an autonomous agent spends on a data-gathering task (low, medium, high)
weight 2 · round drawnJina 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 drawnJina 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 drawnJina 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”
ScrapingBeenone0/10The evidence pack contains no documentation or discussion of billing behavior for failed, blocked, or empty-result requests—no mention of credit refunds, only-charge-on-success policies, or how failed/blocked scrapes affect quota consumption. Community comments discuss cost/pricing generally but not this specific billing mechanic.
developerSet a spending cap or usage alert so proxy/credit consumption doesn't silently blow past my budget
weight 3 · round drawnJina 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”
ScrapingBeenone0/10No evidence of any spending cap, usage alert, or budget notification feature in ScrapingBee's docs or community reports; community comments even highlight cost as a pain point without mentioning any budget-control tooling.
- [community] “Using ScrapingBee is expensive; I've brought the cost of a CRM creation down to about 1.5 cents (+3 cents for a custom cover image) by looki…”
Performance tuning
developerTrade off latency against completeness by controlling exactly when content is returned
weight 1 · round to Jina ReaderThe `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”
ScrapingBee lets developers control timing/completeness tradeoffs via wait-for-selector, JS scenarios, block_ads/block_resources flags, and an 'auto' mode that picks the cheapest successful configuration, giving direct levers over latency vs. completeness. However, this is all documented capability with no independent benchmarking or hands-on confirmation of actual latency impact. Missing for 10: independent/hands-on verification of latency-completeness tradeoffs, explicit 'wait' or timeout parameter documentation, and real-world performance data beyond vendor docs.
- [claimed-docs] “If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.”
- [claimed-docs] “Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.”
- [claimed-docs] “By default, ScrapingBee does not block ads. To avoid scraping them (e.g.,to speed up your request), use `block_ads=true`”
- [claimed-docs] “By default, and to speed up requests, ScrapingBee blocks all images and CSS in the scraped page, but to scrape them, use `block_resources=fa…”
- [claimed-docs] “mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto”
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 drawnJina 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 drawnJina Readernone0/10No evidence anywhere in the pack mentions data residency, region selection, or storage location controls; only self-hosting via a prebuilt container image is mentioned, which is a deployment option not a residency control feature.
ScrapingBeenone0/10Evidence covers proxy geolocation for scraping targets (country_code) but no mention of data residency or storage region controls for ScrapingBee's own data handling/storage; no privacy/compliance documentation is present. Missing for 10: any documentation of data storage regions, residency options, or compliance certifications (e.g., EU data hosting).
- [claimed-docs] “country_code [string] ("") Premium proxy geolocation”
ai-native userPrevent my data from being used to train AI models
weight 3 · round drawnJina Readernone0/10No evidence found of any data-training opt-out, privacy policy, or no-training guarantee for Jina Reader; the pack covers only functional features (parsing, chunking, proxying) and unrelated auth/probe issues.
ai-native userControl data retention and deletion
weight 2 · round drawnJina Readernone0/10No evidence pack item addresses data retention policies, data deletion controls, or user-facing settings to manage stored data lifecycle; evidence covers scraping features, formats, and proxying but nothing about retention/deletion posture.
ScrapingBeenone0/10No evidence in the pack addresses data retention policies, deletion controls, or privacy/data lifecycle management for ScrapingBee; documentation excerpts focus solely on scraping features and API parameters. Missing for 10: any mention of data retention windows, deletion APIs/requests, privacy policy details, or compliance certifications.
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnJina Readernone0/10No evidence pack item mentions telemetry, usage tracking, analytics, or an opt-out mechanism for Jina Reader; the docs focus on API features and scraping, not privacy controls.
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 ReaderReader 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.”
ScrapingBeenone0/10ScrapingBee's docs describe single-page scraping, AI-based extraction (ai_query), and cost-optimizing 'auto' mode, but there is no evidence of adaptive multi-step crawling that dynamically decides when enough information has been gathered to stop. No crawling/agentic loop or stopping-criteria feature is documented.
- [claimed-docs] “ai_query [string] ("") The information you want to extract from the webpage using AI”
- [claimed-docs] “mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto”
Batch processing
data-engineerBatch scrape thousands of URLs asynchronously
weight 3 · round drawnJina Readernone0/10Evidence covers single-URL conversion, search-based fetching, proxy rotation, and format options, but nothing documents a batch/bulk endpoint, job queue, or async processing pipeline for thousands of URLs at once.
ScrapingBeenone0/10The evidence pack only documents single-URL synchronous scraping API parameters (JS rendering, extraction rules, proxies, screenshots) with no mention of batch job submission, async processing, concurrency limits, or a queue/webhook system for handling thousands of URLs at scale.
developerApply different crawl configurations to different URL patterns within a single batch job
weight 1 · round drawnJina 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.
ScrapingBeenone0/10ScrapingBee's API is per-URL request based with configuration parameters set per call; there is no evidence of a 'batch job' concept or a way to define per-URL-pattern rules within a single job. The docs describe single-page scraping options (JS scenario, extract_rules, proxies, etc.) but nothing about batch jobs with pattern-based configuration.
Concurrency
data-engineerSpin up many concurrent scraping sessions to gather data at scale
weight 3 · round to Jina ReaderReader 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”
ScrapingBee is inherently an API you can call many times, and docs mention session_id for routing multiple requests through the same IP, but the evidence pack contains no explicit documentation of concurrency limits, parallel-request quotas, or scaling architecture for high-volume data-engineering workloads. Missing for 10: explicit concurrency/rate-limit specs, documented plan-based concurrent request caps, and independent evidence of successful large-scale concurrent scraping.
- [claimed-docs] “session_id [integer] ("") Route multiple API requests through the same IP address”
- [claimed-docs] “premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites”
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
Crawl compliance
data-engineerConfigure the crawler to respect robots.txt rules and target-site rate limits automatically
weight 2 · round drawnJina Readernone0/10No evidence in the pack mentions robots.txt compliance or configurable rate-limiting; features described relate to output formatting, proxying, and anti-bot bypass, not politeness controls.
Fault tolerance
data-engineerResume a crashed deep crawl from a saved checkpoint instead of restarting from scratch
weight 2 · round drawnJina Readernone0/10Jina Reader is a URL-to-markdown conversion API/tool, not a deep-crawl orchestration system with crawl-state checkpointing; no evidence anywhere in the pack mentions crawl checkpoints, resumable crawls, or job-state persistence.
Operational transparency
data-engineerCheck a public status page showing uptime history and past incident postmortems before committing to the service
weight 2 · round drawnJina 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 drawnJina Readernone0/10Jina Reader converts URLs into LLM-ready content on-demand but there is no evidence of scheduled monitoring, diffing, or change-notification features (webhooks, alerts, polling schedules) that would let a data-engineer track content changes over time.
ScrapingBeenone0/10ScrapingBee is an on-demand scraping API (fetch a page, extract data, render JS) with no evidence of scheduled monitoring, change-detection, diffing, or notification/webhook features for tracking content changes over time. The evidence pack only covers single-request scraping parameters, proxies, and rendering options, not continuous monitoring or alerting.
data-engineerMonitor job performance, validate data quality, and receive alerts when something fails
weight 2 · round drawnJina Readernone0/10No evidence of job performance monitoring, data quality validation, or failure alerting features; evidence covers content extraction and formatting only, with community reports even noting undocumented API limits and auth errors rather than monitoring/alerting tooling.
developerMonitor live system metrics and worker/browser pool status through a real-time dashboard
weight 1 · round drawnJina 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 drawnJina Readernone0/10No evidence of any scheduling, cron, or job-queue feature; Jina Reader is a synchronous URL-to-text API with no mention of automated/recurring execution.
Site crawling
data-engineerRun a deep crawl using a breadth-first strategy with a configurable maximum page limit
weight 2 · round drawnJina Readernone0/10No evidence of a deep-crawl feature with breadth-first strategy or configurable page-limit; Jina Reader converts single URLs or performs top-5 search results, not a crawler with BFS/page-limit controls.
ScrapingBeenone0/10ScrapingBee's documented API is per-page scraping (single URL requests with rendering, extraction, proxy options) with no evidence of a crawl orchestration feature supporting breadth-first traversal or a configurable max-page limit for multi-page crawls.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [claimed-docs] “extract_rules [stringified JSON] ("") Data extraction from CSS selectors”
developerCrawl an entire website and get content from all its pages with one request
weight 3 · round drawnJina Readernone0/10Jina Reader's evidence describes converting single URLs to LLM-friendly text and a search-then-fetch-top-5 mode, but there is no evidence of a whole-site crawl feature that traverses all pages of a domain in one request.
ScrapingBeenone0/10ScrapingBee's API is designed for single-page scraping requests (one URL per call); the evidence shows no crawler feature that follows links across a domain or aggregates content from multiple pages in one request. No mention of a 'crawl' endpoint, sitemap traversal, or multi-page job in a single API call.
- [claimed-docs] “To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape”
- [claimed-docs] “This can be useful for scraping a Single Page Application built with frameworks such as React.js, Angular.js, JQuery or Vue.”
developerInstantly discover all URLs on a website without fully crawling it
weight 2 · round drawnJina Readernone0/10Jina Reader converts individual URLs into clean text/markdown and can search top results, but there is no evidence of a sitemap/URL-discovery feature that lists all URLs on a site without crawling it.
ScrapingBeenone0/10ScrapingBee's evidence covers page scraping, JS rendering, extraction rules, proxies, and AI queries, but nothing describes a sitemap/URL-discovery feature that lists all URLs on a site without crawling each page. No sitemap parsing, URL enumeration, or site-mapping endpoint is documented.
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableJina 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”
ScrapingBeen/aScrapingBee is a web-scraping API/SaaS product, not an agent or orchestration platform that would itself consume other MCP servers' tools; evidence only shows it exposes its own MCP server (mcp.scrapingbee.com), i.e., it is the tool provider, not a tool consumer. Plugging external MCP servers into ScrapingBee to gain their tools is a category error for this kind of product.
- [probe] “official MCP server documented at https://mcp.scrapingbee.com/”
ai-native userVersion, review, and roll back my automations
weight 1 · not comparableJina Readern/aJina Reader is a URL-to-LLM-text conversion API/service, not an automation platform with workflow definitions; there is no concept of an 'automation' to version, review, or roll back. This axis is a category error for this product type.