Comprehensive web search and content extraction — free, no API keys required.
Just want to search? Use DuckDuckGo Lite:
text
web_fetch url="https://lite.duckduckgo.com/lite/?q=YOUR+QUERY"
Want full page content? Use Jina Reader:
text
web_fetch url="https://r.jina.ai/http://TARGET_URL"
Extract full page content using Jina's free reader API.
text
web_fetch url="https://r.jina.ai/http://example.com"
text
web_fetch url="https://r.jina.ai/http://duckduckgo.com/?q=YOUR+QUERY"
Examples:
TaskCommandGet Next.js docsweb_fetch url="https://r.jina.ai/http://nextjs.org"Get React docsweb_fetch url="https://r.jina.ai/http://react.dev"Get Python docsweb_fetch url="https://r.jina.ai/http://docs.python.org"
For advanced features, get a free API key from jina.ai/reader:
bash
export JINA_API_KEY="jina_..."
Then use the bundled script:
text
{baseDir}/scripts/reader.sh "https://example.com"
{baseDir}/scripts/reader.sh --mode search "AI news 2025"
{baseDir}/scripts/reader.sh --mode ground "OpenAI founded 2015"
Options: --mode, --selector, --remove, --format, --json
Search without any API key using DuckDuckGo Lite.
text
web_fetch url="https://lite.duckduckgo.com/lite/?q=YOUR+QUERY"
text
web_fetch url="https://lite.duckduckgo.com/lite/?q=QUERY&kl=us-en"
Regions: au-en, us-en, uk-en, de-de, fr-fr
+ for spaces: python+tutorial%22exact+phrase%22If web_fetch is blocked, use Python's ddgs package:
bash
pip install ddgs
python
from ddgs import DDGS
ddgs = DDGS()
results = ddgs.text("search query", max_results=5)
for r in results:
print(f"{r['title']}: {r['url']}")
Example:
text
# Step 1: Find info about Next.js auth
web_fetch url="https://lite.duckduckgo.com/lite/?q=nextjs+authentication+docs"
# Step 2: Fetch the official docs
web_fetch url="https://r.jina.ai/http://nextjs.org/docs/app/..."
NeedMethodCommandFind URLsDDG Lite?q=search+termsGet page contentJina Readerr.jina.ai/http://URLAdvanced extractionJina API--mode search --jsonPython fallbackddgsddgs.text()Browser (if available)Headlessbrowser action=navigate