skills/research/duckduckgo-search/SKILL.md
Free web search via DuckDuckGo when Firecrawl is unavailable. No API key needed. Use ddgs CLI or Python library to find URLs, then web_extract for content.
npx skillsauth add aum08desai/hermes-research-agent duckduckgo-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Free web search using DuckDuckGo. No API key required.
Use this skill ONLY when the web_search tool is not available (i.e., FIRECRAWL_API_KEY is not set). If web_search works, prefer it — it returns richer results with built-in content extraction.
Signs you need this fallback:
web_search tool is not listed in your available toolsweb_search returns an error about missing FIRECRAWL_API_KEY# Install the ddgs package (one-time)
pip install ddgs
# Basic search — returns titles, URLs, and snippets
ddgs text -k "python async programming" -m 5
# With region filter
ddgs text -k "best restaurants" -m 5 -r us-en
# Recent results only (d=day, w=week, m=month, y=year)
ddgs text -k "latest AI news" -m 5 -t w
# JSON output for parsing
ddgs text -k "fastapi tutorial" -m 5 -o json
from hermes_tools import terminal
# Search and get results
result = terminal("ddgs text -k 'python web framework comparison' -m 5")
print(result["output"])
| Flag | Description | Example |
|------|-------------|---------|
| -k | Keywords (query) — required | -k "search terms" |
| -m | Max results | -m 5 |
| -r | Region | -r us-en |
| -t | Time limit | -t w (week) |
| -s | Safe search | -s off |
| -o | Output format | -o json |
# Image search
ddgs images -k "landscape photography" -m 10
# News search
ddgs news -k "artificial intelligence" -m 5
# Video search
ddgs videos -k "python tutorial" -m 5
DuckDuckGo finds URLs. To get full page content, follow up with web_extract:
web_extract tool (if available) or curl# Step 1: Find URLs
ddgs text -k "fastapi tutorial" -m 3
# Step 2: Extract full content from a result URL
# (use web_extract tool if available, otherwise curl)
curl -s "https://example.com/article" | head -200
sleep 1 between searches if needed.web_extract or curl for that.-k and -m: -k is for keywords (the query), -m is for max results count.ddgs (was previously duckduckgo-search). Install with pip install ddgs.development
Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.
development
Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.
development
Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.
development
Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).