Skip to main content

Confirm

Are you sure?

Jina Reader alternative

The best Jina Reader alternatives

Jina Reader made URL-to-Markdown a one-line job. If token billing, a five-minute cache, Elastic's licensing or the need for more than text has you looking around, here is what to look for, what the options are, and how a call moves.

By · Last updated: September 2026

TL;DR

The best Jina Reader alternative depends on why you're leaving. For a fixed price per page, Markdown produced without a model, free cache hits for up to 30 days and screenshots, metadata or Lighthouse from the same key, URLpipe. To crawl whole sites, Firecrawl. To self-host, Crawl4AI — or Jina's own Apache-2.0 Reader repository. Stay on Jina for PDFs, image captions and the no-signup prefix.

Free plan, no credit card. 1,000 credits a month.

Why switch

Why people look for a Jina Reader alternative

Jina Reader is good at its job: prefix a URL with r.jina.ai/ and you get Markdown back, JavaScript rendered, with options as headers. People who leave usually leave for one of five reasons.

  • The bill follows the page, not the call. Reader charges the tokens in its response, so a long article costs several times a short one, and you learn the price after the call. Budgeting per URL means estimating page length first.
  • The cache is short. Jina keeps results for about five minutes. A pipeline that re-reads the same URLs over hours or days pays for every read.
  • Ownership and licensing. Elastic acquired Jina AI in October 2025, and commercial and on-premises licensing now goes through Elastic's sales team. The ReaderLM-v2 model is CC-BY-NC-4.0 — non-commercial. The Reader repository itself is Apache-2.0.
  • Text is not the whole job. Once a pipeline also needs a screenshot of the page, its metadata, a Lighthouse score or its console errors, a text-only reader means a second and third vendor.
  • Delivery and data residency. Reader answers in the HTTP response — there is no webhook or job token — and its EU endpoint is labelled experimental.

Criteria

What to look for in a replacement

  1. 1
    Output you can measure. Ask how much visible text survives and how much of the output is text a visitor never sees — menus, hidden panels, cookie policies. The second number is what pollutes your chunks.
  2. 2
    A real browser. Anything that fetches over plain HTTP returns an empty shell for a single-page app.
  3. 3
    A price you know before the call, and what a cache hit, a failed fetch and a bot check cost.
  4. 4
    The same options you use today: removing elements by selector, waiting for one to appear, blocking ads and cookie banners.
  5. 5
    An MCP server if an agent is the caller, and one that renders JavaScript.

Shortlist

The options, briefly

Good atWatch out for
URLpipeFixed 1-credit Markdown made without a model; screenshots, metadata, Lighthouse and console from the same key; hosted MCP; EU processingSingle URLs only; no PDFs, no crawling, no self-hosting
FirecrawlCrawling, mapping and schema extraction across whole sites; PDFs; SDKsCached results still spend credits; 402 at the quota without auto-recharge
MicrolinkMarkdown on every plan alongside link previews and screenshots; free cache hits25 requests a day free; pauses at the quota
Crawl4AIApache-2.0, self-hosted, no per-page feeYou run and unblock it yourself
Jina's own repoApache-2.0 Reader you can run in DockerReaderLM-v2 is non-commercial; you host it

Benchmark

Markdown quality, measured

Coverage is close across the board. The difference is how much junk comes along with it.

StrategyVisible text keptText the reader never seesCost / page
URLpipe — deterministic walk of the rendered DOM87.2%11.0%$0
Readability (the approach Jina Reader runs)88.2%21.3%—
Firecrawl's selector blocklist85.8%17.0%—
An LLM rewriting the page79.0%22.0%$0.0025

Measured on 33 real pages, each strategy run on the same fetched DOM. These are the strategies, reimplemented — not the vendors' live APIs, which add their own tuning. URLpipe's converter reads no CSS, so text hidden only by a stylesheet can still leak.

URLpipe's /markdown walks the rendered DOM and writes down the main content — headings, paragraphs, lists, links, tables, code — in about 20 ms, the same way every time. No model is involved, which is why it costs what a page fetch costs. Try it on one of your own pages:

Migration

Moving a Jina Reader call to URLpipe

A Jina call is a GET with the target in the path and options in headers. URLpipe takes a POST with the target and options in a JSON body. Send "sync": true to get the Markdown in the response, as Jina does; leave it out and you get a token at once, with the result delivered to a signed webhook or waiting at GET /result/:token for 30 days.

The same page, both ways
curl https://r.jina.ai/https://example.com/pricing \
  -H "Authorization: Bearer $JINA_API_KEY"
Jina ReaderURLpipe
X-Remove-Selectorpage_options.remove_selectors
X-Wait-For-Selectorpage_options.wait_for_selector (up to 10 s)
X-Respond-With: htmlPOST /html
X-Respond-With: screenshot / pageshotPOST /screenshot — full page by default
X-No-Cache"max_age": 0
X-Target-SelectorNo equivalent — URLpipe converts the main content
PDF URLs, X-With-Generated-AltNo equivalent — keep Jina for these

