duckduckgo-search

Search the web via DuckDuckGo for text, news, images, and videos without an API key.

Updated May 3, 2026
One-click install
npx skills add https://github.com/80portisfound/vibe-learning --skill duckduckgo-search-80portisfound
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: duckduckgo-search
Source: https://github.com/80portisfound/vibe-learning/tree/main/packages/hermes/optional-skills/research/duckduckgo-search
Command: npx skills add https://github.com/80portisfound/vibe-learning --skill duckduckgo-search-80portisfound

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires ddgs, and includes scripts (resource) components.

What problem does it solve? When built-in web search tools are unavailable or no search API key is configured, you still need a way to run web searches. This Skill provides free DuckDuckGo search across text, news, images, and videos with no API key required. ## Core Features & Use Cases - CLI-First Search: Runs the ddgs command-line tool for text, news, image, and video queries with region, time, and safe-search filters. - Python API Fallback: Uses the DDGS class from the ddgs package only after verifying the package is importable in the current Python runtime. - Runtime Detection Flow: Checks whether the ddgs CLI exists before choosing an approach, avoiding failed imports in separate execute_code sandboxes. - Use Case: You need recent articles about a new framework but have no Firecrawl or search API key. Run ddgs news -q "framework release" -m 5 to get dated headlines, then extract the best URL with a content-retrieval tool. ## Quick Start Search DuckDuckGo for the five most recent news articles about AI regulation and show their titles, dates, and URLs.

Frequently Asked Questions about duckduckgo-search

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search the web without an API key?▼

Use the ddgs CLI or Python library, which queries DuckDuckGo for free with no API key. Install it with pip install ddgs, then run commands like ddgs text -q "your query" -m 5 for text results.

How to use the ddgs command line tool for search?▼

Run ddgs followed by a search type: text, news, images, or videos. Pass the query with -q, max results with -m, and optionally region with -r, time limit with -t, or JSON output with -o json.

Why does ddgs.text() raise an error with a positional argument?▼

The max_results parameter is keyword-only in the ddgs library, so ddgs.text("query", 5) fails. Always pass it as ddgs.text("query", max_results=5) to avoid the error.

Why does importing ddgs fail in execute_code after pip install?▼

Terminal and execute_code are separate runtimes, so installing ddgs in the shell does not make it importable in execute_code. Verify the import in that specific runtime or keep using the CLI instead.

Can DuckDuckGo search return full page content?▼

No, ddgs returns only titles, URLs, and snippets, not full page content. Search first to find relevant URLs, then extract the best one with web_extract, browser tools, or curl.

What are the limitations of DuckDuckGo search?▼

DuckDuckGo may rate-limit rapid requests, block some cloud IPs, and return variable fields between results. Add short delays between searches, use .get() for optional fields, and retry with adjusted queries if results come back empty.