# DuckAssistBot

DuckDuckGo says DuckAssistBot crawls pages in real time for AI-assisted answers that cite their sources, and that this data is not used to train AI models. A publisher opts out by disallowing the DuckAssistBot user agent. DuckDuckGo says that change takes effect after 72 hours and does not change organic search rankings or whether the site appears in search results. The page lists crawling@duckduckgo.com for opt-out problems. DuckDuckBot is a different token.

- Operator: DuckDuckGo
- Kind: search
- robots.txt: disallow_is_opt_out. The vendor says disallowing this token opts that use out.
- HTTP user-agent: DuckAssistBot/1.2; (+http://duckduckgo.com/duckassistbot.html) DuckDuckGo says the crawler's user agent will appear as this string, including the semicolon.
- IP list: https://duckduckgo.com/duckassistbot.json
- Source: https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot (retrieved 2026-10-18)

## JSON

`curl -s https://whosthatbot.com/v1/crawlers/duckassistbot`

## Check this token

tools/call with name check_robots is the same check at https://whosthatbot.com/mcp. Send `Content-Type: application/json` and `Accept: application/json, text/event-stream`. The pasted file disallows DuckAssistBot on `/docs` and allows `*`. The call does not fetch a host.

```
curl -s https://whosthatbot.com/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_robots","arguments":{"robots_txt":"User-agent: DuckAssistBot\nDisallow: /\n\nUser-agent: *\nAllow: /\n","path":"/docs","ids":["duckassistbot"]}}}'
```

That call returns fetched_target false. This row is disallow via group DuckAssistBot, rule Disallow: /.

Each card paraphrases the linked vendor page and was checked on source.retrieved. This is not legal advice. robots.txt is a request from the site owner. Botcard does not fetch third-party sites and does not suggest ways around a disallow rule.
