workingproxysites.

/scraping-api/ — Jina Reader API

Choose Jina Reader’s main-content or full-page Markdown, JSON response wrapper and cache controls. Check URL fragments, selectors and output-token billing.

Scraping API. Official documentation · Checked · Review due .

documented capabilities

HTTP API
Known URL first
Prefix a complete URL with https://r.jina.ai/ to read that page, for example https://r.jina.ai/https://example.com. The separately authenticated s.jina.ai search endpoint has its own terms.[1][2]
Main content or full page
The default content mode extracts readable page content as Markdown. X-Respond-With: markdown returns full-page Markdown without the readability filter. Use the default for an article body; choose full-page mode when surrounding page text matters.[2][3]
JSON wrapper versus fields
Accept: application/json requests a JSON response with page URL, title and content. It does not ask Reader to extract your own JSON Schema fields. X-Respond-With selects the content representation inside the response.[1][2][3]
HTML and text choices
Set X-Respond-With: html for HTML or X-Respond-With: text for plain text. Select the representation your application will process before comparing output size or token usage.[2][3]
Freshness
Use X-No-Cache: true or X-Cache-Tolerance: 0 when cached output is unsuitable. Published sources give different cache lifetimes, so do not rely on one universal default TTL.[1][2][3]
Missing dynamic content
For a page that needs browser rendering, explicitly choose X-Engine: browser. X-Wait-For-Selector waits for an expected element; X-Target-Selector limits returned content and X-Remove-Selector removes unwanted elements.[1][2][3]
Hash-based routes
A URL fragment after # is normally kept by the HTTP client. For a route such as https://example.com/#/route, POST the full URL in the request body to https://r.jina.ai/ so Reader receives the fragment.[2][3]
Reject or truncate
X-Token-Budget rejects a request when the resulting token cost would exceed the limit. X-Max-Tokens truncates returned content. Choose rejection when completeness matters; use truncation only when partial output is acceptable.[2][3]
Authentication and limits
Basic Reader requests can omit credentials. Send Authorization: Bearer YOUR_JINA_API_KEY for the supplied key’s token balance and rate limits. Anonymous limits are tracked by IP; keyed requests use the key’s limits.[1][3]

Billing: Basic anonymous URL reading is rate-limited. Keyed Reader usage draws from the supplied API key’s output-token balance; optional modes can change token usage. Jina documents no token deduction for failed requests. Check the current key quota and rate table.

Outputs: markdown, text, html, json

Documented for: HTTP API

[ official reference ][ JSON record ]

getting started

documentation reviewed
  1. Choose a known public URL and whether the application needs main-content Markdown, full-page Markdown, HTML or plain text.
  2. Start with the simple GET example. Add Accept: application/json for a machine-readable wrapper; add Authorization: Bearer YOUR_JINA_API_KEY in your private client if using that key’s quota.
  3. Use the POST example for hash-based routes. If content is missing, check the target and cache first, then choose browser rendering or an appropriate wait/target selector.
  4. Inspect the returned URL, content and any error before storing the response. Set a token budget when oversized output should be rejected; do not treat truncated text as a complete page.

Requirements & limitations

  • This record covers known-URL reading through hosted r.jina.ai. Jina’s search, embeddings, self-hosted Reader and specialized OCR paths have different requirements.
  • A JSON response wrapper or CSS content selection does not establish arbitrary schema-guided field extraction.
  • Rendering and selection controls are documented capabilities, not a measured success rate for protected or dynamic pages. A paid key does not guarantee access to a blocked target.
  • The request examples were checked against documentation and parsed locally; no target-page fetch, paid API request or performance test was run.

We reviewed the linked documentation. No live service connection, checkout or performance test is claimed for this listing.

request examples

adapt to your target

Read a known page — curl

curl --fail-with-body 'https://r.jina.ai/https://example.com'

[2] Official Reader guide: formats, selectors and URL fragments

Fresh full-page Markdown in JSON — curl

curl --fail-with-body 'https://r.jina.ai/https://example.com' \
  -H 'Accept: application/json' \
  -H 'X-Respond-With: markdown' \
  -H 'X-No-Cache: true'

[2] Official Reader guide: formats, selectors and URL fragments[3] Live Reader OpenAPI: headers and request schema

Preserve a hash route — curl

curl --fail-with-body 'https://r.jina.ai/' \
  --data-urlencode 'url=https://example.com/#/route'

[2] Official Reader guide: formats, selectors and URL fragments[3] Live Reader OpenAPI: headers and request schema

primary sources

3 references
  1. Jina Reader: product options, rates and billing FAQChecked 2026-09-28
  2. Official Reader guide: formats, selectors and URL fragmentsChecked 2026-09-28
  3. Live Reader OpenAPI: headers and request schemaChecked 2026-09-28

related listings