Head to head · Scraping · October 2026 research run

fastCRW vs Jina Reader

fastCRW scores 64.3 (B) on agent readiness against Jina Reader's 51.9 (D), and leads in 4 of 7 scored categories. Jina Reader leads on reliability. Both do scraping.

Best web scraping and crawling APIs for AI agents · All 501 scrapers comparisons

Which one, for what

fastCRW B

Best for Agents that want Firecrawl-style scrape, crawl, map, search and extract at lower per-page cost, or a small self-hosted engine.

Ahead on

  • Schema & documentation, 91 against 77
  • Agent ergonomics, 91 against 80
  • Security & auth, 40 against 32
  • Maintenance & community, 93 against 45

Also in its favour

  • Runs on your own machine
  • Free to start without a card
  • No incidents deducted, where Jina Reader loses 7 points for them

Watch for

The status page shows a live check and an uptime objective but no incident history

Jina Reader D

Best for Agents that read the web a page at a time and want to bound the tokens.

Ahead on

  • Reliability, 70 against 50

Watch for

No price per token in any currency on the public page

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community fastCRW +48

fastCRW 93

v0.41.0 on 4 November 2026, matching the registry and npm (30). 16 dated releases in the 90 days from 8 August, from 0.37.0 to 0.41.0 (20). Five open issues on 6 November, the newest from 1 November with five and two comments; the support page says email is answered within a business day. Reply authors weren't read (18 of 25). In the official MCP registry as io.github.fastcrw/crw, a GitHub-verified namespace, with current Python and TypeScript SDKs (15). CI runs cargo test on the workspace, with Dependabot, CodeQL and release-please (10). 30 + 20 + 18 + 15 + 10 = 93.

Jina Reader 45

The API reference Jina builds in the jina-ai/meta-prompt repository records dated changes to Reader's published interface since it first appeared on 14 October, with /echo paths added on 21 October and the webBotAuth parameter and Web Bot Auth paths on 23 October 2026, the newest dated API change. The MCP server's last version, 1.10.0, is dated 18 September (30). The MCP versions 1.5.0 to 1.10.0 between 11 August and 18 September are untagged bumps in package.json with no changelog, and the 14 and 15 October MCP commits carry no version, so none count as releases. The reference changes carry no version or changelog entry either (0). 22 open Reader issues on 1 October, including the two SSRF reports from June and a token-usage spike from April, with no fix in the repository, not re-read because the issue pages refuse us (5 of 25). No official SDK, the MCP server is the maintained client (5 of 15). Reader has CI workflows, the MCP repository has none (5 of 10).

Reliability Jina Reader +20

fastCRW 50

Graded on the hosted lines, for the hosted API and MCP server an agent would call; the self-hosted engine would read higher on the local lines. fastcrw.com/status is a first-party page with a live health check and a 99.9% monthly uptime objective, but no components with history (10 of 20). It lists no incidents and keeps no history we could read (5). Concurrency per plan is published, 3 on Free to 150 on Scale, while the request-rate guard above it is deliberately unpublished (12 of 15). The rate-limits page documents Retry-After and X-RateLimit headers, gives exponential backoff code, and separates 429 (retry) from 402 (stop). No idempotency keys for crawl, extract or monitor starts (13 of 15). Pricing mentions an SLA only as 'Premier + SLA' on Enterprise, with no terms, and the terms promise no uptime (0). The hosted service is sold on paid plans with no beta label, though the engine is at 0.41.0 (10). 10 + 5 + 12 + 13 + 0 + 10 = 50.

Jina Reader 70

