Apus 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:

Install the plugin

```bash
apus plugins install @openclaw/duckduckgo-plugin
```

Installation applies to a running Gateway automatically; otherwise it takes effect
on the next startup. See [Apply changes and inspect](/plugins/manage-plugins#apply-changes-and-inspect).

Configure

```bash
apus 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

Search query.

count number

Results to return (1-10).

region string

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

safeSearch 'strict' | 'moderate' | 'off'

SafeSearch level.

region and safeSearch tool parameters override the plugin config values above on a per-query basis.

Notes

For production use, consider Brave Search (free tier available) or another API-backed provider.

Related