# Crawl4AI vs Jina Reader

Both turn web pages into clean text for AI. Jina Reader charges by the length of the page it returns, and says it does not bypass anti-bot systems. Crawl4AI charges by the work the page needed, gets past bot checks on hard sites, never charges a failed call, and comes from the team that wrote the open-source crawler.
Facts last checked 12 Nov 2026

Crawl4AI vs Jina Reader: the short answer
Crawl4AI charges by the work each page needs ($0.10 per 1,000 plain pages, whatever the length); Jina Reader charges by the tokens in the page it returns, which we measured at $0.26 to $1.03 per 1,000 news and article pages. Crawl4AI gets past bot checks and CAPTCHA pages on hard sites, and a page we cannot get costs nothing; Jina says Reader does not bypass anti-bot systems, on a paid key too. Crawl4AI refunds within 14 days and its extra credits never expire; Jina's terms say bought credits are not refundable. Crawl4AI runs in the EU, Singapore and the US with SSO, SCIM, teams and an audit log; agents set it up from one message, crawl whole sites with /site and get named sites such as LinkedIn as rows from 93 recipes.

## Which one fits

Different tools fit different jobs. Here is when each one is the better choice.

### Choose Jina Reader if

- You already use Jina's embeddings and reranker and want one token balance for all of them.
- You want images in the page captioned by a vision model.
- You want the Markdown cut into chunks for a RAG index in the same call.
- Your team runs Elasticsearch and wants Jina models billed through Elastic.

### Choose Crawl4AI if

- You build with AI agents: one message sets Crawl4AI up in Claude Code, Codex, Cursor, Windsurf, Gemini CLI or OpenCode, and 17 MCP tools let the agent run recipes, price a call first and manage its budget.
- You need pages from sites with bot checks: Crawl4AI gets past bot checks and CAPTCHA pages on hard sites, and a page we cannot get costs nothing.
- You want a price per page you know before the call, not a price set by the page length.
- You need whole sites in one call (/site, /scan) and named sites as rows: 93 recipes, a LinkedIn profile for 1 credit.
- You want money that stays yours: 14-day refunds and extra credits that never expire.
- You need data in the EU, Singapore or the US, SSO and SCIM, and a team with an audit log from Builder.

For enterprise teams

## The controls your security team asks for

Crawl4AI's Enterprise plan next to Jina Reader's. Jina Reader's side restates its own pages; click a line to see the quote.

| Control | Crawl4AI Enterprise | Jina Reader Enterprise |
|---|---|---|
| SSO (SAML, OIDC) | **✓ Yes** | Not published |
| SCIM user sync | **✓ Yes** | Not published |
| Teams, roles and audit log | **✓ From Builder ($99), no seat limit** | Balance belongs to a key, not a team |
| Zero data retention | **✓ Yes** | Per request: do not cache or log |
| IP allowlist and key limits | **✓ Yes** | Not published |
| Static exit IPs | **✓ Yes** | Not published |
| Where data is processed | EU, Singapore or US, your choice | EU per request, "Experimental"; default not published |
| Deployment | Cloud, dedicated fleet, inside your network, managed pipeline; one engine | Cloud, or On-Prem models on an annual Elastic licence |
| DPA and invoice billing | **✓ Every Enterprise plan** | Contracts and purchase orders through Elastic Sales |
| Refunds | 14 days, if no credits were used | None: "not refundable nor exchangeable" |
| Status page | Hourly uptime per service, public | 50 incidents in 21 days, 28 on search |
| Uptime and response SLA | Typical: 99.9% a month; service down: first answer within 1 hour, 24/7; part broken: 4 business hours; a question: 1 business day; 5% of the month's fee back if missed, 10% under 99% | Not published for the API |
| Support | A named engineer | Email; contract support through Elastic |
| Security assurance | Controls monitored every day in Drata, with the evidence kept; dependencies watched for known vulnerabilities; SOC 2 audit by Sensiba under way, report target January 2027. Security pack on request: policies, audit status, DPA, questionnaire answers. | Not stated on the pages read |

## Same job, two calls

6 jobs an agent does every day. The call on each side, and the price of 1,000 of them at list. The label marks the side that costs less for that job.
**01 · One page to Markdown**a plain news or article page
**Crawl4AI costs less$0.10/ 1,000

