| name | jina-cli |
| description | Reads web content and searches the web using Jina AI Reader API. Use when extracting content from URLs, reading social media posts (X/Twitter), or web searching for current information. |
jina - Web Content Reader & Search
CLI tool for reading web content and performing AI-powered web searches.
Quick start
Install:
curl -fsSL https://raw.githubusercontent.com/geekjourneyx/jina-cli/main/scripts/install.sh | bash
Basic usage:
jina read --url "https://example.com"
jina search --query "golang latest news"
Commands
| Command | Purpose |
|---|
read | Extract and convert content from URLs to LLM-friendly format |
search | Search the web with AI-powered result processing |
config | Manage settings (set/get/list/path) |
Read command
Extract content from any URL:
jina read --url "https://example.com"
jina read -u "https://x.com/user/status/123" --with-alt
jina read --file urls.txt
jina read -u "https://example.com" --output markdown
jina read -u "https://example.com" --output-file result.md
Response formats
The API can return content in different formats via --format:
markdown - Default, LLM-friendly Markdown
html - Raw HTML
text - Plain text
screenshot - URL to a screenshot
Advanced options
jina read -u "https://example.com" --no-cache
jina read -u "https://example.com" --proxy "http://proxy.com:8080"
jina read -u "https://example.com" --target-selector "article.main"
jina read -u "https://example.com" --wait-for-selector "#content"
jina read -u "https://example.com" --cookie "session=abc123"
jina read -u "https://example.com/#/route" --post
Search command
Search the web with automatic content fetching from top results:
jina search --query "golang latest news"
jina search -q "AI developments" --site techcrunch.com --site theverge.com
jina search -q "climate change" --limit 10
jina search -q "news" --output markdown
Site filtering
Use multiple --site flags to restrict search to specific domains:
jina search -q "startup funding" --site techcrunch.com --site theverge.com --site wired.com
Configuration
Config file: ~/.jina-reader/config.yaml
Priority: Command args > Environment vars > Config file > Defaults
Environment variables:
JINA_API_BASE_URL - Read API URL (default: https://r.jina.ai/)
JINA_SEARCH_API_URL - Search API URL (default: https://s.jina.ai/)
JINA_TIMEOUT - Request timeout in seconds (default: 30)
JINA_WITH_GENERATED_ALT - Enable image captioning (default: false)
JINA_OUTPUT_FORMAT - Output format: json/markdown (default: json)
JINA_PROXY_URL - Proxy server URL
Config commands:
jina config set timeout 60
jina config set with-generated-alt true
jina config list
jina config get timeout
jina config path
Output formats
JSON format (default, machine-readable):
{
"success": true,
"data": {
"url": "https://example.com",
"content": "# Extracted Content\n\n...",
"title": "Page Title"
}
}
Markdown format (human-readable):
jina read -u "https://example.com" --output markdown
Common use cases
Reading social media posts
jina read -u "https://x.com/elonmusk/status/123456" --with-alt
Reading articles/blogs
jina read -u "https://blog.example.com/article"
jina read -u "https://example.com" --format text --output markdown
Research workflows
jina search -q "quantum computing 2025" --limit 10
jina read --file search_results.txt
Batch processing
Create a file with one URL per line:
cat > urls.txt << EOF
https://example.com/page1
https://example.com/page2
https://x.com/user/status/123
EOF
jina read --file urls.txt --output markdown
Project structure
cli/
├── main.go # Root command
├── read.go # read command
├── search.go # search command
├── config.go # config command
└── pkg/
├── api/client.go # Jina API HTTP client
├── config/ # Config file management
└── output/ # JSON/Markdown formatter
Implementation notes
- Go 1.24+ required
- Zero dependencies except Cobra
- Single binary distribution
- Config stored as simple
key=value format (no YAML library dependency)
For API details: See cli/pkg/api/client.go