✓ Verified 💻 Development ✓ Enhanced Data

Haibo Jina Reader

Extract clean, readable markdown content from any URL using Jina Reader API.

Rating
4.8 (456 reviews)
Downloads
529 downloads
Version
1.0.0

Overview

Extract clean, readable markdown content from any URL using Jina Reader API.

Complete Documentation

View Source →

Jina Reader

Overview

Jina Reader provides clean markdown extraction from any URL, bypassing HTML complexity, JavaScript rendering, and many paywalls. It returns structured text content with metadata (title, URL, published time) that's perfect for AI analysis.

Quick Start

Extract markdown content

bash
scripts/jina-reader.py <url>

Extract with JSON metadata

bash
scripts/jina-reader.py <url> --format json

Save to file

bash
scripts/jina-reader.py <url> -o output.md

Core Operations

1. Basic Extraction

Extract clean markdown from any URL:

bash
scripts/jina-reader.py https://example.com/article

Returns: Full markdown content including title, metadata headers, and structured text.

Use when: You need readable text from a webpage for summarization, analysis, or content processing.

2. JSON Format

Get structured data with metadata:

bash
scripts/jina-reader.py https://example.com/article --format json

Returns:

json
{
  "status": "success",
  "metadata": {
    "title": "Article Title",
    "url": "https://example.com/article",
    "published": "Mon, 10 Feb 2026 12:00:00 GMT"
  },
  "content": "Markdown content..."
}

Use when: You need programmatic access to metadata or want to integrate with other tools.

3. Shell Script Quick Access

For simple one-liners:

bash
scripts/jina-reader.sh https://example.com/article

Returns: Raw markdown content directly to stdout.

Use when: Quick extraction without arguments or when piping to other commands.

Usage Patterns

Combining with Search

When using tavily-search, web_search, or searxng skills:

  • Get search results with relevant URLs
  • Extract content from top results using jina-reader
  • Process and summarize the extracted content
bash
# Example workflow
URL="https://example.com/article"
scripts/jina-reader.py "$URL" --format json | jq -r '.content'

Batch Processing

Extract from multiple URLs:

bash
for url in $(cat urls.txt); do
  scripts/jina-reader.py "$url" -o "output/$(basename $url).md"
done

Content Analysis

Pipe extracted content to analysis tools:

bash
scripts/jina-reader.py https://example.com/article | wc -w
scripts/jina-reader.py https://example.com/article | grep -i "keyword"

Options

Python Script (jina-reader.py)

  • url (required): The URL to extract content from
  • -f, --format: Output format - markdown or json (default: markdown)
  • -t, --timeout: Request timeout in seconds (default: 30)
  • -o, --output: Save output to file instead of stdout

Shell Script (jina-reader.sh)

  • url (required): The URL to extract content from

Limitations

  • Timeout: Default 30 seconds. Increase with -t for slow-loading pages
  • Rate limits: Jina Reader API has rate limits. Use batching strategically
  • Dynamic content: Can't extract content generated by client-side JavaScript after page load
  • Authentication: Can't access pages requiring login or special headers

Troubleshooting

Timeout errors

bash
scripts/jina-reader.py <url> -t 60  # Increase timeout

Invalid URLs

The tool auto-prepends https:// if missing. Use fully qualified URLs for reliability.

Empty content

Some pages may block scraping. Try the shell script as fallback, or verify the URL is accessible.

Resources

scripts/jina-reader.py

Full-featured Python tool with JSON output, metadata extraction, and file saving.

scripts/jina-reader.sh

Lightweight shell script for quick markdown extraction.

Installation

Terminal bash

openclaw install haibo-jina-reader
    
Copied!

💻Code Examples

**Returns:**

returns.json
{
  "status": "success",
  "metadata": {
    "title": "Article Title",
    "url": "https://example.com/article",
    "published": "Mon, 10 Feb 2026 12:00:00 GMT"
  },
  "content": "Markdown content..."
}

scripts/jina-reader.py "$URL" --format json | jq -r '.content'

scriptsjina-readerpy-url---format-json--jq--r-content.txt
### Batch Processing

Extract from multiple URLs:

done

done.txt
### Content Analysis

Pipe extracted content to analysis tools:

scripts/jina-reader.py https://example.com/article | grep -i "keyword"

scriptsjina-readerpy-httpsexamplecomarticle--grep--i-keyword.txt
## Options

### Python Script (`jina-reader.py`)

- `url` (required): The URL to extract content from
- `-f, --format`: Output format - `markdown` or `json` (default: markdown)
- `-t, --timeout`: Request timeout in seconds (default: 30)
- `-o, --output`: Save output to file instead of stdout

### Shell Script (`jina-reader.sh`)

- `url` (required): The URL to extract content from

## Limitations

- **Timeout:** Default 30 seconds. Increase with `-t` for slow-loading pages
- **Rate limits:** Jina Reader API has rate limits. Use batching strategically
- **Dynamic content:** Can't extract content generated by client-side JavaScript after page load
- **Authentication:** Can't access pages requiring login or special headers

## Troubleshooting

### Timeout errors
example.sh
# Example workflow
URL="https://example.com/article"
scripts/jina-reader.py "$URL" --format json | jq -r '.content'
example.sh
for url in $(cat urls.txt); do
  scripts/jina-reader.py "$url" -o "output/$(basename $url).md"
done

Tags

#web_and-frontend-development #api

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author smile-xuc
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install haibo-jina-reader