```
curl https://api.crawl4ai.com/scrape \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://en.wikipedia.org/wiki/Web_crawler",
       "format":"md"}'
```

0.1 credit, whatever the page length. $0.08 per 1,000 on Builder.

**Jina Reader $0.26–$1.03/ 1,000

```
curl "https://r.jina.ai/https://en.wikipedia.org/wiki/Web_crawler" \
  -H "Authorization: Bearer $KEY"
```

Tokens in the output, at the $50 pack for 1 billion tokens. We measured 5,216 tokens (a news front page) to 20,601 (this Wikipedia article) on 12 Nov 2026.

**02 · A whole site**1,000 plain pages
**Crawl4AI costs less$0.10/ 1,000

```
curl https://api.crawl4ai.com/site \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://docs.example.com"}'
```

/site: 0.5 credit for the call, then each page at its /scrape price. Up to 500 pages a call; /scan lists up to 50,000 URLs.

**Jina Reader $0.47/ 1,000

```
# one call per link you collected
curl "https://r.jina.ai/https://docs.example.com/page-1" \
  -H "Authorization: Bearer $KEY"
```

No crawl endpoint; the README points to a Colab notebook. You collect the links and read each one; cost at the median page we measured (9,483 tokens).

**03 · A site that blocks bots**proxies and a real browser
**Crawl4AI $2.00/ 1,000

```
curl https://api.crawl4ai.com/scrape \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://hard-site.example",
       "proxy":"extra"}'
```

2 credits for a hard page. A page we cannot get costs nothing.

**Jina Reader costs less$0.79/ 1,000

```
curl "https://r.jina.ai/https://hard-site.example" \
  -H "Authorization: Bearer $KEY" \
  -H 'x-proxy: auto' -H 'x-engine: browser'
```

The tokens of the page when it comes back (an Amazon page we measured: 15,798 tokens). Their FAQ says Reader does not bypass anti-bot systems.

**04 · Search**one query
**Crawl4AI $1.00/ 1,000

```
curl "https://api.crawl4ai.com/search?q=best+crm" \
  -H "Authorization: Bearer $KEY"
```

1 credit a search, a fixed price. Google's own results page as data with /serp (ads, maps, AI overview), also 1 credit.

**Jina Reader costs lessfrom $0.50/ 1,000

```
curl "https://s.jina.ai/best%20crm" \
  -H "Authorization: Bearer $KEY"
```

From 10,000 tokens a request, the top 5 results with their text. The upper limit: Not published.

**05 · A LinkedIn profile as rows**name, headline, company, school
**Crawl4AI costs less$1.00/ 1,000

```
curl https://api.crawl4ai.com/recipes/linkedin-profile \
  -H "Authorization: Bearer $KEY" \
  -d '{"profile":"satyanadella"}'
```

A recipe: 2 units × 0.5 credit. The same named columns every time; one of 93.

**Jina Reader $1.01/ 1,000

```
curl "https://r.jina.ai/https://www.linkedin.com/in/…" \
  -H "Authorization: Bearer $KEY"
```

About the same price, for raw page text: we measured 20,266 tokens of Markdown for one profile. Named-site scrapers: Not published.

**06 · Structured JSON from a page**your schema, filled by a model
**Crawl4AI $1.87/ 1,000

```
curl https://api.crawl4ai.com/extract \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://news.ycombinator.com",
       "instruction":"the top stories",
       "schema":{…}}'
```

Median of real calls this week: 0.5 credit for the page plus the model's tokens. A general model; a schema or plain words.

**Jina Reader costs less$1.42/ 1,000

```
curl "https://r.jina.ai/https://news.ycombinator.com" \
  -H "Authorization: Bearer $KEY" \
  -H 'x-respond-with: readerlm-v2' \
  -H 'x-json-schema: {…}'
```

ReaderLM-v2, a small model: 3x the page tokens, in beta. Cost at the median page we measured.

## Crawl4AI vs Jina Reader, side by side

Each Jina Reader cell restates Jina Reader's own pages, read on 12 Nov 2026. Click it to see the quote and the page. "Not published" means those pages say nothing about it, not that it is missing.

