Jina Reader turns a URL into Markdown on its servers; GhostGet does it on your machine
Jina AI Reader converts a URL to LLM-friendly Markdown when you prepend https://r.jina.ai/: its servers fetch the page, render it in headless Chrome when a lightweight fetch is not enough, and return clean text. GhostGet’s read command does the same job as a local CLI: the request leaves your machine directly, and the Markdown lands on your disk if you ask it to.
Jina Reader is a URL prefix; GhostGet is a local command
Reader’s interface is a URL prefix: https://r.jina.ai/https://example.com returns the page as Markdown from any client that can open a link. Request headers tune the fetch: a browser-engine choice between a lightweight fetcher and headless Chrome, CSS selectors that target or remove elements, cache bypass and tolerance, hosted proxy options, image captioning, PDF and Office-document parsing, and custom JavaScript run before extraction. A sibling prefix, s.jina.ai, turns a search query into Markdown results, and mcp.jina.ai exposes the same tools as an MCP server.
GhostGet’s interface is a command: ghostget read <url> prints the page as Markdown to stdout, and ghostget <url> --output <dir> saves it with its capture record into a local vault that ghostget search can query without an embedding model. There is no hosted step and no prefix to route through, and a saved result is a file on your disk.
Jina Reader meters requests and tokens; GhostGet has no key or meter
Reader meters by request count and output tokens. Anonymous use runs at 20 requests per minute per IP. A free or paid API key raises the cap to 500 per minute, premium keys reach 5,000, and keyed reads count the tokens in each response against a balance that starts at 10 million free tokens. The s.jina.ai search endpoint bills a fixed token count per request and requires a key, and the hosted proxy pool that routes around bot challenges is keyed too.
GhostGet has no key and no meter. One read is one HTTP request from your network, or a capped internal render at two browsers at a time when the page needs JavaScript.
Jina Reader’s engine is open source, and the hosted service adds keys and proxies
The jina-ai/reader repository is the Apache-2.0 open-source branch of the code behind r.jina.ai and s.jina.ai. It runs stateless or with bucket caching, and the MongoDB-backed storage layer of the hosted service is not included. A published Docker image bundles headless Chrome and LibreOffice, so you can run the engine on your own servers; the keys, rate tiers, and proxy pool belong to the hosted service.
GhostGet is MIT licensed and runs locally. It has no hosted tier, and the CLI on your machine is the whole product. The same install also covers media archiving and connected-account actions, which Reader’s URL-in, text-out shape does not.
Jina Reader and GhostGet side by side
| Decision | Jina AI Reader | GhostGet |
|---|---|---|
| Interface | A URL prefix or API call; header-tuned fetching | ghostget read <url>, a local command |
| Where the fetch runs | Jina’s servers, choosing between a lightweight fetcher and headless Chrome | Your machine; a capped internal render only when the page needs JavaScript |
| Cost | Free at 20 requests a minute without a key; a key reaches 500 and meters output tokens against a topped-up balance | Free, MIT licensed, no meter |
| Where results live | In the HTTP response; Jina caches pages on its side unless asked not to | stdout, or a searchable Markdown vault on your disk |
| Beyond a single read | s.jina.ai search, document parsing, proxy options, an MCP server |
Local vault search, one-item media archives, connected-account actions |
| Data path | The URL and its content pass through Jina’s infrastructure and cache | The request goes from your machine to the site; no GhostGet service sits in between |
When to pick Jina Reader, and when to pick GhostGet
Pick Jina Reader when zero install is the point: a prefix that works from a browser bar, a curl one-liner, or an app that cannot run a local CLI, plus a hosted proxy, document parsing, and a search endpoint when a plain fetch is not enough. Its open-source image also gives you a self-hostable engine if you want the same pipeline on your own servers.
Pick GhostGet when the agent already runs commands on your machine and the read should stay local: no key or rate ceiling, Markdown saved into a searchable vault, and one tool that also covers media archiving and reviewed account actions.