Search

PythonReactSEOPDF
OpenClaw

ddg-search

DuckDuckGo HTML search scraper CLI with JSON, CSV, OpenSearch, markdown, and compact outputs.

camohiddendj0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install camohiddendj/ddg-search-cli

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

ddg-search

Search DuckDuckGo from the command line. Results go to stdout; progress goes to stderr.

Quick reference

ddg-search "query"                          # default: JSON, 5 pages
ddg-search -f compact "query"               # minimal-token output (best for LLM context)
ddg-search -f jsonl "query"                 # one JSON object per line
ddg-search -n 10 "query"                    # stop after 10 results
ddg-search -p 2 -f json "query"             # 2 pages, JSON
ddg-search -r us-en -t w "recent topic"     # US-English, past week
ddg-search -p 0 "query"                     # unlimited pages (scrape all)

Options

Flag Long Description Default
-f --format Output format: json, jsonl, csv, opensearch, markdown, compact json
-p --pages Max pages to scrape (0 = unlimited) 5
-n --max-results Stop after this many results all
-r --region Region code (e.g. us-en, uk-en) all regions
-t --time Time filter: d (day), w (week), m (month), y (year) none

Choosing a format

  • compact: Use for feeding results into an LLM. Minimal tokens, no JSON overhead.
  • jsonl: Use when piping to line-oriented tools or streaming processors.
  • json: Use when you need structured data with OpenSearch metadata, zero-click answers, and spelling corrections. Pipe through jq for field extraction (e.g. | jq '.items[].link').
  • csv: Use for spreadsheets or tabular analysis.
  • markdown: Use for human-readable output or embedding in documents.
  • opensearch: Use when producing Atom XML feeds.

Extracting URLs from JSON output

ddg-search "query" | jq -r '.items[].link'

Notes

  • DuckDuckGo may trigger bot detection. The tool stops early and returns whatever results were collected.
  • Random delays (800–2900 ms) are inserted between page fetches automatically.
  • Progress messag...

Source information

Source
github
Repository
openclaw/skills
Path
skills/camohiddendj/ddg-search-cli
Version
—
Commit
38887cbf8798eba8440340424736ad0a3801ecf9
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# ddg-search

Search DuckDuckGo from the command line. Results go to stdout; progress goes to stderr.

## Quick reference

```bash
ddg-search "query"                          # default: JSON, 5 pages
ddg-search -f compact "query"               # minimal-token output (best for LLM context)
ddg-search -f jsonl "query"                 # one JSON object per line
ddg-search -n 10 "query"                    # stop after 10 results
ddg-search -p 2 -f json "query"             # 2 pages, JSON
ddg-search -r us-en -t w "recent topic"     # US-English, past week
ddg-search -p 0 "query"                     # unlimited pages (scrape all)
```

## Options

| Flag | Long | Description | Default |
|------|------|-------------|---------|
| `-f` | `--format` | Output format: `json`, `jsonl`, `csv`, `opensearch`, `markdown`, `compact` | `json` |
| `-p` | `--pages` | Max pages to scrape (0 = unlimited) | `5` |
| `-n` | `--max-results` | Stop after this many results | all |
| `-r` | `--region` | Region code (e.g. `us-en`, `uk-en`) | all regions |
| `-t` | `--time` | Time filter: `d` (day), `w` (week), `m` (month), `y` (year) | none |

## Choosing a format

- **`compact`**: Use for feeding results into an LLM. Minimal tokens, no JSON overhead.
- **`jsonl`**: Use when piping to line-oriented tools or streaming processors.
- **`json`**: Use when you need structured data with OpenSearch metadata, zero-click answers, and spelling corrections. Pipe through `jq` for field extraction (e.g. `| jq '.items[].link'`).
- **`csv`**: Use for spreadsheets or tabular analysis.
- **`markdown`**: Use for human-readable output or embedding in documents.
- **`opensearch`**: Use when producing Atom XML feeds.

## Extracting URLs from JSON output

```bash
ddg-search "query" | jq -r '.items[].link'
```

## Notes

- DuckDuckGo may trigger bot detection. The tool stops early and returns whatever results were collected.
- Random delays (800–2900 ms) are inserted between page fetches automatically.
- Progress messag...

Related skills

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

139mail

chang-tong

139邮箱邮件收发 Skill - 支持 IMAP/SMTP 协议,兼容139/QQ/163/Gmail等主流邮箱 功能: 1. 发送邮件(SMTP) 2. 接收邮件(IMAP) 3. 查看收件箱列表 4. 查看未读邮件 当用户提到 "发邮件"、"收邮件"、"查看邮件"、"邮箱"...