DuckDuckGo Web Search
Verified@JakeLin
npx machina-cli add skill @JakeLin/ddg-web-search --openclawDuckDuckGo Search via web_fetch
Search the web using DuckDuckGo Lite's HTML interface, parsed via web_fetch. No API key or package install required.
How to Search
web_fetch(url="https://lite.duckduckgo.com/lite/?q=QUERY", extractMode="text", maxChars=8000)
- URL-encode the query — use
+for spaces - Use
extractMode="text"(not markdown) for clean results - Increase
maxCharsfor more results
Region Filtering
Append &kl=REGION for regional results:
au-en— Australiaus-en— United Statesuk-en— United Kingdomde-de— Germanyfr-fr— France
Full list: https://duckduckgo.com/params
Example — Australian search
web_fetch(url="https://lite.duckduckgo.com/lite/?q=best+coffee+melbourne&kl=au-en", extractMode="text", maxChars=8000)
Reading Results
Results appear as numbered items with title, snippet, and URL. Skip entries marked "Sponsored link" (ads) — organic results follow.
Search-then-Fetch Pattern
- Search — query DDG Lite for a list of results
- Pick — identify the most relevant URLs
- Fetch — use
web_fetchon those URLs to read full content
Tips
- First 1-2 results may be ads — skip to organic results
- For exact phrases, wrap in quotes:
q=%22exact+phrase%22 - Add specific terms to narrow results (site name, year, location)
Limitations
- No time/date filtering (DDG Lite doesn't support
&df=reliably via fetch) - Text results only — no images or videos
- Results sourced from Bing (may differ from Google)
- Google search does NOT work via web_fetch (captcha blocked)
Overview
Performs web searches using DuckDuckGo Lite's HTML interface through the built-in web_fetch tool. It serves as a no-api-key fallback when web_search isn't configured or API access is unavailable, returning a structured mix of titles, URLs, and snippets for research.
How This Skill Works
Queries are sent to https://lite.duckduckgo.com/lite/?q=QUERY with URL-encoding and extractMode='text'. The web_fetch results are parsed as numbered entries showing title, snippet, and URL; you can filter regional results with &kl=REGION and skip Sponsored links to focus on organic results. This workflow follows a search-then-fetch pattern: search for results, pick the best URLs, then fetch the full pages.
When to Use It
- When you need web results without an API key or configured search API
- As a fallback if web_search reports missing_brave_api_key
- To perform region-specific research using DuckDuckGo Lite's kl parameter
- When you require text-only results with quick titles, snippets, and URLs
- To avoid extra dependencies—use web_fetch instead of a dedicated search API
Quick Start
- Step 1: Call web_fetch with url="https://lite.duckduckgo.com/lite/?q=QUERY", extractMode="text", maxChars=8000
- Step 2: Read the numbered results and identify the most relevant URLs while skipping 'Sponsored link' entries
- Step 3: Use web_fetch on selected URLs to read full page content
Best Practices
- URL-encode queries using + for spaces (e.g., best+coffee+melbourne)
- Use extractMode='text' for clean, copy-friendly results
- Increase maxChars to pull more results when needed
- Skip entries labeled 'Sponsored link' to focus on organic results
- Combine with specific terms or site filters to narrow results (e.g., site:example.com)
Example Use Cases
- Query: best+coffee+melbourne&kl=au-en — find top organic results for Melbourne coffee shops in Australia
- Query: latest+iPhone+release&kl=us-en — region-US results for the newest iPhone news
- Query: site:wikipedia.org+climate+change — fetch results limited to Wikipedia for quick summaries
- Query: "gaming laptop 2024" — exact phrase search to compare models
- Query: local+restaurant+open+now&kl=us-en — find open local restaurants in the United States