Jina Reader vs Context.dev
Context.dev wins · 21–31 (42 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 Context.devJina 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”
Context.dev has a confirmed live llms.txt at docs.context.dev/llms.txt (HTTP 200, agent-oriented index of docs), plus agent-oriented docs, MCP server, CLI, and a coding-agent skill install guide, directly enabling an agent to be pointed at agent-native documentation. Missing for 10: independent third-party confirmation that agents successfully consume the llms.txt in practice beyond the probe check.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.context.dev/llms.txt # Context.dev - [The go-to web data API](https://docs.context.dev/introductio…”
- [claimed-docs] “Connect your AI client to Context.dev tools for live web and company data.”
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
- [claimed-docs] “Teach your coding agent how to choose and use the Context.dev API.”
- [probe] “official MCP server documented at https://mcp.context.dev/mcp”
- [probe] “official CLI documented at https://docs.context.dev/install-cli”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to Context.devJina 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…”
Context.dev ships a CLI explicitly documented for scripting and CI use ('Call Context.dev from your terminal and use JSON responses in scripts or CI'), backed by a full REST API with OpenAPI spec, async batch jobs for long-running headless crawls, and documented rate-limit/timeout handling suited to automated pipelines. Missing for 10: no explicit CI/CD pipeline example (e.g., GitHub Actions), and no independent/community confirmation of headless CI usage beyond vendor docs.
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “`return-partial` | Return usable completed work with a completion marker. If no usable result exists, fail without a charge.”
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
- [probe] “official CLI documented at https://docs.context.dev/install-cli”
ai-native userConnect an agent via an official MCP server
weight 3 · round to Context.devJina 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”
Context.dev is a web-data API (not itself an agent), so the MCP-server axis applies, and it publishes an official hosted MCP endpoint (mcp.context.dev/mcp) plus install docs for connecting AI clients to its tools for live web/company data. Missing for 10: independent/hands-on verification of the MCP server working in practice beyond first-party docs and a probe confirming the endpoint exists.
- [probe] “official MCP server documented at https://mcp.context.dev/mcp”
- [claimed-docs] “Connect your AI client to Context.dev tools for live web and company data.”
ai-native userUse an official CLI
weight 2 · round to Context.devJina 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.
Docs and probe confirm an official CLI exists ('Call Context.dev from your terminal and use JSON responses in scripts or CI') with a dedicated install page, supporting agentic/CI workflows. However, there's no independent/hands-on corroboration of the CLI's functionality or depth beyond first-party docs. Missing for 10: independent verification/hands-on review of CLI usage, details on CLI command coverage vs the full API surface.
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
- [probe] “official CLI documented at https://docs.context.dev/install-cli”
ai-native userDrive the product through a documented public API
weight 3 · round to Context.devJina 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:…”
Context.dev is fundamentally an API product with a public OpenAPI spec, documented endpoints (crawl, extract, screenshot, brand data, auth), API key management, rate-limit headers, plus a CLI and MCP server built on top of the same API — clear evidence of a documented, drivable public API for AI-native consumption. Missing for 10: independent third-party developer confirmation of full API coverage beyond docs/probes.
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Choose **Restricted** when an integration needs only selected operations; a restricted key with no permissions cannot call the API.”
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
- [claimed-docs] “discover → register → deliver setup link & code to the user → user completes claim in browser → poll for access_token → call API.”
- [probe] “official CLI documented at https://docs.context.dev/install-cli”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round to Context.devJina 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.
Docs explicitly describe restricted API keys scoped to selected operations only, with a no-permission key unable to call the API at all, directly supporting least-privilege credential issuance for agents; the OAuth-like device flow (discover→register→claim→poll) also supports scoped token issuance per client. missing for 10: no evidence of fine-grained scoping beyond operation-level (e.g., resource/data scoping), and no independent/hands-on confirmation of restricted-key behavior in production.
- [claimed-docs] “Choose **Restricted** when an integration needs only selected operations; a restricted key with no permissions cannot call the API.”
- [claimed-docs] “discover → register → deliver setup link & code to the user → user completes claim in browser → poll for access_token → call API.”
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:…”
Context.devnone0/10The evidence shows an OpenAPI spec, CLI, MCP server, and 'skill' for coding agents, but there is no mention of official SDK client libraries (e.g., Python, JS, Go packages) for Context.dev. Missing for 10: explicit official SDK packages/documentation, language-specific client libraries, versioning/release notes for SDKs.
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
- [probe] “official CLI documented at https://docs.context.dev/install-cli”
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
ai-native userSubscribe to events via webhooks
weight 2 · round to Context.devJina 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.
Context.dev supports monitoring pages/sitemaps/datasets and receiving 'signed change events' on a schedule, which functions as a webhook-like event delivery mechanism, but the docs never explicitly describe a subscribe/webhook API, event types, delivery retries, or webhook management endpoints. missing for 10: explicit webhook subscription/management API docs, event schema/type documentation, delivery reliability/retry details, and independent confirmation of webhook functionality.
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
Agentic features
ai-native userGet AI-generated insights and suggestions from my data inside the product
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.)
Context.devnone0/10Context.dev is a data-extraction/scraping API (Markdown, structured JSON extraction, screenshots, brand data) intended to feed external AI agents and applications, but there is no evidence of the product itself surfacing AI-generated insights, recommendations, or analysis inside a Context.dev interface — it delivers raw/structured data, not in-product AI insight generation.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “retrieve brand profiles with logos, colors, descriptions, and social links through the same API.”
- [claimed-docs] “Connect your AI client to Context.dev tools for live web and company data.”
ai-native userSet up automations that run autonomously in the background
weight 2 · round to Context.devJina 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.)
Context.dev supports background automation via async batch crawling that runs as a tracked job until completion, and scheduled monitoring of pages/sitemaps/datasets that emits signed change events without user intervention — both run autonomously once configured. However, there's no evidence of a broader automation/workflow engine (e.g., chaining actions, triggering downstream agent tasks, retries/orchestration) beyond these two specific background job types. Missing for 10: evidence of workflow chaining or agent-triggered automation, independent confirmation of monitoring reliability, and details on scheduling flexibility.
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
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…”
Context.dev ships an official MCP server ('Connect your AI client to Context.dev tools for live web and company data') and an agent 'skill' file that teaches coding agents how to call the API, which together let AI-native users issue natural-language requests that get translated into API calls; there is also a CLI for scripted/terminal use. However, all natural-language operation is mediated through third-party AI clients (Claude, agents) rather than a native NL interface in Context.dev itself, and no community/hands-on evidence confirms this NL workflow works smoothly in practice. Missing for 10: first-party or independent evidence of actual natural-language usage/output quality via the MCP or skill integration, and any native chat/NL interface within the product itself.
- [claimed-docs] “Connect your AI client to Context.dev tools for live web and company data.”
- [claimed-docs] “Teach your coding agent how to choose and use the Context.dev API.”
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
- [probe] “official MCP server documented at https://mcp.context.dev/mcp”
- [probe] “official CLI documented at https://docs.context.dev/install-cli”
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…”
Context.devnone0/10Context.dev is a web scraping/data extraction API with structured extraction, crawling, and monitoring features, but there is no evidence of a preset or configuration profile specifically tuned for 'research agents' that returns structured, citable output (e.g., with source attribution/citations). The extraction guide supports JSON Schema output but nothing about citation tracking or a research-agent preset.
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.
Context.devnone0/10Evidence confirms docs, guides, and an OpenAPI spec exist, but nothing indicates an interactive reference with runnable/try-it-out examples (no Swagger/Redoc playground, no 'try it' feature mentioned).
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round to Context.devJina 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.
A probe confirms a live OpenAPI JSON spec at docs.context.dev/openapi.json (HTTP 200, contains 'openapi' key), directly satisfying the machine-readable spec requirement, alongside first-party docs describing the API surface. Missing for 10: independent third-party corroboration of spec completeness/versioning beyond the probe check.
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
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.
data-engineerThe documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in
weight 3 · round to Context.devJina 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:…”
Docs confirm a per-minute rate limit exists and that authenticated responses expose rate-limit headers, but no specific numeric threshold (requests/sec or /min) is given in the evidence. Missing for 10: the actual documented numeric limit value, guidance on limits per plan/key tier, and confirmation via headers example showing remaining/limit values.
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
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 Jina ReaderReader'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”
Context.devnone0/10Context.dev is a web scraping/crawling/data-extraction API; there is no evidence of CAPTCHA-solving, login/session automation, or form-wall bypass capability. Community comments even question its handling of restricted/anti-scraping sites, and no docs describe login or CAPTCHA handling.
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
- [community] “\"Websites can opt out of our service, and we respect these requests and add them to our block list.\" I.e: robots.txt already exists and is…”
- [community] “Are you using residential proxies? How do you handle websites that don't want to be scraped. EG if I start passing in Linkedin pages what is…”
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
data-engineerAutomatically retry through a chain of different proxies when anti-bot detection blocks a request
weight 2 · round to Jina ReaderJina 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…”
Context.devnone0/10No documentation or evidence describes proxy rotation, proxy-chain retries, or anti-bot bypass mechanisms; a community comment explicitly notes the homepage never mentions IP rotation or residential proxies, reinforcing the absence of this capability.
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
- [community] “Are you using residential proxies? How do you handle websites that don't want to be scraped. EG if I start passing in Linkedin pages what is…”
developerUse an undetected browser mode to bypass sophisticated bot detection systems
weight 3 · round drawnJina 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…”
Context.devnone0/10No evidence in the pack claims an 'undetected browser' or anti-bot-bypass mode; the docs describe scraping, crawling, screenshots, and browser actions but never mention stealth/anti-detection techniques, and community comments explicitly question whether the product uses rotating/residential IPs at all, suggesting no such capability is documented.
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
- [community] “Are you using residential proxies? How do you handle websites that don't want to be scraped. EG if I start passing in Linkedin pages what is…”
Proxy rotation
developerRequest a proxy from a specific country to get geolocation-appropriate content
weight 2 · round drawnJina 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…”
Context.devnone0/10No documentation or feature mentions country-specific proxy selection or geolocation control; community comments even question whether Context.dev uses rotating/residential proxies at all, suggesting no such capability exists.
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
- [community] “Are you using residential proxies? How do you handle websites that don't want to be scraped. EG if I start passing in Linkedin pages what is…”
developerUse premium residential or datacenter proxies to bypass sites that are hard to scrape
weight 3 · round to Jina ReaderJina 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…”
Context.devnone0/10No documentation or product page mentions residential/datacenter proxies, IP rotation, or anti-bot bypass infrastructure; community comments explicitly note the absence of any proxy mention and question whether the product can handle high-value/anti-scraping targets like LinkedIn.
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
- [community] “Are you using residential proxies? How do you handle websites that don't want to be scraped. EG if I start passing in Linkedin pages what is…”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
developerRoute requests through a rotating pool of proxy IPs to avoid blocks
weight 3 · round to Jina ReaderReader 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…”
Context.devnone0/10No documentation or product page mentions proxy IP rotation, residential proxies, or anti-blocking infrastructure; a community comment on Hacker News explicitly notes the homepage never mentions 'ip' and questions whether rotating/residential proxies are used at all.
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
- [community] “Are you using residential proxies? How do you handle websites that don't want to be scraped. EG if I start passing in Linkedin pages what is…”
developerRoute multiple requests through the same proxy IP using a session identifier to maintain a consistent identity
weight 2 · round drawnJina 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…”
Context.devnone0/10No documentation or product page mentions session-based IP persistence, sticky sessions, or proxy identity management; the crawl/scrape/extract guides only cover content retrieval, not proxy control. A community comment even flags the total absence of any IP/residential-proxy discussion on the site, reinforcing that this capability isn't offered.
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
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 Context.devThe 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.”
Docs describe genuine bulk capability: async crawl jobs processing up to 25,000 pages in the background with progress tracking, plus a smaller 500-page synchronous crawl mode, which cover bulk operations across many web pages. However, evidence doesn't show bulk operations across arbitrary item sets (e.g., batch brand lookups, batch document parsing, or bulk extraction across a list of disparate items) beyond website crawling, and there's no independent/hands-on corroboration of large-scale batch reliability. Missing for 10: evidence of bulk/batch endpoints beyond crawling (e.g., batch document conversion, batch structured extraction across arbitrary item lists), and third-party validation of large-scale batch performance.
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round to Context.devJina 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.)
Context.dev supports watching a page, sitemap, or dataset on a schedule and receiving signed change events, which functions as an event-trigger mechanism, but this is presented as a single monitoring feature rather than a general rule-definition system with configurable conditions and varied actions. Missing for 10: evidence of a rules/conditions engine, multiple trigger types beyond scheduled monitoring, and configurable downstream actions (e.g., webhooks to arbitrary endpoints, multi-step workflows).
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
ai-native userSchedule recurring jobs or workflows
weight 2 · round to Context.devJina 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.
The docs describe a monitoring feature that watches a page, sitemap, or dataset 'on a schedule' and emits signed change events (context-dev-docs-9), which is a form of recurring job scheduling, but this is scoped only to change-detection, not general recurring crawl/extract/workflow jobs. Missing for 10: evidence of cron-style scheduling for arbitrary crawl/extract jobs, workflow chaining, or a broader job-scheduling API beyond the single 'monitor' feature.
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
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.
Context.devnone0/10No evidence of team/organization features, shared scraper workflows, or role-based permission management beyond restricted API keys, which is a single-key scoping mechanism, not team/org collaboration. Missing for 10: organization/team creation, member invites, role-based access control across users, shared scraper/workflow assets.
- [claimed-docs] “Choose **Restricted** when an integration needs only selected operations; a restricted key with no permissions cannot call the API.”
Deployment flexibility
developerBuild and deploy custom serverless scraping scripts on the platform without managing my own infrastructure
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.)
Context.devnone0/10Context.dev exposes a fixed set of hosted scraping endpoints (crawl, extract, screenshot, monitor, parse) accessed via API/CLI/MCP, but there is no evidence of a mechanism for developers to write and deploy their own custom scraping scripts or actors on the platform's infrastructure. This is a fair question for a web-scraping-as-a-service category, so absence of evidence yields 'none' rather than 'na'.
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…”
Context.devnone0/10No evidence anywhere in the pack of an open-source or self-hostable version of Context.dev; it is presented exclusively as a hosted cloud API/service with CLI, MCP server, and SDKs pointing to context.dev endpoints. Missing for 10: any open-source repo, self-hosting instructions, Docker image, or license permitting local deployment.
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.)
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.
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.)
Context.devnone0/10Context.dev's evidence describes a general-purpose scraping/crawling/extraction API, CLI, and MCP server that developers configure themselves, but no marketplace of pre-built, ready-made scrapers for specific sites/use-cases is mentioned anywhere in the docs, community discussion, or probes.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
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 Context.devJina 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…”
Docs describe an extract endpoint that crawls relevant pages and returns an object matching a JSON Schema with controls for grounding, coverage, and freshness—no CSS/XPath selectors required, just a schema/instructions-driven approach. Missing for 10: no explicit mention of natural-language instruction fields (vs. schema-only), no independent hands-on benchmark of extraction accuracy/quality.
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “retrieve brand profiles with logos, colors, descriptions, and social links through the same API.”
developerPass a JSON schema so the API returns structured data matching that schema
weight 2 · round drawnDocs 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…”
Docs explicitly describe extracting structured data by supplying a JSON Schema, with the API returning an object matching it, plus controls for grounding, coverage, and freshness; an OpenAPI spec is also available for verification. Missing for 10: independent hands-on confirmation of schema-conformance accuracy and no explicit mention of schema validation/error handling edge cases.
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
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…”
The extract-structured-data guide shows the product accepts a JSON Schema and returns matching structured data with grounding/coverage controls, which fits an LLM-driven extraction without pre-written CSS/XPath selectors. However, the evidence doesn't explicitly describe the underlying mechanism as an LLM 'deciding' fields freely versus schema-guided extraction, and there's no example of open-ended field discovery without a supplied schema. Missing for 10: evidence of schema-less/free-form field discovery, and independent hands-on confirmation of extraction quality without selectors.
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
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…”
Basic scraping
developerScrape a web page with a single API call and get its raw HTML back
weight 3 · round to Context.devJina 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`.”
Context.dev's primary scrape endpoints convert pages to Markdown by default (docs-1, docs-2), and raw HTML is only mentioned as an output option for the async batch-crawl job that must be polled for completion (docs-3), not as an immediate single-call response for a single page. This satisfies the general 'scrape a page via API' need but not the specific 'single call → raw HTML' expectation. Missing for 10: documented synchronous single-page endpoint that returns raw HTML directly, independent confirmation of HTML fidelity/quality.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
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 drawnJina 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…”
Docs explicitly describe a 'parse-documents' API that converts PDFs, Office documents, and spreadsheets into Markdown, including OCR recovery for scanned PDFs, delivered as a hosted API (no self-hosting required). Missing for 10: independent/hands-on verification of extraction quality and no explicit mention of PowerPoint file type beyond generic 'Office documents'.
- [claimed-docs] “Convert PDFs, Office documents, spreadsheets, and other files into Markdown. Recover scanned PDF pages with optional OCR.”
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…”
Context.devnone0/10No evidence of automatic image captioning or alt-text generation for visual content; the product's extraction focuses on Markdown/JSON/screenshots and document parsing, not describing images for text-only models. Missing for 10: any mention of image captioning, vision-to-text description, or alt-text generation feature.
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…”
Context.devnone0/10Context.dev's documented capabilities are URL-based (crawl, scrape, extract, sitemap discovery, screenshot, document parsing, monitoring) but no evidence shows a web-search endpoint that returns full page content for search results in one call — 'discover website URLs' only reads a site's own sitemap, not the open web.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Read a website's public sitemaps and return a filtered URL list without rendering each page.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
Selector extraction
developerExtract specific fields from a page using CSS or XPath selector rules
weight 3 · round to Jina ReaderJina Reader offers structured field extraction via `x-json-schema` and `x-instruction` headers (backed by ReaderLM-v2), which lets developers pull specific fields, but the evidence never mentions CSS or XPath selector syntax as the extraction mechanism. Missing for 10: explicit CSS selector support, explicit XPath selector support, documentation showing selector-based (not just schema/instruction-based) targeting.
- [claimed-docs] “Use the `x-json-schema` header with a JSON schema definition, or use `x-instruction` header with natural language instructions. Both feature…”
Structured data handling
data-engineerExtract data from very large tables using intelligent chunking so it fits within processing limits
weight 1 · round to Jina 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 …”
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 drawnThe 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”
Context.dev supports browser actions (click/wait/scroll) before scraping, and screenshot rendering, implying JS execution via a real browser, and crawl/scrape guides return Markdown/HTML output — suggesting rendered SPA content is retrievable. However, there is no explicit statement that scraping fully executes JavaScript-heavy SPAs or waits for hydration/network-idle by default, and no independent/hands-on confirmation of SPA rendering fidelity. missing for 10: explicit documentation confirming full JS/SPA rendering (e.g., wait-for-network-idle, headless browser execution) as default behavior, and independent verification of rendered output correctness for JS-heavy sites.
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
- [claimed-docs] “Render an exact URL or a resolved site page and return a viewport, full-page, or offset PNG capture.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
developerHave the API wait for a specific selector to appear before returning the rendered page
weight 2 · round to Context.devJina 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”
Docs describe browser actions supporting 'wait' among click/scroll before scraping or extracting a page, which directly matches waiting for content before returning rendered output, but there's no explicit mention of waiting for a CSS/DOM selector specifically (vs. fixed delays) nor independent confirmation of this behavior. missing for 10: explicit selector-based wait documentation, example showing selector syntax, independent/hands-on verification.
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
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.)
developerKeep interacting with an already-scraped page, clicking and filling forms to reach content behind a login wall
weight 2 · round to Context.devJina 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”
Context.dev documents browser actions (click, wait, scroll) that can run before a scrape or extraction, which supports some interactive page manipulation, but there is no evidence of form-filling, typing credentials, or a persistent multi-step session capable of reaching authenticated/login-walled content. Missing for 10: explicit support for filling login forms/typing input, session/cookie persistence across interactions, and any documented login-wall use case or example.
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
developerScript page interactions like clicking, filling inputs, and scrolling before content is returned
weight 3 · round to Context.devJina 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”
Docs explicitly describe a browser-actions capability allowing click, wait, or scroll before scraping/extracting content, with success verification, directly matching the story. Missing for 10: independent/hands-on corroboration of scripted interactions beyond first-party docs, and no detail on filling form inputs specifically.
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
Render configuration
developerControl the browser viewport width and height when rendering a page
weight 1 · round to Context.devJina 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.
The screenshot guide mentions a 'viewport' capture mode alongside full-page and offset options, implying some viewport-based rendering, but no evidence specifies developer control over exact width/height dimensions. missing for 10: explicit API parameters for setting viewport width and height, documentation confirming custom viewport sizing, and any hands-on confirmation.
- [claimed-docs] “Render an exact URL or a resolved site page and return a viewport, full-page, or offset PNG capture.”
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”
Context.devnone0/10No evidence of persistent browser profiles, saved cookies, or reusable login/session state across requests; browser-actions doc only covers click/wait/scroll per single request. Missing for 10: any mention of persistent sessions, cookie storage, authentication state reuse, or profile management across multiple API calls.
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
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 Context.devJina 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…”
Context.dev is API-first: the product's core functions (crawl, extract, screenshot, monitor, brand data) are all documented as API endpoints with an OpenAPI spec, and the CLI/MCP/skill installs are just wrappers around that same API, implying no UI-exclusive functionality. missing for 10: explicit confirmation that the web UI itself exposes zero features unavailable via API (e.g., dashboard-only settings) and independent hands-on verification of full parity.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
- [probe] “official CLI documented at https://docs.context.dev/install-cli”
ai-native userExport all of my data in open formats and leave
weight 3 · round to Context.devJina 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.)
Context.dev's outputs (Markdown, JSON, HTML) are inherently open, portable formats rather than proprietary lock-in formats, and structured extraction lets users get their scraped/monitored data in JSON Schema-conformant form (docs-1, docs-3, docs-4, docs-9). However there is no explicit account-level 'export all your data and leave' feature (e.g., bulk export of saved crawls, monitors, API key configs, or account deletion with data portability) documented anywhere in the evidence. Missing for 10: dedicated account/data export tooling, documentation of account deletion/data portability guarantees, and independent confirmation that historical crawl/monitor data can be bulk-exported.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
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…”
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…”
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…”
First-party docs consistently describe scraping/crawling output as Markdown (sync and async crawl endpoints, single-page scrape, document parsing all return Markdown rather than raw HTML), and this is corroborated by a customer case study (SiteGPT) using it to build a knowledge base. Missing for 10: independent hands-on verification of markdown output quality/cleanliness and no explicit sample output shown.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Convert PDFs, Office documents, spreadsheets, and other files into Markdown. Recover scanned PDF pages with optional OCR.”
- [claimed-docs] “SiteGPT, the AI chatbot platform for customer support, switched from Firecrawl to Context.dev to scrape entire websites and turn them into t…”
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 show explicit format choice for Markdown (sync/async crawl) and HTML (async crawl), plus JSON output via structured extraction, but no mention of plain 'text' or 'frontmatter' output options anywhere in the docs. missing for 10: explicit text output mode, frontmatter output mode, independent confirmation of format selection working in practice.
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
developerReceive scraped content as structured JSON
weight 3 · round to Context.devJina 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**”
Docs explicitly describe extracting structured JSON matching a user-supplied JSON Schema from crawled pages, with controls for grounding, coverage, and freshness, plus an OpenAPI spec confirming API-driven JSON responses and a CLI that returns JSON for scripting/CI. missing for 10: independent hands-on verification of JSON extraction accuracy/quality beyond vendor docs.
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [probe] “PROBE openapi: HTTP 200 at https://docs.context.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Call Context.dev from your terminal and use JSON responses in scripts or CI.”
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 …”
Context.dev's core offering is scraping/crawling websites directly into clean Markdown (and JSON) for AI agents, handling rendering, browser actions, and document parsing so the user doesn't deal with raw HTML; this is corroborated by docs and a real-world migration story (SiteGPT switching from Firecrawl). missing for 10: independent hands-on benchmark of output cleanliness/quality versus alternatives, and no detail on how well it strips boilerplate/ads beyond doc claims.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Click, wait, or scroll before scraping or extracting a page, then check which interactions succeeded.”
- [claimed-docs] “Convert PDFs, Office documents, spreadsheets, and other files into Markdown. Recover scanned PDF pages with optional OCR.”
- [claimed-docs] “SiteGPT, the AI chatbot platform for customer support, switched from Firecrawl to Context.dev to scrape entire websites and turn them into t…”
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 …”
Context.devnone0/10Context.dev's docs describe scraping/crawling into full-page Markdown, JSON extraction, and document parsing, but nowhere mention a chunking feature (e.g., configurable chunk size, semantic segmentation, or overlap controls) intended for retrieval pipelines. Output is delivered as whole-page Markdown/HTML/JSON blobs per page, not sub-page semantic chunks.
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Convert PDFs, Office documents, spreadsheets, and other files into Markdown. Recover scanned PDF pages with optional OCR.”
Visual capture
developerCapture a screenshot of a full page or a specific selected area
weight 2 · round to Context.devJina 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 explicitly describe rendering an exact URL or resolved page and returning a viewport, full-page, or offset PNG capture, directly matching the story of full-page or selected-area screenshots. Missing for 10: independent/hands-on corroboration of screenshot quality or selector-based area capture beyond viewport/offset options.
- [claimed-docs] “Render an exact URL or a resolved site page and return a viewport, full-page, or offset PNG capture.”
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 drawnJina Readernone0/10No evidence Jina Reader has any automatic cost-optimization logic that selects the cheapest configuration guaranteed to succeed; the options exposed (x-preset, x-respond-timing, x-proxy) are manually set by the developer, not auto-selected for cost minimization, and pricing/limits aren't even documented per community reports.
- [github] “`x-preset` — apply a pre-packaged option bundle for common scenarios. ... `research` — for AI research agents needing structured, citable ou…”
- [github] “`x-respond-timing` — explicit control over *when* Reader is willing to return. Trade off latency against completeness”
- [github] “Route through the SaaS proxy with `-H 'x-proxy: auto'` (key required). Reader's hosted proxy pool rotates residential / datacenter IPs and h…”
- [community] “Have you used them? They offer it for free and I don't find their website mentioning API limit”
developerBlock ads on the target page to speed up scraping requests
weight 1 · round drawnJina 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.
Context.devnone0/10No evidence pack item mentions ad-blocking, resource blocking, or any performance optimization feature to skip ads/media during scraping; the docs cover crawling, extraction, screenshots, and browser actions but never ad-blocking specifically. Missing for 10: any documentation of an ad-block or resource-blocking option, any performance/speed benefit tied to blocking ads.
developerBlock images and CSS resources by default to reduce bandwidth and speed up requests
weight 1 · round drawnJina 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.
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 to Context.devJina 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”
Docs explicitly state that in the timeout/return-partial flow, if no usable result exists the request 'fails without a charge,' directly addressing billing behavior on failure. However, there's no broader documentation covering all failure modes (e.g., blocked requests, empty-result extractions, rate-limited calls) confirming whether they also skip billing. Missing for 10: explicit policy for blocked requests, empty JSON extraction results, and general error responses beyond the timeout optimization guide; independent/community confirmation of billing behavior.
- [claimed-docs] “`return-partial` | Return usable completed work with a completion marker. If no usable result exists, fail without a charge.”
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”
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”
Context.dev offers explicit controls that trade off latency vs completeness: synchronous small crawls (fast, limited to 500 pages) vs async background crawls up to 25,000 pages, plus a 'return-partial' timeout policy that returns usable completed work with a completion marker rather than waiting for full completion. This directly supports controlling when content is returned along a latency/completeness axis, though it's documented only in claimed-docs with no independent hands-on validation of the tradeoff behavior. Missing for 10: independent/community confirmation of the return-partial and sync/async tradeoff working as documented, and more granular mid-request streaming or partial-result controls beyond the two crawl modes and timeout policy.
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “`return-partial` | Return usable completed work with a completion marker. If no usable result exists, fail without a charge.”
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…”
Context.devnone0/10Docs mention rate-limit headers exist and per-minute limits apply, but there is no evidence of tier-specific concurrency/session caps or the cost to raise them. Missing for 10: documented tier limits table, concrete numeric caps per plan, and pricing/upgrade path to raise the cap.
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
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.
Context.devnone0/10No evidence anywhere in the pack mentions data residency, region selection, or storage location options for Context.dev; the product is a web-scraping/data API with no documented control over where data is stored. Missing for 10: any mention of regional hosting, data residency options, or compliance certifications tied to storage location.
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.
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.”
Context.devnone0/10The docs describe crawling with fixed page caps (500 for sync, 25,000 for async) and extraction with 'coverage' controls, but there is no evidence of an adaptive mechanism that halts crawling once sufficient information for a query has been gathered.
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
Batch processing
data-engineerBatch scrape thousands of URLs asynchronously
weight 3 · round to Context.devJina 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.
Docs explicitly describe an async background crawl job handling up to 25,000 pages with progress tracking and retrieval on completion, plus rate-limit headers and partial-result timeout handling that support reliability at scale. However, this is framed as crawling one site rather than an arbitrary list of thousands of distinct URLs, and there is no independent/hands-on evidence confirming real-world throughput or reliability at that scale. Missing for 10: evidence of scraping an arbitrary batch/list of thousands of URLs (not just one site's crawl), independent benchmarks or user reports validating async batch reliability at scale.
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “`return-partial` | Return usable completed work with a completion marker. If no usable result exists, fail without a charge.”
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
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.
Context.devnone0/10The docs describe a single batch crawl job (up to 25,000 pages) with one set of settings, but there is no evidence of applying different crawl configurations to different URL patterns within the same job.
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
Concurrency
data-engineerSpin up many concurrent scraping sessions to gather data at scale
weight 3 · round drawnReader 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”
Context.dev supports large single crawls (up to 25,000 pages async) and exposes rate-limit headers, implying some capacity for scaled scraping, but there is no explicit documentation of running many concurrent scraping sessions or session-level concurrency controls. Community feedback also raises doubts about scaling to high-volume/high-value scraping due to lack of rotating/residential proxy support. missing for 10: explicit concurrency/session-limit documentation, evidence of parallel job orchestration, and independent benchmarks confirming multi-session scale.
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
- [community] “Seems wildly expensive, furthermore not a single mention of "ip" on homepage? Not using rotating ip's, residential proxies? AKA unusable for…”
- [community] “Are you using residential proxies? How do you handle websites that don't want to be scraped. EG if I start passing in Linkedin pages what is…”
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.
Context.devnone0/10No documentation describes automatic robots.txt compliance or target-site rate-limiting; the only rate-limit doc (context-dev-docs-18) covers API-caller limits, not crawl politeness. Community evidence (context-dev-comm-4) even states the company relies on a manual opt-out blocklist rather than respecting robots.txt automatically, undercutting the story further.
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
- [community] “\"Websites can opt out of our service, and we respect these requests and add them to our block list.\" I.e: robots.txt already exists and is…”
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.
Context.devnone0/10Evidence shows async batch crawling with progress tracking (up to 25,000 pages) but no mention of checkpointing or resuming a crashed crawl from a saved state; only completed-job retrieval or partial-result return on timeout is documented, not crash recovery/resume.
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “`return-partial` | Return usable completed work with a completion marker. If no usable result exists, fail without a charge.”
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 to Context.devJina 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.
Docs explicitly describe a monitoring feature that watches a page, sitemap, or dataset on a schedule and delivers signed change events, directly matching the story's core ask. However, there's no independent/hands-on corroboration of this feature working in practice, and no detail on notification channels (webhooks, email, etc.) or reliability at scale. Missing for 10: independent evidence of monitoring reliability, details on notification delivery mechanisms/channels, and evidence of scale/performance under continuous monitoring.
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
data-engineerMonitor job performance, validate data quality, and receive alerts when something fails
weight 2 · round to Context.devJina 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.
Context.dev offers async crawl jobs with progress tracking (docs-3), some quality controls like grounding/coverage/freshness for extraction (docs-4), and scheduled change monitoring with signed events (docs-9), which loosely cover job status and alerting. However there is no dedicated job-performance dashboard, no explicit failure-alert/webhook system for scraping jobs, and no formal data-quality validation framework described. Missing for 10: job performance metrics/dashboard, explicit failure alerting (e.g. webhooks on job error), and structured data quality checks beyond extraction fidelity.
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “Crawl relevant pages and return an object that matches your JSON Schema, with controls for grounding, coverage, and freshness.”
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
- [claimed-docs] “`return-partial` | Return usable completed work with a completion marker. If no usable result exists, fail without a charge.”
- [claimed-docs] “Authenticated API responses expose these headers when a per-minute limit applies”
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 to Context.devJina 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.
Context.dev's monitor-website-changes feature watches a page, sitemap, or dataset "on a schedule" and emits change events, which functions as scheduled recurring scraping, but this is framed narrowly as change-detection rather than a general-purpose cron/scheduler for arbitrary scrape/crawl jobs. Missing for 10: explicit documentation of configurable schedule intervals/cron syntax, ability to schedule full crawl or extract jobs (not just change monitors), and any independent/hands-on confirmation of scheduling reliability.
- [claimed-docs] “Watch a page, sitemap, or structured dataset on a schedule and receive signed change events.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
Site crawling
data-engineerRun a deep crawl using a breadth-first strategy with a configurable maximum page limit
weight 2 · round to Context.devJina 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.
Context.dev documents crawling with configurable maximum page limits (500 for sync, up to 25,000 for async batch crawls), satisfying the page-limit part of the story, but no evidence describes a selectable crawl strategy (e.g., breadth-first vs depth-first) as a configurable parameter. Missing for 10: explicit breadth-first strategy option/documentation, evidence of strategy configurability alongside the page limit.
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
developerCrawl an entire website and get content from all its pages with one request
weight 3 · round to Context.devJina 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.
Docs describe a one-request crawl endpoint that returns page Markdown for a site (up to 500 pages synchronously) plus an async option for up to 25,000 pages, and a real customer (SiteGPT) is cited using it to scrape entire websites into a knowledge base. Missing for 10: independent hands-on verification of crawl completeness/accuracy at scale and no third-party benchmark of crawl reliability beyond vendor docs and one customer quote.
- [claimed-docs] “Crawl a small website section and return page Markdown in one response, with a maximum of 500 pages.”
- [claimed-docs] “Crawl up to 25,000 pages in a background batch, track progress, and retrieve Markdown or HTML when the job finishes.”
- [claimed-docs] “SiteGPT, the AI chatbot platform for customer support, switched from Firecrawl to Context.dev to scrape entire websites and turn them into t…”
- [claimed-docs] “Scrape websites into Markdown, crawl linked pages, and extract JSON for AI agents and applications.”
developerInstantly discover all URLs on a website without fully crawling it
weight 2 · round to Context.devJina 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.
Context.dev has a dedicated URL discovery endpoint that reads a site's public sitemaps and returns a filtered URL list "without rendering each page," explicitly avoiding a full crawl — directly matching the story. Missing for 10: independent/hands-on corroboration of discovery speed or scale beyond vendor docs.
- [claimed-docs] “Read a website's public sitemaps and return a filtered URL list without rendering each page.”
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”
Context.devn/aContext.dev is a web-scraping/data-extraction API/service that itself exposes an MCP server (context-dev-docs-13, context-dev-probe-3) so that AI clients can call ITS tools — it is not an agentic product that would consume other MCP servers' tools. The 'plug MCP servers in' client-role story is a category error for this kind of product.
- [claimed-docs] “Connect your AI client to Context.dev tools for live web and company data.”
- [probe] “official MCP server documented at https://mcp.context.dev/mcp”
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.