Tools

DuckDuckGo search

OpenClaw supports DuckDuckGo as a key-free web_search provider. No API key or account is required.

Setup

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

  • Configure

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

    Set the provider directly in config:

    json5
    {  tools: {    web: {      search: {        provider: "duckduckgo",      },    },  },}

    Optional plugin-level settings for region and SafeSearch:

    json5
    {  plugins: {    entries: {      duckduckgo: {        config: {          webSearch: {            region: "us-en", // DuckDuckGo region code            safeSearch: "moderate", // "strict", "moderate", or "off"          },        },      },    },  },}

    Tool parameters

    querystringrequired

    Search query.

    countnumberdefault: 5

    Results to return (1-10).

    regionstring

    DuckDuckGo region code (e.g. us-en, uk-en, de-de).

    safeSearch'strict' | 'moderate' | 'off'default: moderate

    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.
    Was this useful?
    On this page

    On this page