---
source_url: "https://docs.openclaw.ai/tools/duckduckgo-search"
title: DuckDuckGo search - OpenClaw
mirrored_at: 2026-08-08T13:01:42.139Z
host: docs.openclaw.ai
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/docs.openclaw.ai/tools/duckduckgo-search"
---

> **Original source:** https://docs.openclaw.ai/tools/duckduckgo-search

Tools

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:

-   ### Install the plugin
    
    bash
    
    ```
    openclaw plugins install @openclaw/duckduckgo-pluginopenclaw gateway restart
    ```
    
-   ### 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

`query`stringrequired

Search query.

`count`numberdefault: 5

Results to return (1-10).

`region`string

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.

-   [Web Search overview](https://docs.openclaw.ai/tools/web) -- all providers and auto-detection
-   [Brave Search](https://docs.openclaw.ai/tools/brave-search) -- structured results with free tier
-   [Exa Search](https://docs.openclaw.ai/tools/exa-search) -- neural search with content extraction

Was this useful?

[Edit source](https://github.com/openclaw/openclaw/edit/main/docs/tools/duckduckgo-search.md)[Raise issue](https://github.com/openclaw/openclaw/issues/new?title=Issue%20on%20docs&body=Path%3A%20%2Ftools%2Fduckduckgo-search)

[PreviousBrave search](https://docs.openclaw.ai/tools/brave-search)[NextExa search](https://docs.openclaw.ai/tools/exa-search)

On this page

## On this page

[Setup](#setup)[Config](#config)[Tool parameters](#tool-parameters)[Notes](#notes)[Related](#related)