|  | Crawl4AI Cloud | Jina Reader |
|---|---|---|
| Pricing |  |  |
| How you pay | Credits in every plan: Free, Starter $10, Builder $99, Scale $499 | Token packs: $50 for 1B, $500 for 11B |
| 1,000 plain / browser / hard pages | $0.10 / $0.50 / $2.00 | By page length: $0.26 to $1.03 measured |
| Free start | 1,000 credits every month, no card | 10M tokens once, per new key |
| Failed calls | Free, blocked pages included | Not charged; a missing page returns code 200 |
| A page already cached | Half price | Not published |
| Extra credits | Never expire | Lost if the key is revoked |
| Refunds | 14 days, if no credits were used | None |
| What you get back |  |  |
| Formats | Markdown, HTML, links, media, metadata, tables; engine and cache on every answer | Markdown, HTML, text, screenshots |
| Whole site | /site deep crawl (500 pages a call); /scan up to 50,000 URLs | No endpoint; a Colab notebook |
| Search | /search 1 credit; Google results as data with /serp | Top 5 results, from 10,000 tokens |
| Named sites | 93 recipes; a LinkedIn profile 1 credit | Not published |
| Extraction | /extract by schema or plain words; median 1.87 credits | ReaderLM-v2, 3x tokens, beta |
| Documents | PDF, Word and Excel; a PDF costs one page | PDF and Office files by POST |
| Change monitoring | Watch (beta) | Not published |
| Hard sites |  |  |
| Bot checks and CAPTCHA | Gets past bot checks and CAPTCHA pages on hard sites; a page we cannot get costs nothing | "Does not actively circumvent" them |
| Proxies | standard and extra levels; country choice | x-proxy auto or a country, key required |
| Agents |  |  |
| MCP | Hosted, no install; key or OAuth; 17 tools | Hosted; API key; 12 tools |
| Setup | One message sets it up in 7 coding agents | A config per client |
| Agent budget | Estimate, balance, spend cap and top-up as tools; cost on every answer | Not in their MCP tool list |
| llms.txt | Yes; with a key it shows what the account can use | Asked for in an open issue |
| Open source |  |  |
| License | Apache 2.0, 87,236 GitHub stars | Code Apache-2.0; models CC-BY-NC 4.0 |
| Self-host | The same engine as the Cloud | Storage layer stripped; models need a licence |

Crawl4AI's prices come from its live price list, GET /v1/prices. Prices change; check each product's own pricing page before you decide.

The trade-off

## What each one does better

### Where Jina Reader does best

1. **Search models on one key.** Embeddings, reranker and classifier share one token balance with Reader.
2. **Image captions and OCR.** A vision model writes alt text for images; an OCR model reads scanned pages.
3. **Output cut for RAG.** Markdown chunking and citation formats in the read call.
4. **The Elastic stack.** Jina models run inside Elastic Cloud on an Elastic bill.

### Where Crawl4AI is the better choice

1. **Pay for the work, not the length.** 0.1 credit for a plain page of any length, nothing for a failed or blocked call, half price for a page we already hold.
2. **Hard sites.** Gets past bot checks and CAPTCHA pages, and a page we cannot get costs nothing.
3. **Made for agents.** One message sets it up; 17 MCP tools cover recipes, jobs, cost estimates and the budget.
4. **Built for enterprise.** Three regions, SSO and SCIM, teams and an audit log from Builder, and 14-day refunds.

Switch in one prompt

## Move your Jina Reader calls in minutes

Paste this into Claude Code, Cursor or Codex in your project. It finds your Jina Reader calls and moves them to Crawl4AI, one endpoint at a time, and keeps both working until you check the results.
Move this project's Jina Reader calls to Crawl4AI Cloud. Read https://crawl4ai.com/llms.txt first. 1. Find every call to the Jina Reader API or SDK. 2. Map each one: r.jina.ai/<url> → POST /scrape · x-respond-with: markdown, html → format on /scrape · x-proxy → "proxy":"extra" and country · x-respond-with: readerlm-v2 + x-json-schema → POST /extract · s.jina.ai → GET /search · /serp · Many r.jina.ai calls → POST /site · /scrape/jobs · LinkedIn, Amazon URLs → POST /recipes/{name} · mcp.jina.ai/v1 → api.crawl4ai.com/mcp. 3. Read the key from CRAWL4AI_API_KEY (YOUR_CRAWL4AI_API_KEY). 4. Keep the old path behind a flag; compare 20 real URLs on both; show me the diff.

