← Back to Skills Marketplace
adhishthite

Jina AI - Web Reader, Search and Deep Search

by Adhish Thite · GitHub ↗ · v1.0.6
cross-platform ✓ Security Clean
1842
Downloads
6
Stars
5
Active Installs
6
Versions
Install in OpenClaw
/install jina-ai
Description
Web reading and searching via Jina AI APIs. Fetch clean markdown from URLs (r.jina.ai), web search (s.jina.ai), or deep multi-step research (DeepSearch).
README (SKILL.md)

Jina AI — Reader, Search & DeepSearch

Web reading and search powered by Jina AI. Requires JINA_API_KEY environment variable.

Trust & Privacy: By using this skill, URLs and queries are transmitted to Jina AI (jina.ai). Only install if you trust Jina with your data.

Model Invocation: This skill may be invoked autonomously by the model without explicit user trigger (standard for integration skills). If you prefer manual-only invocation, disable model invocation in your OpenClaw skill settings.

Get your API key: https://jina.ai/ → Dashboard → API Keys

External Endpoints

This skill makes HTTP requests to the following external endpoints only:

Endpoint URL Pattern Purpose
Reader API https://r.jina.ai/{url} Sends URL content request to Jina for conversion to markdown
Search API https://s.jina.ai/{query} Sends search query to Jina for web search results
DeepSearch API https://deepsearch.jina.ai/v1/chat/completions Sends research question to Jina for multi-step research

No other external network calls are made by this skill.

Security & Privacy

  • Authentication: Only your JINA_API_KEY is transmitted to Jina's servers (via Authorization header)
  • Data sent: URLs and search queries you provide are sent to Jina's servers for processing
  • Local files: No local files are read or transmitted by this skill
  • Local storage: No data is stored locally beyond stdout output
  • Environment access: Scripts only access the JINA_API_KEY environment variable; no other env vars are read
  • Cookies: Cookies are not forwarded by default; the X-Set-Cookie header is available for authenticated content but is opt-in only

Endpoints

Endpoint Base URL Purpose
Reader https://r.jina.ai/{url} Convert any URL → clean markdown
Search https://s.jina.ai/{query} Web search with LLM-friendly results
DeepSearch https://deepsearch.jina.ai/v1/chat/completions Multi-step research agent

All endpoints accept Authorization: Bearer $JINA_API_KEY.


Reader API (r.jina.ai)

Fetches any URL and returns clean, LLM-friendly content. Works with web pages, PDFs, and JS-heavy sites.

Basic Usage

# Plain text output
curl -s "https://r.jina.ai/https://example.com" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Accept: text/plain"

# JSON output (includes url, title, content, timestamp)
curl -s "https://r.jina.ai/https://example.com" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Accept: application/json"

Or use the helper script: scripts/jina-reader.sh \x3Curl> [--json]

Parameters (via headers or query params)

Content Control

Header Query Param Values Default Description
X-Respond-With respondWith content, markdown, html, text, screenshot, pageshot, vlm, readerlm-v2 content Output format
X-Retain-Images retainImages none, all, alt, all_p, alt_p all Image handling
X-Retain-Links retainLinks none, all, text, gpt-oss all Link handling
X-With-Generated-Alt withGeneratedAlt true/false false Auto-caption images
X-With-Links-Summary withLinksSummary true - Append links section
X-With-Images-Summary withImagesSummary true/false false Append images section
X-Token-Budget tokenBudget number - Max tokens for response

CSS Selectors

Header Query Param Description
X-Target-Selector targetSelector Only extract matching elements
X-Wait-For-Selector waitForSelector Wait for elements before extracting
X-Remove-Selector removeSelector Remove elements before extraction

Browser & Network

Header Query Param Description
X-Timeout timeout Page load timeout (1-180s)
X-Respond-Timing respondTiming When page is "ready" (html, network-idle, etc.)
X-No-Cache noCache Bypass cached content
X-Proxy proxy Country code or auto for proxy
X-Set-Cookie setCookies Forward cookies for authenticated content

Common Patterns

# Extract main content, remove navigation elements
curl -s "https://r.jina.ai/https://example.com/article" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "X-Retain-Images: none" \
  -H "X-Remove-Selector: nav, footer, .sidebar, .ads" \
  -H "Accept: text/plain"

