A Python-based metasearch library for agents to aggregate web results and extract content from URLs.
Install
mkdir -p .claude/skills/ddgs && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10103" && unzip -o skill.zip -d .claude/skills/ddgs && rm skill.zipInstalls to .claude/skills/ddgs
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when an agent needs to search the web, find images/news/videos/books, or extract content from a URL. Covers the ddgs Python library, CLI, and MCP server integration.Key capabilities
- →Search web text
- →Find images and videos
- →Retrieve news and books
- →Extract content from URLs
How it works
It aggregates results from multiple search engines via Python API, CLI, or MCP server.
Inputs & outputs
When to use ddgs
- →Search the web for current programming documentation
- →Extract clean text content from a documentation website
- →Gather images or news for a report
About this skill
ddgs — Web Search for Agents
Overview
ddgs (Dux Distributed Global Search) is a Python metasearch library that aggregates results from multiple search engines. Agents can use it via Python API, CLI, or MCP server.
Python API
from ddgs import DDGS
# Text search
results = DDGS().text("python async", max_results=5)
# Images, news, videos, books
images = DDGS().images("butterfly", max_results=5)
news = DDGS().news("ai regulation", timelimit="w")
videos = DDGS().videos("rust programming")
books = DDGS().books("machine learning")
# Extract content from a URL
page = DDGS().extract("https://example.com")
page["content"] # Markdown text (default)
page = DDGS().extract("https://example.com", fmt="text_plain")
page = DDGS().extract("https://example.com", fmt="content") # raw bytes
All search methods return list[dict[str, Any]]. Each dict has keys depending on category:
| Method | Keys |
|---|---|
text() | title, href, body |
images() | title, image, thumbnail, url, height, width, source |
videos() | title, content, description, duration, embed_url, images, publisher |
news() | date, title, body, url, image, source |
books() | title, author, publisher, info, url, thumbnail |
CLI
# Text search
ddgs text -q "python async" --max_results 5
# Other categories
ddgs images -q "cats" --color Blue
ddgs news -q "tech" --timelimit d
ddgs videos -q "cars" --duration medium
ddgs books -q "sea wolf"
# Extract content
ddgs extract -u https://example.com
ddgs extract -u https://example.com -f text_plain
# Save results
ddgs text -q "dogs" -o results.json
ddgs text -q "dogs" -o results.csv
# Version
ddgs version
CLI for Agents
Agents can also use ddgs as a CLI tool via subprocess. Auto-detects non-TTY — outputs plain text without colors or interactive pauses.
To discover available options:
ddgs --help
ddgs text --help
ddgs images --help
MCP Server
stdio (for local MCP clients like Cursor, Claude Desktop)
pip install ddgs[mcp]
ddgs mcp # stdio MCP server
ddgs mcp -pr socks5h://127.0.0.1:9150 # with proxy
Client configuration:
{
"mcpServers": {
"ddgs": {
"command": "ddgs",
"args": ["mcp"]
}
}
}
Available MCP Tools
| Tool | Description |
|---|---|
search_text | Web text search |
search_images | Image search |
search_news | News search |
search_videos | Video search |
search_books | Book search |
extract_content | Extract content from a URL |
Quick Reference
| Parameter | Values | Default |
|---|---|---|
region | us-en, uk-en, ru-ru, de-de, etc. | us-en |
safesearch | on, moderate, off | moderate |
timelimit | d (day), w (week), m (month), y (year) | None |
max_results | int | 10 |
page | int | 1 |
backend | auto, all, or engine name | auto |
Available backends by method:
| Method | Backends |
|---|---|
text() | bing, brave, duckduckgo, google, grokipedia, mojeek, yandex, yahoo, wikipedia |
images() | bing, duckduckgo |
videos() | duckduckgo |
news() | bing, duckduckgo, yahoo |
books() | annasarchive |
Tips
- Proxy (Python):
DDGS(proxy="socks5h://127.0.0.1:9150")or set envDDGS_PROXY - Proxy (MCP):
ddgs mcp -pr socks5h://127.0.0.1:9150orexport DDGS_PROXY=... - Proxy (API):
ddgs api -pr socks5h://127.0.0.1:9150orexport DDGS_PROXY=... - SSL verification:
DDGS(verify=False)orDDGS(verify="/path/to/cert.pem") - Timeout:
DDGS(timeout=10)(default: 5 seconds) - Errors: catches
DDGSException,RatelimitException,TimeoutException - Multiple backends:
backend="bing,google"(comma-separated)
When not to use it
- →Private data searching
Prerequisites
Limitations
- →Dependent on external search engine availability
How it compares
It provides a unified metasearch interface across multiple engines.
Compared to similar skills
ddgs side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| ddgs (this skill) | 0 | 3mo | Review | Beginner |
| exa-search | 9 | 8mo | Review | Beginner |
| deep-research | 0 | 4mo | No flags | Intermediate |
| exa-discovery | 0 | 4mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
exa-search
benjaminjackson
Search the web for content matching a query with AI-powered semantic search. Use for finding relevant web pages, research papers, news articles, code repositories, or any web content by meaning rather than just keywords.
deep-research
inuishan
Multi-source deep research using firecrawl and exa MCPs. Searches the web, synthesizes findings, and delivers cited reports with source attribution. Use when the user wants thorough research on any topic with evidence and citations.
exa-discovery
breverdbidder
Use when running semantic web discovery for Florida county data sources, auction intel, or GTM research. Triggers on: exa search, discovery harness, find county GIS, find auction data, semantic search, county data sources, exa-discovery, exa_client, discovery pipeline, zonewise discovery, auction di
literature-review
K-Dense-AI
Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.). This skill should be used when conducting systematic literature reviews, meta-analyses, research synthesis, or comprehensive literature searches across biomedical, scientific, and technical domains. Creates professionally formatted markdown documents and PDFs with verified citations in multiple citation styles (APA, Nature, Vancouver, etc.).
openalex-database
davila7
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly works. Use for literature searches, research output analysis, citation analysis, and academic database queries.
perplexity
davila7
Web search and research using Perplexity AI. Use when user says "search", "find", "look up", "ask", "research", or "what's the latest" for generic queries. NOT for library/framework docs (use Context7) or workspace questions.