About fetching-blocked-urls
A skill for retrieving readable Markdown from URLs that web_fetch cannot access, aimed at AI workflows in restricted network environments. It uses Jina AI's reader endpoint as a fallback and retries transient failures.
Key features
- 01Fetch pages through Jina AI reader
- 02Retry transient upstream errors
- 03Preserve page links in Markdown
- 04Document access limitations
Use cases
- 01Recover content after web_fetch returns 403
- 02Read JavaScript-heavy or garbled pages
- 03Retry when the reader service fails
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ oaustegard/ claude-skills --skill fetching-blocked-urlsAfter installing, type/fetching-blocked-urlsin Claude Code to confirm it loaded.
Bundled filesCHANGELOG.mdREADME.md
Details
From the project READMEFetching Blocked URLs
Retrieve readable content from URLs that web_fetch cannot access. Jina AI's reader service renders JavaScript, bypasses soft blocks, and returns clean markdown.
Activation Triggers
Invoke this skill immediately when web_fetch returns:
- 403 Forbidden or access denied
- Paywall or login wall indicators
- Empty, garbled, or truncated content
- JavaScript-heavy SPA failures
- Timeout errors
Core Command
curl -s --max-time 30 "https://r.jina.ai/TARGET_URL"
The service returns markdown with page title, body text, and preserved links.
Retry Pattern
Jina's backend has ~10% intermittent failures. Use retry logic to achieve 99%+ success:
for attempt in 1 2 3; do
result=$(curl -s --max-time 30 "https://r.jina.ai/TARGET_URL" 2>&1)
echo "$result" | grep -q "upstream connect error" || { echo "$result"; break; }
[ $attempt -lt 3 ] && sleep 1
done
Workflow Integration
- Primary: Use web_fetch (native tool)
- Fallback: This skill with retry when web_fetch fails
- Escalate: Request user assistance only after retry exhaustion
Attempt this fallback before asking users to copy-paste content manually.
Output Format
Jina returns structured markdown:
Title:page titleURL Source:original URLMarkdown Content:extracted body text, links preserved
Limitations
- Long pages may truncate
- Sites blocking all scrapers remain inaccessible
- Login-required content limited to public portions
- Real-time dynamic content may not render
Domain Access
r.jina.ai is whitelisted in Claude container network configuration.