Jina Reader (r.jina.ai) turns any URL into clean markdown and bills by output tokens. It's cheap and fast, and it gives you what the site served, with a warning if it looks like a CAPTCHA. Fetch Router checks the page, falls back when it fails, and only bills a pass.
Checked against official docs and pricing pages on 2026-11-02. Sources at the bottom. Spotted something out of date? Email hello@fetchrouter.dev and we'll fix it.
| Fetch Router | Jina Reader | |
|---|---|---|
| Pricing unit | Per verified page: 1 credit static, 5 browser ($0.001 / $0.005) | Per output token: $0.05 per 1M ($50 for 1B tokens) |
| Typical cost per 1,000 pages | $1 static, $5 browser | Roughly $0.003–0.81 in our tests (54 to 16,217 tokens a page) |
| Failed requests | Free. 'Failed' includes block pages, empty shells and missing expected text | 'Tokens are not deducted for failed requests'; a target 404 or challenge page still comes back as a success and is metered by length |
| Block detection | Vendor signatures (Cloudflare, DataDome, PerimeterX, Akamai, Imperva, Kasada…), text checks, your expect.text/selector | Target status in data.httpStatus; a CAPTCHA warning when content is short and the HTML mentions captcha/turnstile |
| Fallback when a fetch fails | Automatic: plain HTTP → headless browser (→ unblockers when enabled) | None automatic; you choose the engine per request |
| Anti-bot policy | Public pages only; no logins or paywalls | 'Does not actively circumvent or bypass any website defense mechanisms' |
| Search, PDFs, screenshots, extraction | No | Yes |
| Free tier | 500 credits once | 10M tokens (non-commercial) or 20 RPM keyless |
| MCP | Hosted (fetchrouter.dev/mcp) and npx fetchrouter-mcp | Hosted (mcp.jina.ai/v1) with read, search and screenshot tools |
| Open source | MCP server only (MIT) | Reader service code Apache-2.0; models CC-BY-NC |
On price, Jina Reader is much cheaper for ordinary pages: a 2,000-token article costs $0.0001, against our $0.001 static or $0.005 browser price.
The difference is what you're paying for. Jina returns what the site served and tells you the target status, so your agent decides whether it worked. In our test a Crunchbase Cloudflare challenge came back with HTTP 200 and was metered as 54 tokens. That's a tiny cost, but the agent still has to notice it. Fetch Router would have marked it blocked:cloudflare, tried a browser, and billed nothing if that failed too.
For agents that need to know whether a page really loaded, yes. If you just want cheap markdown for ordinary pages, Jina Reader costs less.
Partly. It returns the target's HTTP status and adds a 'may require CAPTCHA' warning when the page is short and mentions a CAPTCHA. It doesn't name anti-bot vendors, check for content you expected, or fall back to another route.
Its FAQ says no. But a target 404 or a challenge page usually comes back as a successful response and is metered by its length.
Yes: Jina for cheap bulk reading of friendly sites, Fetch Router where a silent failure would cost you more than the fetch.
How our routes perform: benchmark with method and CSV. Other comparisons: Fetch Router vs Firecrawl · DIY Playwright vs a fetch API.