Skip to the page

Jina Reader (r.jina.ai) compatible

Change the address.

Jina Reader bills tokens by the length of each page, and its Reader page prints no dollar rate. SpecStream answers the same POST to r.jina.ai in Jina's own text and JSON for $0.0008 a page.

The switch is one line: https://api.specstream.ai/jina in place of https://r.jina.ai/, and a SpecStream key as the Bearer token. The page goes in the body as url, as Jina's POST form sends it.

The Extract API behind this route scores 0.908 F1 on WCXB. A page read costs $0.80 per 1,000, and a page that gives no text is not charged.

New accounts get $10 of credit, no card. It covers 2,000 searches.

Jina Reader to SpecStream, call by call and field by field

SpecStreamJina Reader
AddressPOST https://api.specstream.ai/jina with url in a form or JSON bodyPOST https://r.jina.ai/ with url in the body, or the page address after https://r.jina.ai/
The keyA SpecStream key as Authorization: BearerA Jina key as Authorization: Bearer. It raises the rate limit and charges tokens by content length
Reply formsText with Title:, URL Source:, Published Time: and Markdown Content:. X-Return-Format: text gives the text alone. Accept: application/json gives code, status and dataJSON with the URL, title, content and timestamp when the page has one
Fields in `data`title, url, content (text with X-Return-Format: text) and publishedTime. Not returned: description, links, images, warning, metadata and usage.tokensThe page content, and its links and images when asked. The token count of each response
ErrorsJina's own body: 401 AuthenticationFailedError, 400 ParamValidationError, 422 SubmittedDataMalformedError for a page with no text. A busy call gets 429 RateLimitTriggeredError with Retry-After and is not chargedTokens are not deducted for failed requests
Price$0.0008 a page, $0.80 per 1,000 pages. A page that gives no text is not chargedTokens by content length, topped up as you go. The Reader page prints no dollar rate
Free to start$10 of credit, no card, which covers 12,500 page reads. Credit never expires10M free tokens on every new API key

The Jina Reader call, on SpecStream

What else Jina Reader users price

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to migrate, step by step

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card.

2. Set the address to https://api.specstream.ai/jina where your code has https://r.jina.ai/, send the page as url in the body, and send the SpecStream key as the Bearer token. In Python:

import requests

reply = requests.post(
    "https://api.specstream.ai/jina",  # was https://r.jina.ai/
    headers={"Authorization": f"Bearer {SPECSTREAM_KEY}", "Accept": "application/json"},
    json={"url": "https://en.wikipedia.org/wiki/Web_scraping"},
    timeout=60,
)
reply.raise_for_status()
data = reply.json()["data"]
print(data["title"], data["url"])
print(data["content"][:500])

3. In JavaScript:

const res = await fetch("https://api.specstream.ai/jina", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SPECSTREAM_KEY}`,
    Accept: "application/json",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ url: "https://en.wikipedia.org/wiki/Web_scraping" }),
});
const { data } = await res.json();
console.log(data.title, data.content.slice(0, 500));

4. Read 429 as a call to send again after Retry-After, and 422 as a page that gave no text. Neither is charged.

Frequently asked questions

Something we didn't answer? Talk to a human

Is there a Jina Reader compatible API?
Yes. SpecStream answers Jina Reader's POST at https://api.specstream.ai/jina in Jina's own text and JSON forms, at $0.80 per 1,000 pages, as measured on production on Nov 10, 2026. The request and the parser stay; the address and the key change.
How do I migrate from Jina Reader?
Change one line: https://r.jina.ai/ becomes https://api.specstream.ai/jina, with a SpecStream key as the Bearer token. Send the page as url in a form or JSON body; the r.jina.ai/<url> address form is not served.
How much does Jina Reader cost?
Jina bills tokens by content length, and every new key comes with 10M free tokens; its Reader page prints no dollar rate. SpecStream charges $0.0008 a page, $0.80 per 1,000, and a new account gets $10 of credit with no card.
Is there a Jina Reader SDK whose address I can change?
No: as of Nov 10, 2026 Jina publishes no Reader client library, and its docs show HTTP calls. Change the address in your own requests, fetch or curl call.
Which Jina Reader fields does SpecStream not return?
Six in data: description, links, images, warning, metadata and usage.tokens. It returns title, url, content or text, and publishedTime when the page has a date.
What happens when a page cannot be read?
The route answers 422 SubmittedDataMalformedError in Jina's body, and the call is not charged. A busy call gets 429 with Retry-After, also not charged.

Sources

SpecStream wrote this page. Each Jina figure comes from Jina's own pages, and each other provider's figure from that company's own page. The route's behavior comes from its code and the pass table measured on production.

  1. Jina Readerjina.ai/reader, read Nov 10, 2026
  2. Jina docs for agentsdocs.jina.ai/llms.txt, read Nov 10, 2026
  3. SpecStream Jina Reader pass tablespecstream.ai/specstream/dialects/jina.md, read Nov 10, 2026
  4. Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
  5. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 10, 2026
  6. Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
  7. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  8. SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
  9. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026