Jina Reader Pricing Explained (2026): Billed by Output Tokens from a Prepaid Balance
Jina Reader (r.jina.ai) is not a subscription. Per Jina's Reader page (as of Nov 1, 2026), usage is billed by the tokens in each response, drawn from a token balance you top up in advance on an API key. So a short page uses few tokens and a long page uses many, and for short pages Jina's prepaid tokens can cost less per page than switch402. switch402 bills differently: a flat $0.008 per successful page whatever its length, paid per call, with no balance to buy first.
- Billed by output tokens
Per Jina, r.jina.ai counts the tokens in the output response, so the cost of a page depends on how much text comes back. Options that add output, such as image captions or link and image summaries, add tokens, and the jina-ocr-v1 option costs 40 times more tokens.
- Prepaid on an API key
Tokens are bought ahead and held on an API key, with optional auto top-up when the balance falls below a threshold you set. The same tokens are shared across Jina's other APIs on that key. Search (s.jina.ai) costs a fixed number of tokens per request, starting from 10,000.
- Short pages can cost less on Jina
Because Jina charges by length, short pages use few tokens, and for short pages Jina can cost less per page than switch402's flat $0.008. Long or very uneven pages use more tokens. Use the calculator with your own pack price and page sizes to see which is lower for you.
- Where switch402 differs
No prepay: each successful page is paid when you fetch it, so there is no balance to top up, track or run out of mid-job, and nothing left over to expire. The price is a flat $0.008 per page ($0.003 on lite) whatever the page length, so cost is known before the call.
How Jina Reader and switch402 bill a page, as of Nov 1, 2026
| Jina Reader (r.jina.ai) | switch402 (/v1/scrape) | |
|---|---|---|
| What you pay for | Output tokens in each response | Each successful page, flat $0.008 |
| Does page length change the cost? | Yes, longer pages use more tokens | No, same price for any length |
| How you pay | Prepaid token balance on an API key | Per call in USDC on Base over x402 |
| Balance to manage | Yes, with optional auto top-up | None; prepaid packs are optional |
| Account or key | API key for paid use | None needed |
For short pages, Jina's prepaid tokens can cost less per page than switch402. switch402 is for when you want no prepay, no balance and one known price per page used: $0.008 on /v1/scrape and $0.003 on /v1/scrape/lite, and a month with no calls costs $0.
Sources, checked Nov 1, 2026: jina.ai/reader, docs.jina.ai/api.md. Prices can change; check the source before you decide.
Example: 1,000 pages on switch402 cost $8 ($3 on lite) whatever their length, paid as you go. On Jina, the same 1,000 pages cost whatever their output tokens add up to at your pack price, from a balance bought in advance: short pages can come out lower than switch402, longer pages higher.
Code example
Before: Jina Reader, billed by output tokens (curl)
curl -s "https://r.jina.ai/https://example.com" \
-H "Authorization: Bearer $JINA_API_KEY"
# cost = tokens in the response, drawn from your prepaid balanceAfter: switch402, one flat price per successful page (JavaScript)
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPaymentFromConfig } from '@x402/fetch'
import { ExactEvmScheme } from '@x402/evm'
import { privateKeyToAccount } from 'viem/accounts'
const account = privateKeyToAccount(process.env.AGENT_KEY)
const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
schemes: [{ network: 'eip155:8453', client: new ExactEvmScheme(account) }],
})
const res = await fetchWithPayment('https://api.switch402.com/v1/scrape', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'User-Agent': 'my-agent/1.0' },
body: JSON.stringify({ url: 'https://example.com' }),
})
const { markdown } = await res.json() // $0.008 for any page length, charged only on successFAQ
- Is switch402 live?
- Yes. POST https://api.switch402.com/v1/scrape with {"url": "..."} returns the page as markdown for $0.008 USDC on Base per call, paid over x402 and charged only on success. A lower-cost endpoint, /v1/scrape/lite, is $0.003 per call.
- How is Jina Reader priced?
- Per jina.ai/reader, as of Nov 1, 2026: API pricing is based on token usage. r.jina.ai counts the tokens in the output response, and s.jina.ai search costs a fixed number of tokens per request, starting from 10,000. Tokens are bought ahead on an API key and shared across Jina's APIs.
- Does Jina Reader cost less than switch402?
- It can be. Jina charges by output tokens, so for short pages its prepaid tokens can cost less per page than switch402's flat $0.008. For long or uneven pages it can cost more. Enter your own pack price and average page size in the Jina calculator to see which is lower at your volume.
- Do Jina tokens expire?
- Jina's FAQ says its API keys have no expiration date, and if you revoke a key the remaining token balance stays on your account. switch402 simply has no balance: each successful call is paid on its own.
- Why would I use switch402 instead?
- If you want no prepay and no balance to manage, and one known price per page used: $0.008 per successful page on /v1/scrape ($0.003 on lite) in USDC on Base over x402, with no signup or API key, and a month with no calls costs $0. Optional prepaid packs exist if you prefer a balance.
- Where do these numbers come from?
- Jina's Reader page (token billing, prepaid top-up, rate limits and FAQ) and Jina's API reference, fetched Nov 1, 2026, plus switch402's live payment terms. Jina's token pack prices are shown in its dashboard; we don't list them here. Check the source before you decide.
Next steps
- API docs and migration snippets
- Pricing calculators
- Firecrawl pricing calculator
- Jina Reader cost calculator
- Firecrawl vs Jina Reader pricing
- Use cases
- Scraping API pricing compared
- Firecrawl credits expired?
- Pay-as-you-go scraping API
- ScrapingBee credits explained
- Firecrawl pricing explained
- ScraperAPI credits explained
- ZenRows credits explained
- Tavily credits explained
- Firecrawl vs Jina Reader pricing
- Diffbot pricing explained
- Scrapfly credits explained
- Scraping API without an API key
- Pay for MCP tool calls (x402)
- x402 gas fees and USDC on Base
- Credits vs pay per call