Skip to content
Back to skills

Fetching Blocked Urls

ASecurity

Retrieve clean markdown from URLs when web_fetch fails. Converts pages via Jina AI reader service with automatic retry. Use when web_fetch or curl returns 403, blocked, paywall, timeout, JavaScript-rendering errors, or empty content or user explicitly suggests using jina.

  • 150 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 8, 2026
developmentjavascriptjavabashbackend

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add oaustegard/claude-skills --skill fetching-blocked-urls --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fetching Blocked Urls?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fetching Blocked Urls
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/oaustegard-fetching-blocked-urls/badge)](https://www.skillsdirectory.com/skills/oaustegard-fetching-blocked-urls)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fetching-blocked-urls
description: Retrieve clean markdown from URLs when web_fetch fails. Converts pages via Jina AI reader service with automatic retry. Use when web_fetch or curl returns 403, blocked, paywall, timeout, JavaScript-rendering errors, or empty content or user explicitly suggests using jina.
metadata:
  version: 0.1.1
---

# Fetching 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

```bash
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:

```bash
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

1. **Primary**: Use web_fetch (native tool)
2. **Fallback**: This skill with retry when web_fetch fails
3. **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 title
- `URL Source:` original URL
- `Markdown 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.

Files in this skill

  • CHANGELOG.md283 B
  • README.md298 B
  • SKILL.md1.9 KB
  • _MAP.md418 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.