# Extract specific section
curl -s "https://r.jina.ai/https://example.com" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "X-Target-Selector: article.main-content"

# Parse a PDF
curl -s "https://r.jina.ai/https://example.com/paper.pdf" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Accept: text/plain"

# Wait for dynamic content
curl -s "https://r.jina.ai/https://spa-app.com" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "X-Wait-For-Selector: .loaded-content" \
  -H "X-Respond-Timing: network-idle"

Search API (s.jina.ai)

Web search returning LLM-friendly results with full page content.

Basic Usage

# Plain text
curl -s "https://s.jina.ai/your+search+query" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Accept: text/plain"

# JSON
curl -s "https://s.jina.ai/your+search+query" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Accept: application/json"

Or use the helper script: scripts/jina-search.sh "\x3Cquery>" [--json]

Search Parameters

Param Values Description
site domain Limit to specific site
type web, images, news Search type
num / count 0-20 Number of results
gl country code Geo-location (e.g. us, in)
filetype extension Filter by file type
intitle string Must appear in title

All Reader parameters also work on search results.

Common Patterns

# Site-scoped search
curl -s "https://s.jina.ai/OpenAI+GPT-5?site=reddit.com" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Accept: text/plain"

# News search
curl -s "https://s.jina.ai/latest+AI+news?type=news&num=5" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Accept: application/json"

# Search for PDFs
curl -s "https://s.jina.ai/machine+learning+survey?filetype=pdf&num=5" \
  -H "Authorization: Bearer $JINA_API_KEY"

DeepSearch

Multi-step research agent that combines search + reading + reasoning. OpenAI-compatible chat completions API.

curl -s "https://deepsearch.jina.ai/v1/chat/completions" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jina-deepsearch-v1",
    "messages": [{"role": "user", "content": "Your research question here"}],
    "stream": false
  }'

Or use the helper script: scripts/jina-deepsearch.sh "\x3Cquestion>"

Use for complex research requiring multiple sources and reasoning chains.


Helper Scripts

Script Purpose
scripts/jina-reader.sh Read any URL as markdown
scripts/jina-search.sh Web search
scripts/jina-deepsearch.sh Deep multi-step research
scripts/jina-reader.py Python reader (no deps beyond stdlib)

Rate Limits

  • Free (no key): 20 RPM
  • With API key: Higher limits, token-based pricing

API Docs

When to Use