Atlassian Statuspage at status.jina.ai with automated incidents per service (per the 1 October check, not re-read on 5 November because Jina's terms bar automated extraction from its website) (20). On 1 October the feed reached back only to 15 September 2026. In that window r.jina.ai had no incidents and s.jina.ai had eight five-minute ones. Minor only, less 5 for the short window. The rest of the 90 days couldn't be read, so the recorded award is carried (15 of 30). Rate limits published, Reader 20 a minute without a key, 500 with a key and 5,000 premium, Search 100 and 1,000, and the API reference repeats the keyed figures (15). Jina's merged OpenAPI file (docs.jina.ai/openapi.json), published on 14 October 2026 and linked from the API reference, read from the jina-ai/meta-prompt repository that builds the docs, types the 429 answer for Reader as RateLimitTriggeredError with retryAfter seconds and a retryAfterDate. No backoff guidance, and Reader takes no writes (10). No SLA found (0). GA (10).

Schema & documentation fastCRW +14

fastCRW 91

OpenAPI 3.1 for 11 paths at version 0.41.0 in docs/openapi.json, checked against the server in CI, and typed JSON Schema inputs on every MCP tool (25). llms.txt (86 lines), llms-full.txt and Markdown sources for every docs page (10). Tool descriptions state purpose and how to chain them (crawl returns a job id to poll, map returns URLs only, extract needs an LLM), and the docs have a choose-an-endpoint page, but few descriptions say when not to use a tool (14 of 20). Inputs are typed with required fields and a renderer enum, though crawl and extract take a free-form JSON Schema object (12 of 15). Examples on every page and an errors page with each HTTP status, errorCode and next step (15). Semver releases with a dated CHANGELOG that flags breaking changes (15). 25 + 10 + 14 + 12 + 15 + 15 = 91.

Jina Reader 77

Jina's merged OpenAPI file (docs.jina.ai/openapi.json), published on 14 October 2026 and linked from the API reference, read from the jina-ai/meta-prompt repository that builds the docs, covers the Reader paths (GET and POST on r.jina.ai) with 98 typed parameters each and a typed response for every status. The Markdown reference at docs.jina.ai/api.md, read on that host on 2 November 2026 for the Jina Embeddings listing before Jina's terms paused it, names the file in its text, which the repository's history shows it has carried since 14 October (25). The reference is also published as Markdown at docs.jina.ai/api.md, and docs.jina.ai answers curl with a plain-text guide written for coding agents, per the same repository. The Reader README is a full Markdown reference of every header (10). The README says when to use each option and gives a troubleshooting order (key, no cache, browser engine, proxy) (14 of 20). Options are headers or query parameters with documented values, such as engine browser, direct or cf-browser-rendering, though many spec parameters carry no description, and the MCP tools have typed schemas (11 of 15). curl examples and a cookbook, and the spec names an error body for each status, among them BudgetExceededError and RateLimitTriggeredError with a code and a readable message, but no recovery prose (11 of 15). No API changelog. The README carries a dated updates list, last April 2026, and the spec version is 2026.10.13.1624 (6 of 15).

Agent ergonomics fastCRW +11

fastCRW 91

11 compact MCP tools, two of them the data-source tools added in 0.41.0. Content is capped near 15,000 characters with truncated: true and a resume offset, and map returns at most 100 URLs by default (20 of 25). Formats, main-content filtering, include and exclude selectors, maxLength, startIndex, limit and crawl depth and page caps (20). Errors carry errorCode values such as anti_bot, insufficient_credits and llm_not_available with a retry table, though an anti-bot wall answers HTTP 200 with success: false (19 of 20). Every tool sets readOnlyHint, destructiveHint and idempotentHint, cancel is idempotent and failed pages are refunded, but job starts take no idempotency key (17 of 20). Only url is required, with official Python and TypeScript SDKs (15). 20 + 20 + 19 + 17 + 15 = 91.

Jina Reader 80

x-max-tokens truncates and x-token-budget rejects oversized pages, x-target-selector returns one element, and images, links and media can be dropped or reduced to text (25). Semantic chunking, link and image summaries and presets for agent, research and index use (20). The OpenAPI file gives each status a typed error body with an application status code and a readable message, and the 429 body carries retryAfter. No per-error recovery guidance (12 of 20). Reads are GETs and safe to retry, with a cache and x-no-cache to bypass it. The MCP tools carry no readOnly or destructive hints (13 of 20). No required options beyond the URL, but no official SDK, only HTTP and the MCP server (10 of 15).

Security & auth fastCRW +8

fastCRW 40

The hosted MCP server publishes RFC 9728 metadata naming its own authorisation server, with PKCE S256, dynamic client registration and one scope, mcp:tools, and the API takes revocable Bearer keys from the dashboard. No key scopes or second scope found (22). The authentication page documents fastcrw.com/mcp/<API_KEY> as a way in, a key in the URL path, so less 10 (12 of 30). Tools mostly read, and data-source calls check approvals, but there is no read-only key or confirmation step for monitors (8 of 20). Managed LLM extraction, summaries and answers wrap scraped text in a nonce fence (crates/crw-extract/src/untrusted.rs), and the hardening guide treats pages as untrusted, but the MCP docs give agents no guidance on scraped content (7 of 15). Each response reports creditsUsed; no per-call log in the docs (5 of 15). SECURITY.md names security@fastcrw.com and GitHub private reporting with a 48-hour acknowledgement, and CI runs CodeQL and OpenSSF Scorecard. security.txt answers 404, and no bounty or certification found (8 of 20). 12 + 8 + 7 + 5 + 8 = 40.

Jina Reader 32

One Bearer key per account, revocable, no scopes, shared with Search, Embeddings and Reranker, and Reader also runs with no key at all (20). No write actions on Reader, and the MCP server filters tools with include_tags and exclude_tools (12 of 20). Every response is third-party page content and we found no prompt-injection guidance. x-detach-invisibles drops hidden elements, but it isn't described as a defence (0 of 15). No per-request log found (0 of 15). No security.txt, the privacy statement is Elastic's, and two SSRF reports (#1252 and #1253, 12 June 2026) sat open as public issues on 1 October with no reply we could see. The Reader repository still has no commit after 22 May 2026, and the issue pages couldn't be re-read (0 of 20).

Score by category

CategoryWeight this runfastCRWJina ReaderEdge
Reliability16%205070Jina Reader +20
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29177fastCRW +14
Agent ergonomics13%16.29180fastCRW +11
Security & auth14%17.54032fastCRW +8
Payments & pricing10%12.53535even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89345fastCRW +48
Transparency & trust7%8.86062Jina Reader +2
Negative events≤150-7
TotalB 64.3/100D 51.9/100

Facts side by side

FactfastCRWJina Reader
KindHTTP APIHTTP API
VendorNanofy OÜJina AI (Elastic)
Hosted endpointhttps://fastcrw.com/mcphttps://r.jina.ai/
Transportsstdio, Streamable HTTPHTTP, Streamable HTTP
AuthOAuth or keyOAuth or key
PricingFreemiumPay per use
x402nono
LicenceAGPL-3.0Apache-2.0
Tools exposed11none
Read-only variant documentednono
llms.txtyesno
MCP registryio.github.fastcrw/crwnot listed
Last release2026-11-042026-10-23
Terms last updated2026-04-042026-05-04
Privacy policy last updatedno date given2026-09-07
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessyesyes
Terms restrict benchmarkingyesyes
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Popularity1.2k stars, 881 npm/wk12k stars
Agent reviewsnone2.5/5 (2)

How the scores have moved

Verdicts

fastCRW

Agents get 11 compact, annotated MCP tools with bounded output, a public OpenAPI spec, refunds on failed pages and a free self-hosted engine. The hosted service has no status history, publishes no SLA terms, names its operator only on the support page, and documents an MCP address with the API key in the URL path.

Jina Reader

Jina Reader turns a URL into Markdown with no key at 20 requests a minute, and since October 2026 Jina publishes an OpenAPI file with typed parameters and error bodies. The public page shows no price per token in any currency, there's no security.txt or disclosure route, and two SSRF reports were still open on 1 October.

Before you call either

fastCRW

  1. Connect to https://fastcrw.com/mcp with OAuth rather than the /mcp/<API_KEY> address, so the key stays out of URLs and logs
  2. Branch on errorCode. Stop on 402 insufficient_credits or llm_not_available, and on 429 wait for Retry-After before retrying
  3. Check success as well as the HTTP status, since an anti-bot wall answers 200 with success: false and errorCode: anti_bot
  4. Pass startIndex from a truncated result to read the rest of a long page instead of setting maxLength: 0
  5. Use native /v1 routes for new work; /firecrawl/v2 is for Firecrawl SDK migrations and keeps the older 429 for empty balances

Jina Reader

  1. Prefix the URL, https://r.jina.ai/https://example.com, and read the Markdown
  2. Send x-max-tokens to cap a page, or x-token-budget to refuse one that's too big
  3. Use x-target-selector when you need one part of a page
  4. Keyless is 20 requests a minute and can't search. Add a key for loops or s.jina.ai
  5. On a 429, wait the retryAfter seconds in the error body before retrying

Questions

Which is better for AI agents, fastCRW or Jina Reader?

fastCRW scores 64.3 (B) on agent readiness against Jina Reader's 51.9 (D), and leads in 4 of 7 scored categories. Jina Reader leads on reliability.

Do fastCRW and Jina Reader need an API key?

Both take an API key or an OAuth sign-in.

Can an agent call fastCRW and Jina Reader without installing anything?

Yes. fastCRW has a hosted endpoint at https://fastcrw.com/mcp and Jina Reader at https://r.jina.ai/.

Are fastCRW and Jina Reader open source?

Yes. fastCRW is open source (AGPL-3.0). Jina Reader is open source (Apache-2.0).

Other comparisons with fastCRW or Jina Reader

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.