Skip to content
Back to skills

Ddgs Search

ASecurity

Free multi-engine web search via ddgs CLI (DuckDuckGo, Google, Bing, Brave, Yandex, Yahoo, Wikipedia) + arXiv API search. No API keys required. Use when user needs web search, research paper discovery, or when other skills need a search backend. Drop-in replacement for web-search-plus.

  • 523 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added May 26, 2026
ai-agentspythongobashapibackend

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 6 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add InternLM/WildClawBench --skill ddgs-search --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ddgs Search?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ddgs Search
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/internlm-ddgs-search/badge)](https://www.skillsdirectory.com/skills/internlm-ddgs-search)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ddgs-search
description: Free multi-engine web search via ddgs CLI (DuckDuckGo, Google, Bing, Brave, Yandex, Yahoo, Wikipedia) + arXiv API search. No API keys required. Use when user needs web search, research paper discovery, or when other skills need a search backend. Drop-in replacement for web-search-plus.
metadata: {"openclaw":{"requires":{"bins":["python3"]}}}
---

# 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"
```

Files in this skill

  • README.md1.7 KB
  • SKILL.md3.1 KB
  • _meta.json130 B
  • scripts/arxiv_search.py3.2 KB
  • scripts/install.py5.2 KB
  • scripts/search.py2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.