Jina CLI
/install jina-cli
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:
# Read a URL
jina read --url "https://example.com"
# Search the web
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:
# Basic read
jina read --url "https://example.com"
# Read with image captioning
jina read -u "https://x.com/user/status/123" --with-alt
# Batch process from file
jina read --file urls.txt
# Output as Markdown
jina read -u "https://example.com" --output markdown
# Save to file
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 Markdownhtml- Raw HTMLtext- Plain textscreenshot- URL to a screenshot
Advanced options
# Bypass cache
jina read -u "https://example.com" --no-cache
# Use proxy
jina read -u "https://example.com" --proxy "http://proxy.com:8080"
# CSS selector extraction
jina read -u "https://example.com" --target-selector "article.main"
# Wait for element to load
jina read -u "https://example.com" --wait-for-selector "#content"
# Forward cookies
jina read -u "https://example.com" --cookie "session=abc123"
# POST method for SPA with hash routing
jina read -u "https://example.com/#/route" --post
Search command
Search the web with automatic content fetching from top results:
# Basic search
jina search --query "golang latest news"
# Restrict to specific sites
jina search -q "AI developments" --site techcrunch.com --site theverge.com
# Limit results
jina search -q "climate change" --limit 10
# Output format
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:
# Set configuration
jina config set timeout 60
jina config set with-generated-alt true
# View configuration
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\
\
...",
"title": "Page Title"
}
}
Markdown format (human-readable):
jina read -u "https://example.com" --output markdown
Common use cases
Reading social media posts
# X (Twitter) posts
jina read -u "https://x.com/elonmusk/status/123456" --with-alt
# The --with-alt flag enables VLM image captioning for embedded images
Reading articles/blogs
# Standard article
jina read -u "https://blog.example.com/article"
# With specific format
jina read -u "https://example.com" --format text --output markdown
Research workflows
# 1. Search for topic
jina search -q "quantum computing 2025" --limit 10
# 2. Read specific results
jina read --file search_results.txt
Batch processing
Create a file with one URL per line:
cat > urls.txt \x3C\x3C 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=valueformat (no YAML library dependency)
For API details: See cli/pkg/api/client.go
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install jina-cli - After installation, invoke the skill by name or use
/jina-cli - Provide required inputs per the skill's parameter spec and get structured output
What is Jina CLI?
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 search... It is an AI Agent Skill for Claude Code / OpenClaw, with 89 downloads so far.
How do I install Jina CLI?
Run "/install jina-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Jina CLI free?
Yes, Jina CLI is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Jina CLI support?
Jina CLI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Jina CLI?
It is built and maintained by jackfeng0614-prog (@jackfeng0614-prog); the current version is v1.0.0.