home / skills / openclaw / skills / ddg-web-search

ddg-web-search skill

/skills/jakelin/ddg-web-search

This skill helps you search the web using DuckDuckGo Lite when no API key is available, returning titles, URLs, and snippets.

npx playbooks add skill openclaw/skills --skill ddg-web-search

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.0 KB
---
name: ddg-search
description: Web search without an API key using DuckDuckGo Lite via web_fetch. Use as a fallback when web_search fails with missing_brave_api_key error, or whenever you need to search the web and no search API is configured. Provides titles, URLs, and snippets for research queries. Zero dependencies — works with just the built-in web_fetch tool.
---

# DuckDuckGo 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 `maxChars` for more results

## Region Filtering

Append `&kl=REGION` for regional results:

- `au-en` — Australia
- `us-en` — United States
- `uk-en` — United Kingdom
- `de-de` — Germany
- `fr-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

1. **Search** — query DDG Lite for a list of results
2. **Pick** — identify the most relevant URLs
3. **Fetch** — use `web_fetch` on 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

This skill performs web search without an API key by querying DuckDuckGo Lite through the built-in web_fetch tool. It returns lists of titles, URLs, and short snippets, making it a lightweight fallback when a formal search API is unavailable. Zero dependencies mean it works anywhere web_fetch is supported.

How this skill works

The skill constructs a DuckDuckGo Lite URL with an encoded query and calls web_fetch using extractMode="text" to receive clean, text-only search results. It parses numbered entries into title, snippet, and URL, skipping entries labeled "Sponsored link". For deeper research it supports a search-then-fetch pattern: search to discover candidate pages, then fetch selected URLs for full content.

When to use it

  • No search API key is configured or web_search returns missing_brave_api_key.
  • Quick research where titles, snippets, and links are sufficient.
  • Automated pipelines that must avoid external SDKs or packages.
  • Region-specific searches by adding DuckDuckGo region parameters.
  • Lightweight tools or environments with strict dependency rules.

Best practices

  • URL-encode queries and use + for spaces (e.g., best+coffee+melbourne).
  • Use extractMode="text" and increase maxChars to capture more results.
  • Skip the first 1–2 entries; they may be sponsored links (ads).
  • Wrap exact phrases in quotes (q=%22exact+phrase%22) for precise matches.
  • Follow the search-then-fetch pattern to retrieve full page content selectively.

Example use cases

  • Fallback search when web_search fails due to missing API keys.
  • Scraping a list of articles for topic discovery and link collection.
  • Regional queries by appending &kl=REGION (e.g., au-en, us-en, uk-en).
  • Research workflows that first collect snippets and then fetch top pages.
  • Lightweight bots or scripts running where installing search SDKs is not allowed.

FAQ

Do I need an API key?

No. DuckDuckGo Lite via web_fetch requires no API key or additional packages.

Can I filter results by date?

No. DuckDuckGo Lite doesn't support reliable time/date filtering via web_fetch.