For an agent, the swap is a config change: point the client at https://urlpipe.dev/mcp with an organization token, and fetch_markdown replaces read_url. See the MCP docs.

Honestly

What you give up by leaving Jina

  • The no-signup prefix. URLpipe's free tools need no account in a browser, but the API needs a key.
  • PDF reading and image captions. URLpipe reads web pages only.
  • Very cheap short pages. If most of your pages are a few hundred tokens, per-token billing can cost less than a fixed credit.
  • Search, embeddings and reranking from the same vendor.

Side by side

URLpipe and Jina Reader, feature by feature

CapabilityURLpipeJina Reader
Clean Markdown from a URLYesYes
Renders JavaScript (real browser)YesYes
Rendered HTMLYesYes
ScreenshotsYesYes
Full-page screenshotsYesYes
Element, dark-mode and hidden-selector screenshotsYes—
Metadata / Open GraphYesPartial
AI summaryYesNo
Keyword extraction endpointYesNo
Lighthouse auditsYesNo
JavaScript console captureYesNo
Several outputs from one page visit/scrape—
Whole-site crawlingNoNo
Schema-based structured extractionNoYes
PDF input or outputNoInput
MCP serverHostedHosted
Async + webhook for a single URLYes—
Idempotency key on retriesYes—
Your own labels on requests, usage by labelYes—
Cached results cost nothingYes—
Residential-IP fetchingOne exit, +25 credits/visitProxy by country
Official SDKsNo—
Self-hostableNoApache-2.0 repo
Free tier1,000 credits/mo10M tokens per key
EU processing, AI includedYesExperimental EU endpoint

Jina Reader: checked against jina.ai/reader, jina.ai/api-dashboard/pricing, github.com/jina-ai/reader, github.com/jina-ai/MCP, huggingface.co/jinaai/ReaderLM-v2 on September 24, 2026. Products change — confirm on each vendor's site before you decide.

Pricing

What each one costs

URLpipeJina Reader
Free tier$0 — 1,000 credits/mo, no card20 requests/min with no key; 10M tokens for every new key
Entry paid planStarter $19/mo — 20,000 credits—
Mid planPro $49/mo — 55,000 credits—
Billing unitCredits per call: Markdown, HTML, screenshot or console 1, Lighthouse 2, metadata 5Tokens in the response, prepaid
OveragePaid plans never cut off — $1.50 per 1,000 credits—
Cache hitsFree, up to 30 days oldCache lasts about 5 minutes

Jina's free tokens are shared across its APIs and every new key gets them. URLpipe's 1,000 credits a month is 1,000 Markdown conversions whatever each page's length, and a paid plan never stops at its allowance: it carries on at $1.50 per 1,000 credits.

Who it's for

An honest recommendation

Choose URLpipe if…

  • You want a fixed price per page, known before the call
  • You re-read URLs and want cache hits free for up to 30 days
  • You also need screenshots, metadata, Lighthouse or console errors — or several from one page visit
  • Your agent should read JavaScript-rendered pages over a hosted MCP server
  • You need AI processing kept in the EU, or requests labelled by customer

Choose Jina Reader if…

  • You rely on the no-signup r.jina.ai/ prefix
  • You read PDFs, or want images captioned
  • Most of your pages are short, so per-token billing is cheap
  • You want to self-host the Apache-2.0 Reader repository
  • You already use Jina's search, embeddings or reranker

FAQ

Frequently asked questions

Is URLpipe a good Jina Reader alternative?
Yes, for URL-to-Markdown with a fixed price per page, output produced the same way every time without a model, and a cache that lasts up to 30 days instead of about five minutes. It also returns screenshots, metadata, summaries, Lighthouse audits and console errors from the same key. Stay on Jina for PDFs, image captions and the no-signup prefix.
What is the closest free alternative to Jina Reader?
For a hosted API, URLpipe's free plan is 1,000 credits a month with no card — 1,000 Markdown conversions — and its free tools convert a page in the browser with no account. For self-hosting, Crawl4AI (Apache-2.0) or Jina's own Apache-2.0 Reader repository.
Is Jina Reader still free?
Yes, within limits: 20 requests a minute with no key, and 10 million free tokens for every new API key. After that, Reader is billed by the tokens in each response, in prepaid packages.
Can I use Jina's ReaderLM-v2 commercially?
Not under its published licence, which is CC-BY-NC-4.0. Jina says commercial use needs a licence, sold through Elastic. The Reader service and its Apache-2.0 repository are separate from the model.
Does URLpipe support Jina's CSS selector headers?
It covers removal and waiting: page_options.remove_selectors and page_options.wait_for_selector, plus ad and cookie-banner removal. It has no equivalent of X-Target-Selector — URLpipe converts the page's main content rather than one element.

Try URLpipe on the free plan.

1,000 credits a month, no card. Confirm your email and your key is live — most people make their first request inside five minutes.