Skip to main content
OpenClaw supports DuckDuckGo as a key-free web_search provider. No API key or account is required.
DuckDuckGo is an experimental, unofficial integration that scrapes DuckDuckGo’s non-JavaScript HTML search pages — not an official API. Expect occasional breakage from bot-challenge pages or HTML changes.

Setup

DuckDuckGo is never auto-selected, since auto-detection only considers providers with usable credentials. Set it explicitly:
1

Configure

openclaw configure --section web
# Select "duckduckgo" as the provider

Config

Set the provider directly in config:
{
  tools: {
    web: {
      search: {
        provider: "duckduckgo",
      },
    },
  },
}
Optional plugin-level settings for region and SafeSearch:
{
  plugins: {
    entries: {
      duckduckgo: {
        config: {
          webSearch: {
            region: "us-en", // DuckDuckGo region code
            safeSearch: "moderate", // "strict", "moderate", or "off"
          },
        },
      },
    },
  },
}

Tool parameters

query
string
required
Search query.
count
number
default:"5"
Results to return (1-10).
region
string
DuckDuckGo region code (e.g. us-en, uk-en, de-de).
SafeSearch level.
region and safeSearch tool parameters override the plugin config values above on a per-query basis.

Notes

  • No API key — works once DuckDuckGo is selected as the web_search provider.
  • Experimental — scrapes DuckDuckGo’s non-JavaScript HTML search pages, not an official API or SDK. Results depend on page structure, which can change without notice.
  • Bot-challenge risk — DuckDuckGo may serve CAPTCHAs or block requests under heavy or automated use.
  • Explicit selection only — OpenClaw’s auto-detect only considers providers with usable credentials, so a key-free provider like DuckDuckGo is never chosen automatically; you must set provider: "duckduckgo".
  • SafeSearch defaults to moderate when not configured.
For production use, consider Brave Search (free tier available) or another API-backed provider.