Search the web using DuckDuckGo's API to find information across web pages, news articles, images, and videos. Returns results in multiple formats (text, markdown, JSON) with filtering options for time range, region, and safe search.
Use this skill when users request:
OpenSquilla declares the required duckduckgo-search Python package as a runtime dependency.
For source checkouts, run the normal project dependency sync before invoking this bundled skill.
The library provides a simple Python interface to DuckDuckGo's search API without requiring API keys or authentication.
Search for web pages and information:
python {baseDir}/scripts/search.py "<query>"
Example:
python {baseDir}/scripts/search.py "python asyncio tutorial"
Returns the top 10 web results with titles, URLs, and descriptions in a clean text format.
Control the number of results returned:
python {baseDir}/scripts/search.py "<query>" --max-results <N>
Example:
python {baseDir}/scripts/search.py "machine learning frameworks" --max-results 20
Useful for:
Filter results by recency:
python {baseDir}/scripts/search.py "<query>" --time-range <d|w|m|y>
Time range options:
d - Past dayw - Past weekm - Past monthy - Past yearExample:
python {baseDir}/scripts/search.py "artificial intelligence news" --time-range w
Great for:
Search specifically for news articles:
python {baseDir}/scripts/search.py "<query>" --type news
Example:
python {baseDir}/scripts/search.py "climate change" --type news --time-range w --max-results 15
News results include:
Search for images:
python {baseDir}/scripts/search.py "<query>" --type images
Example:
python {baseDir}/scripts/search.py "sunset over mountains" --type images --max-results 20
Image filtering options:
Size filters:
python {baseDir}/scripts/search.py "landscape photos" --type images --image-size Large
Options: Small, Medium, Large, Wallpaper
Color filters:
python {baseDir}/scripts/search.py "abstract art" --type images --image-color Blue
Options: color, Monochrome, Red, Orange, Yellow, Green, Blue, Purple, Pink, Brown, Black, Gray, Teal, White
Type filters:
python {baseDir}/scripts/search.py "icons" --type images --image-type transparent
Options: photo, clipart, gif, transparent, line
Layout filters:
python {baseDir}/scripts/search.py "wallpapers" --type images --image-layout Wide
Options: Square, Tall, Wide
Image results include:
Search for videos:
python {baseDir}/scripts/search.py "<query>" --type videos
Example:
python {baseDir}/scripts/search.py "python tutorial" --type videos --max-results 15
Video filtering options:
Duration filters:
python {baseDir}/scripts/search.py "cooking recipes" --type videos --video-duration short
Options: short, medium, long
Resolution filters:
python {baseDir}/scripts/search.py "documentary" --type videos --video-resolution high
Options: high, standard
Video results include:
Search with region-specific results:
python {baseDir}/scripts/search.py "<query>" --region <region-code>
Common region codes:
us-en - United States (English)uk-en - United Kingdom (English)ca-en - Canada (English)au-en - Australia (English)de-de - Germany (German)fr-fr - France (French)wt-wt - Worldwide (default)Example:
python {baseDir}/scripts/search.py "local news" --region us-en --type news
Control safe search filtering:
python {baseDir}/scripts/search.py "<query>" --safe-search <on|moderate|off>
Options:
on - Strict filteringmoderate - Balanced filtering (default)off - No filteringExample:
python {baseDir}/scripts/search.py "medical information" --safe-search on
Choose how results are formatted:
Text format (default):
python {baseDir}/scripts/search.py "quantum computing"
Clean, readable plain text with numbered results.
Markdown format:
python {baseDir}/scripts/search.py "quantum computing" --format markdown
Formatted markdown with headers, bold text, and links.
JSON format:
python {baseDir}/scripts/search.py "quantum computing" --format json
Structured JSON data for programmatic processing.
Save search results to a file:
python {baseDir}/scripts/search.py "<query>" --output <file-path>
Example:
python {baseDir}/scripts/search.py "artificial intelligence" --output ai_results.txt
python {baseDir}/scripts/search.py "AI news" --type news --format markdown --output ai_news.md
python {baseDir}/scripts/search.py "AI research" --format json --output ai_data.json
The file format is determined by the --format flag, not the file extension.
1. Page Title Here
URL: https://example.com/page
Brief description of the page content...
2. Another Result
URL: https://example.com/another
Another description...
## 1. Page Title Here
**URL:** https://example.com/page
Brief description of the page content...
## 2. Another Result
**URL:** https://example.com/another
Another description...
[
{
"title": "Page Title Here",
"href": "https://example.com/page",
"body": "Brief description of the page content..."
},
{
"title": "Another Result",
"href": "https://example.com/another",
"body": "Another description..."
}
]
Gather comprehensive information about a subject:
# Get overview from web
python {baseDir}/scripts/search.py "machine learning basics" --max-results 15 --output ml_web.txt
# Get recent news
python {baseDir}/scripts/search.py "machine learning" --type news --time-range m --output ml_news.txt
# Find tutorial videos
python {baseDir}/scripts/search.py "machine learning tutorial" --type videos --max-results 10 --output ml_videos.txt
Track news on specific topics:
python {baseDir}/scripts/search.py "climate summit" --type news --time-range d --format markdown --output daily_climate_news.md
Search for images with specific criteria:
python {baseDir}/scripts/search.py "data visualization examples" --type images --image-type photo --image-size Large --max-results 25 --output viz_images.txt
Verify information with recent sources:
python {baseDir}/scripts/search.py "specific claim to verify" --time-range w --max-results 20
Find resources on scholarly topics:
python {baseDir}/scripts/search.py "quantum entanglement research" --time-range y --max-results 30 --output quantum_research.txt
Gather information about products or companies:
python {baseDir}/scripts/search.py "electric vehicle market 2025" --max-results 20 --format markdown --output ev_market.md
python {baseDir}/scripts/search.py "EV news" --type news --time-range m --output ev_news.txt
When users request web searches:
Identify search intent:
Configure search parameters:
--type)--time-range)--max-results)Select output format:
Execute search:
Process results:
Command structure:
python {baseDir}/scripts/search.py "<query>" [options]
Essential options:
-t, --type - Search type (web, news, images, videos)-n, --max-results - Maximum results (default: 10)--time-range - Time filter (d, w, m, y)-r, --region - Region code (e.g., us-en, uk-en)--safe-search - Safe search level (on, moderate, off)-f, --format - Output format (text, markdown, json)-o, --output - Save to fileImage-specific options:
--image-size - Size filter (Small, Medium, Large, Wallpaper)--image-color - Color filter--image-type - Type filter (photo, clipart, gif, transparent, line)--image-layout - Layout filter (Square, Tall, Wide)Video-specific options:
--video-duration - Duration filter (short, medium, long)--video-resolution - Resolution filter (high, standard)Get full help:
python {baseDir}/scripts/search.py --help
--time-range for current information--output to preserve resultsCommon issues:
Limitations:
Gather comprehensive information by combining search types:
# Web overview
python {baseDir}/scripts/search.py "topic" --max-results 15 --output topic_web.txt
# Recent news
python {baseDir}/scripts/search.py "topic" --type news --time-range w --output topic_news.txt
# Images
python {baseDir}/scripts/search.py "topic" --type images --max-results 20 --output topic_images.txt
Use JSON output for automated processing:
python {baseDir}/scripts/search.py "research topic" --format json --output results.json
# Then process with another script
python analyze_results.py results.json
Create searchable documentation from web results:
# Search multiple related topics
python {baseDir}/scripts/search.py "topic1" --format markdown --output kb/topic1.md
python {baseDir}/scripts/search.py "topic2" --format markdown --output kb/topic2.md
python {baseDir}/scripts/search.py "topic3" --format markdown --output kb/topic3.md
The main search tool implementing DuckDuckGo search functionality. Key features:
The script can be executed directly and includes comprehensive command-line help via --help.