| Jina Reader |  | Crawl4AI |
|---|---|---|
| r.jina.ai/<url> | → | POST /scrape |
| x-respond-with: markdown, html | → | format on /scrape |
| x-proxy | → | "proxy":"extra" and country |
| x-respond-with: readerlm-v2 + x-json-schema | → | POST /extract |
| s.jina.ai | → | GET /search · /serp |
| Many r.jina.ai calls | → | POST /site · /scrape/jobs |
| LinkedIn, Amazon URLs | → | POST /recipes/{name} |
| mcp.jina.ai/v1 | → | api.crawl4ai.com/mcp |

From both products' docs, 12 Nov 2026.

## Using both

Not either-or. Both speak MCP, so one agent can hold both. A team could keep Jina for embeddings and reranking, and use Crawl4AI to fetch the pages, including sites with bot checks, named sites as rows and whole sites, with data in the EU.

## Frequently asked questions
How much does Jina Reader cost?

Jina charges by the tokens in the page it returns: $50 buys 1 billion tokens and $500 buys 11 billion. A news or article page of 5,000 to 20,000 tokens costs $0.26 to $1.03 per 1,000 pages at the $50 pack, by our measured token counts. Crawl4AI charges $0.10 per 1,000 plain pages and $0.50 per 1,000 browser pages, whatever the page length.
Is Jina Reader free?

Without a key, Reader works at 20 requests a minute, and a new key gets 10 million free tokens once. Search needs a key. Crawl4AI gives 1,000 credits every month with no card, which is 10,000 plain pages a month.
Can Jina Reader scrape sites with bot protection?

Jina's FAQ says Reader "does not actively circumvent or bypass any website defense mechanisms, anti-bot systems, or access controls", and a paid key "does not enable access to websites that block our service". Crawl4AI gets past bot checks and CAPTCHA pages on hard sites, and a page we cannot get costs nothing.
Does Jina Reader charge for failed requests?

Jina says tokens are not deducted for failed requests. But a missing page comes back with code 200 and a token count, by their own open issue #1103. On Crawl4AI a failed call is free, a blocked page included, and the answer says what effort the page needed.
Does Jina Reader give refunds?

Jina's terms say "The credits purchased by the client are not refundable nor exchangeable." On Crawl4AI, a first plan payment or an extra-credit purchase is refundable within 14 days if none of its credits were used, and extra credits never expire.
Does Jina Reader have EU data residency?

Jina shows an "EU Residency" option marked "Experimental", set per request; the default location is not published. Crawl4AI runs in the EU, Singapore and the US, and keeps account, usage and billing data in the EU.
Can Jina Reader crawl a whole website?

Jina has no crawl endpoint; its README points to a Colab notebook, and you read each page yourself. Crawl4AI has /site for a deep crawl (about $0.10 for 1,000 plain pages) and /scan for the page list of a site.

Sources and method

1. [Jina Reader page: FAQ, rate limits, parameters ↗](https://jina.ai/reader)
2. [Jina pricing (the price list it loads) ↗](https://dash.jina.ai/api/v1/product)
3. [Jina legal: terms and privacy ↗](https://jina.ai/legal)
4. [Jina contact sales and Elastic FAQ ↗](https://jina.ai/contact-sales/)
5. [Jina Reader on GitHub: README and issues ↗](https://github.com/jina-ai/reader)
6. [Jina MCP server ↗](https://github.com/jina-ai/MCP)
7. [ReaderLM-v2 release note ↗](https://jina.ai/news/readerlm-v2-frontier-small-language-model-for-html-to-markdown-and-json/)
8. [Jina status ↗](https://status.jina.ai)
9. [Crawl4AI prices ↗](https://crawl4ai.com/v1/prices)
10. [Crawl4AI legal ↗](https://crawl4ai.com/legal/)

We read these pages on 12 Nov 2026. Crawl4AI's facts come from its live price list, docs and terms. Something wrong or out of date? Write to hello@crawl4ai.com and we fix it.
