Autosearch fetch-jina
Fetch any public URL as clean Markdown via Jina Reader (r.jina.ai). Best for articles, docs, blog posts; weak on heavy anti-bot sites (Zhihu, Xiaohongshu).
install
source · Clone the upstream repo
git clone https://github.com/0xmariowu/Autosearch
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/0xmariowu/Autosearch "$T" && mkdir -p ~/.claude/skills && cp -r "$T/autosearch/skills/tools/fetch-jina" ~/.claude/skills/0xmariowu-autosearch-fetch-jina && rm -rf "$T"
manifest:
autosearch/skills/tools/fetch-jina/SKILL.mdsource content
Fetch public web pages as Markdown through Jina Reader's
https://r.jina.ai/<URL> endpoint.
URL Fit
- Best for articles, documentation, blogs, changelogs, and other mostly static public pages.
- Weak for JavaScript-heavy pages, login-gated content, and anti-bot sites such as Zhihu or Xiaohongshu.
- Use it as the first fast path when the task needs URL-to-Markdown content without browser state.
Invocation
Call
fetch.py's async fetch(url: str) function with the original public URL:
result = await fetch("https://example.com/article")
Successful calls return:
{ "ok": True, "url": "https://example.com/article", "reader_url": "https://r.jina.ai/https://example.com/article", "markdown": "...", "metadata": {"title": "...", "fetched_at": "...", "status": 200}, }
Failure Modes
- Timeout, network errors, 4xx, and 5xx responses return
with a structuredok: false
.reason - Anti-bot refusals return
andreason: jina_refused
.suggest_fallback: fetch-crawl4ai - Runtime callers should choose their own fallback instead of assuming this tool retries.
Limits
- Public Jina Reader availability and rate limits are upstream dependencies.
- Some sites block reader-style fetches or return degraded content.
- This skill does not execute JavaScript, click through consent flows, or authenticate.
Quality Bar
- Evidence items have non-empty title and url.
- No crash on empty or malformed API response.
- Source channel field matches the channel name.