Need Use
Fetch a URL as markdown Reader — better than web_fetch for JS-heavy sites
Web search Search — LLM-friendly results
Complex multi-source research DeepSearch
Parse a PDF from URL Reader — pass PDF URL directly
Screenshot a page Reader with X-Respond-With: screenshot
Extract structured data Reader with jsonSchema param
Usage Guidance
This skill appears to do what it says: it sends the URLs/queries and your JINA_API_KEY to Jina's endpoints and returns results. Before installing: (1) only enable it if you trust Jina with the data you will send (URLs and queries and the API key are transmitted); (2) ensure your environment has curl and python3 available (the scripts use both but the skill metadata doesn't declare them); (3) store JINA_API_KEY safely (use a scoped/limited key if Jina supports it); (4) if you want to avoid autonomous invocations, disable model invocation for this skill in your OpenClaw settings; (5) review the included scripts yourself (they are short and readable) or install from the upstream GitHub repo to verify provenance.
Capability Analysis
Type: OpenClaw Skill Name: jina-ai Version: 1.0.6 The OpenClaw skill bundle for Jina AI is benign. All scripts (`.sh` and `.py`) are well-contained, interacting solely with specified Jina AI API endpoints (`r.jina.ai`, `s.jina.ai`, `deepsearch.jina.ai`). Crucially, the shell scripts (`jina-deepsearch.sh`, `jina-reader.sh`, `jina-search.sh`) implement robust input sanitization using `python3` to URL-encode or JSON-encode user-provided arguments, effectively preventing shell injection vulnerabilities. The Python script (`jina-reader.py`) uses `urllib.request` safely. The `SKILL.md` and `README.md` are transparent about data handling and external calls, and contain no prompt injection attempts or instructions for malicious behavior. No evidence of data exfiltration, persistence, or unauthorized actions was found.
Capability Assessment
Purpose & Capability
Name/description match the actual behavior: scripts call r.jina.ai, s.jina.ai, and deepsearch.jina.ai and require a JINA_API_KEY. Small documentation mismatch: the skill does not declare required binaries, but the shell scripts rely on curl and call python3 for URL encoding/JSON escaping; those runtime dependencies should be declared.
Instruction Scope
SKILL.md and the included scripts only instruct contacting the three Jina endpoints and sending the user-provided URL/query and the JINA_API_KEY. The scripts do not read arbitrary local files or access other environment variables; they parse and print responses to stdout.
Install Mechanism
No install spec (instruction-only) and included scripts are run directly. There are no downloads or archive extraction steps; nothing writes code to disk beyond the skill files themselves.
Credentials
Only JINA_API_KEY is required and is appropriate for a 3rd-party API integration. The SKILL.md explicitly states the API key is transmitted to Jina. No other credentials or unrelated env vars are requested.
Persistence & Privilege
always is false and the skill does not request elevated or persistent system privileges, nor does it modify other skills or system configuration. Model-autonomous invocation is enabled by default (platform default).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install jina-ai
  3. After installation, invoke the skill by name or use /jina-ai
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.6
No visible file changes detected in this release. - Version bumped to 1.0.6 with no documented code or documentation updates. - No impact or changes for users or developers.
v1.0.5
- Minor update to metadata: replaced the "openclaw" key with "clawdbot" in the SKILL.md metadata section. - No changes to code or functionality. - Documentation and feature details remain unchanged.
v1.0.4
- Added a privacy and trust notice, clarifying that data is sent to Jina AI and advising users to install only if they trust the service. - Added a notice about autonomous skill invocation, explaining that the model may invoke this skill without explicit user requests and providing guidance on disabling this behavior. - Updated metadata to explicitly declare included helper scripts under the "files" key. - No changes to API endpoints, usage instructions, or functionality.
v1.0.3
- Added a README.md file. - SKILL.md reorganized for clarity: endpoint descriptions, privacy, and security information made more concise. - API key instructions and security disclosures now more prominent. - Endpoint description tables simplified and duplicated sections removed. - No changes to endpoint parameters or APIs.
v1.0.2
- Added detailed Security & Privacy section explaining data flow, env var usage, and opt-in cookie forwarding. - Introduced "External Endpoints" table explicitly listing all Jina AI endpoints used and the data sent. - Clarified that no other external calls are made and that no local files are accessed or transmitted. - Updated metadata ("env" → "envs") and added a homepage link. - General improvements to documentation structure and transparency regarding privacy and behavior.
v1.0.0
- Initial release of the jina-ai skill for web page reading, search, and deep multi-step research via Jina AI APIs. - Supports fetching clean markdown from URLs, web search with LLM-friendly results, and OpenAI-compatible DeepSearch chat completions. - Includes detailed documentation of request headers, query parameters, and usage examples for Reader and Search APIs. - Provides helper scripts (bash and Python) for quick integration. - Requires a JINA_API_KEY for full access and higher rate limits. - Added references to API docs and OpenAPI specifications for advanced users.
Metadata
Slug jina-ai
Version 1.0.6
License
All-time Installs 5
Active Installs 5
Total Versions 6
Frequently Asked Questions

What is Jina AI - Web Reader, Search and Deep Search?

Web reading and searching via Jina AI APIs. Fetch clean markdown from URLs (r.jina.ai), web search (s.jina.ai), or deep multi-step research (DeepSearch). It is an AI Agent Skill for Claude Code / OpenClaw, with 1842 downloads so far.

How do I install Jina AI - Web Reader, Search and Deep Search?

Run "/install jina-ai" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Jina AI - Web Reader, Search and Deep Search free?

Yes, Jina AI - Web Reader, Search and Deep Search is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Jina AI - Web Reader, Search and Deep Search support?

Jina AI - Web Reader, Search and Deep Search is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Jina AI - Web Reader, Search and Deep Search?

It is built and maintained by Adhish Thite (@adhishthite); the current version is v1.0.6.

💬 Comments