✓ Verified 💻 Development ✓ Enhanced Data

Ddgs Search

Free multi-engine web search via ddgs CLI (DuckDuckGo, Google, Bing, Brave, Yandex, Yahoo, Wikipedia

Rating
4.7 (422 reviews)
Downloads
558 downloads
Version
1.0.0

Overview

Free multi-engine web search via ddgs CLI (DuckDuckGo, Google, Bing, Brave, Yandex, Yahoo, Wikipedia) + arXiv API.

Complete Documentation

View Source →

ddgs-search

Why This Skill?

🆓 Completely free — no API keys, no subscriptions, no rate limits, no billing surprises.

🔍 8 search engines in one — Google, Bing, DuckDuckGo, Brave, Yandex, Yahoo, Wikipedia, and Mojeek. Switch engines with a single flag. Most search skills only support one.

🎓 Built-in arXiv research search — search academic papers directly via arXiv's free API. Returns authors, categories, abstracts, and publication dates. Perfect for researchers, students, and AI/ML practitioners.

🔌 Drop-in replacement — outputs web-search-plus compatible JSON, so it works with any skill or tool that expects that format. Zero config migration.

Lightweight — single pip package, no browser automation, no headless Chrome. Searches complete in 1-3 seconds.

Install

bash
python3 scripts/install.py

Works on macOS, Linux, and Windows. Installs the ddgs package, verifies CLI access, and runs a quick search test.

Manual install

bash
pip install ddgs

Web Search

CLI wrapper (recommended)

The ddgs-search wrapper outputs clean JSON to stdout with no interactive prompts or abort issues:

bash
# Google (default)
ddgs-search "your query" 5 google

# Other engines
ddgs-search "your query" 3 duckduckgo
ddgs-search "your query" 5 brave
ddgs-search "your query" 10 yandex

Python script (web-search-plus compatible JSON)

bash
# Google (default)
python3 scripts/search.py -q "your query" -m 5

# Other engines
python3 scripts/search.py -q "your query" -b duckduckgo
python3 scripts/search.py -q "your query" -b brave
python3 scripts/search.py -q "your query" -b yandex
python3 scripts/search.py -q "your query" -b yahoo
python3 scripts/search.py -q "your query" -b wikipedia

Output (web-search-plus compatible JSON):

json
{
  "provider": "ddgs",
  "results": [
    {"title": "...", "url": "...", "snippet": "...", "published_date": "..."}
  ]
}

arXiv Search

bash
# Search by topic
python3 scripts/arxiv_search.py -q "3D gaussian splatting" -m 10

# Field-specific search (title, abstract, category)
python3 scripts/arxiv_search.py -q "ti:transformer AND cat:cs.CV" -m 5

# Sort by relevance instead of date
python3 scripts/arxiv_search.py -q "reinforcement learning" --sort-by relevance

Returns authors, categories, abstracts — same JSON format.

Direct CLI

⚠️ The raw ddgs text CLI has a pagination bug (input() call → Aborted! + exit code 1 in non-TTY contexts). Use ddgs-search wrapper or -o file.json instead.

bash
ddgs text -q "query" -m 5 -b google -o /tmp/results.json

Integration

Set WEB_SEARCH_PLUS_PATH to use as a search backend for other skills:

bash
export WEB_SEARCH_PLUS_PATH="path/to/ddgs-search/scripts/search.py"

Installation

Terminal bash

openclaw install ddgs-search
    
Copied!

💻Code Examples

python3 scripts/install.py

python3-scriptsinstallpy.txt
Works on **macOS, Linux, and Windows**. Installs the `ddgs` package, verifies CLI access, and runs a quick search test.

### Manual install

pip install ddgs

pip-install-ddgs.txt
## Web Search

### CLI wrapper (recommended)

The `ddgs-search` wrapper outputs clean JSON to stdout with no interactive prompts or abort issues:

python3 scripts/arxiv_search.py -q "reinforcement learning" --sort-by relevance

python3-scriptsarxivsearchpy--q-reinforcement-learning---sort-by-relevance.txt
Returns authors, categories, abstracts — same JSON format.

## Direct CLI

> ⚠️ The raw `ddgs text` CLI has a pagination bug (`input()` call → `Aborted!` + exit code 1 in non-TTY contexts). Use `ddgs-search` wrapper or `-o file.json` instead.

ddgs text -q "query" -m 5 -b google -o /tmp/results.json

ddgs-text--q-query--m-5--b-google--o-tmpresultsjson.txt
## Integration

Set `WEB_SEARCH_PLUS_PATH` to use as a search backend for other skills:
example.sh
# Google (default)
ddgs-search "your query" 5 google

# Other engines
ddgs-search "your query" 3 duckduckgo
ddgs-search "your query" 5 brave
ddgs-search "your query" 10 yandex
example.sh
# Google (default)
python3 scripts/search.py -q "your query" -m 5

# Other engines
python3 scripts/search.py -q "your query" -b duckduckgo
python3 scripts/search.py -q "your query" -b brave
python3 scripts/search.py -q "your query" -b yandex
python3 scripts/search.py -q "your query" -b yahoo
python3 scripts/search.py -q "your query" -b wikipedia
example.json
{
  "provider": "ddgs",
  "results": [
    {"title": "...", "url": "...", "snippet": "...", "published_date": "..."}
  ]
}
example.sh
# Search by topic
python3 scripts/arxiv_search.py -q "3D gaussian splatting" -m 10

# Field-specific search (title, abstract, category)
python3 scripts/arxiv_search.py -q "ti:transformer AND cat:cs.CV" -m 5

# Sort by relevance instead of date
python3 scripts/arxiv_search.py -q "reinforcement learning" --sort-by relevance

Tags

#web_and-frontend-development #api #cli #web

Quick Info

Category Development
Model Gemini 2.0
Complexity One-Click
Author camopel
Last Updated 3/10/2026
🚀
Optimized for
Gemini 2.0
💎

Ready to Install?

Get started with this skill in seconds

openclaw install ddgs-search