Safe Official docs AI & LLM Bots

DuckAssistBot

Operated by DuckDuckGo

Quick Facts

User-Agent:
DuckAssistBot
Category:
AI & LLM Bots
Operator:
DuckDuckGo
Safety:
Safe
Blocking Impact:
Low - No SEO ranking impact
SEO Impact Score:
2/10
Official docs:
help.duckduckgo.com

Confirmed by the operator

DuckDuckGo names DuckAssistBot on its own documentation page, linked above. The token, purpose and robots.txt behaviour on this profile come from that page, re-checked on October 19, 2026.

What is DuckAssistBot?

DuckAssistBot fetches pages to answer questions in DuckDuckGo's DuckAssist AI answers.

DuckDuckGo states content it fetches is not used to train AI models. It identifies itself with the token DuckAssistBot. DuckDuckGo documents it at help.duckduckgo.com.

What happens if you block DuckAssistBot?

Blocking it stops DuckAssist from citing your pages. No effect on DuckDuckGo's regular results (DuckDuckBot) or on Google.
Generally safe to allow; provides legitimate crawling value.

Want to see whether DuckAssistBot actually visits you? Read how do I monitor AI bot traffic to my website?

How to block DuckAssistBot with robots.txt

<code>User-agent: DuckAssistBot</code> - Matching is case-insensitive. Robots.txt is fetched from the root of each subdomain separately.

Block completely (robots.txt)
User-agent: DuckAssistBot Disallow: /
Allow all (robots.txt)
User-agent: DuckAssistBot Allow: /
Block private only (robots.txt)
User-agent: DuckAssistBot Disallow: /private/ Disallow: /api/ Disallow: /admin/ Allow: /
Nginx server block
# Nginx: Hard-block DuckAssistBot if ($http_user_agent ~* "DuckAssistBot") { return 403 "Bot blocked"; }
Apache .htaccess
# Apache: Hard-block DuckAssistBot SetEnvIfNoCase User-Agent "DuckAssistBot" bad_bot Order Allow,Deny Allow from all Deny from env=bad_bot
Meta robots tag
<meta name="robots" content="noindex, nofollow">
X-Robots-Tag header
X-Robots-Tag: noindex, nofollow

Is DuckAssistBot safe to allow?

Yes. DuckAssistBot is a documented bot: DuckDuckGo publishes a page that names it and explains what it does.
Verify by reverse-DNS lookup: legitimate DuckAssistBot requests resolve to duckduckgo's domain.

What does DuckAssistBot do?

From DuckDuckGo's own documentation.

  • DuckAssistBot fetches pages to answer questions in DuckDuckGo's DuckAssist AI answers.
  • Not used to train AI models, according to the operator
  • Blocking it stops DuckAssist from citing your pages. No effect on DuckDuckGo's regular results (DuckDuckBot) or on Google.

DuckAssistBot in context

DuckAssistBot is a retrieval crawler that feeds AI search answers operated by DuckDuckGo. In plain terms, it fetches a page when a person asks an assistant or app to open it. Our database files it under AI and LLM crawlers and ranks it Tier 2, important crawlers from established AI and search operators. 74 of the 104 AI and LLM crawlers in our database share this tier.

Its safety rating is safe and its blocking impact is low. So the decision about DuckAssistBot rests on what you want from DuckDuckGo, not on its behaviour. How we rate safety and impact.

How site owners treat DuckAssistBot

In our own study of robots.txt files across the Tranco top 10,000 sites (fetched October 20, 2026, 5,583 valid files), 304 files (5.4%) name DuckAssistBot in a User-agent line, and 461 (8.3%) block it from the homepage. 236 of those blocks come from a group written for this crawler by name, and 225 come from a broad User-agent: * rule that catches it by accident. Larger sites are stricter: 14.2% of the top 1,000 block it, against 8.5% of the middle band and 7.1% of the tail.

Does it follow robots.txt?

DuckAssistBot's operator says it follows robots.txt, so a correctly written DuckAssistBot group is enough to control it.

DuckDuckGo crawlers and close alternatives

DuckAssistBot is one of 2 DuckDuckGo crawlers in our database. A User-agent: DuckAssistBot group controls DuckAssistBot only; the other DuckDuckGo tokens below need their own lines.

  • DuckAssistBot: this crawler (Tier 2)
  • DuckDuckBot: DuckDuckGo Search, builds a search or answer index (Tier 3)

To give DuckAssistBot the same answer as its siblings, stack User-agent: DuckAssistBot with their lines above one set of rules; to treat DuckAssistBot differently, give it its own group.

Other AI and LLM crawlers that do the same job (fetches a page when a person asks an assistant or app to open it) include ChatGPT Agent from OpenAI, ChatGPT Operator from OpenAI, ChatGPT-User from OpenAI, ChatGPT-User/2.0 from OpenAI, Claude-SearchBot from Anthropic, Claude-User from Anthropic. Deciding about DuckAssistBot is usually a decision about the whole group, so check how your file treats these too.

We first recorded DuckAssistBot on March 17, 2026. DuckDuckGo documents it on help.duckduckgo.com, and we recheck that page before each release.

Which rule DuckAssistBot actually follows

DuckAssistBot reads exactly one group in robots.txt, the most specific one that names DuckAssistBot, and never combines rules across groups. This short file shows the trap:

User-agent: *
Disallow: /private/

User-agent: DuckAssistBot
Disallow: /drafts/
  1. Find the group. DuckAssistBot looks for a group naming DuckAssistBot. One exists, so it ignores User-agent: * completely.
  2. Apply only that group. It is refused /drafts/ and nothing else.
  3. The surprise. /private/ is open to DuckAssistBot, because that rule lives in the * group it no longer reads. To keep it out of both, repeat Disallow: /private/ inside its own group.
Test yourself: does a rule under User-agent: * apply to DuckAssistBot if the file also has a User-agent: DuckAssistBot group?

No. Once a group names it, DuckAssistBot reads only that group. Put every rule you want it to follow inside its own group.

Test yourself: will blocking DuckAssistBot remove your pages from AI answers?

Often, yes. DuckAssistBot is a retrieval crawler that feeds AI search answers, so pages it cannot fetch can drop out of the answers or results it supports.

Test yourself: is User-agent: duckassistbot the same as User-agent: DuckAssistBot?

Yes. RFC 9309 makes user-agent matching case-insensitive. Paths are a different story: Disallow: /Blog/ does not block /blog/.

Should you allow DuckAssistBot? Decide by situation

Recommended setting for DuckAssistBot by type of site
If you are...Recommended setting
You publish content and want AI answers to cite itAllow it. DuckAssistBot fetches pages for answers, so blocking it can remove you from them.
You license content and want to stop AI trainingBlocking it does not stop training, because DuckAssistBot is a retrieval crawler that feeds AI search answers. Block the operator's training crawler instead.
You run an online shopAllow it on product and category pages, which are the pages shoppers ask assistants about.
Your server is under load from botsRate-limit before blocking. It is rated safe in our database.

Check DuckAssistBot on your own site

  1. Open /robots.txt on your domain and search for DuckAssistBot. If it is not named, it follows User-agent: *.
  2. List the Disallow lines in the group DuckAssistBot follows and test your key URLs against them; the longest match wins, and Allow wins a tie.
  3. Look beyond the file. A firewall or bot manager can refuse DuckAssistBot even when robots.txt allows it, and that never shows in the file.
  4. Run our GPTBot and ClaudeBot access check to see how DuckAssistBot and every other crawler we track are treated in one pass, including firewall refusals.

Common mistakes with DuckAssistBot

The errors we see most often with DuckAssistBot in the files and firewalls we test:

  1. Blocking DuckAssistBot while trying to stop AI training. Retrieval crawlers fetch pages so answers can cite them; blocking it can remove you from those answers without affecting training.
  2. Letting a firewall or bot-fight mode refuse DuckAssistBot while robots.txt allows it. The file looks right, but the crawler still gets a 403 or a challenge page.
  3. Forgetting that once a User-agent: DuckAssistBot group exists, DuckAssistBot ignores every rule under User-agent: *.

All three hide inside a file that looks correct, so check DuckAssistBot from outside after every change.

Spotting DuckAssistBot in your logs

robots.txt says what DuckAssistBot may do; your access logs show what it actually did.

Count requests

On a server with standard Nginx or Apache logs, this counts matching requests per day (adjust the log path for your host):

grep -iE "DuckAssistBot" /var/log/nginx/access.log \
  | awk '{print $4}' | cut -d: -f1 | sort | uniq -c

And this shows which paths it requested most, which is the quickest way to see whether your Disallow lines are being respected:

grep -iE "DuckAssistBot" /var/log/nginx/access.log \
  | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

Check the requests are genuine

Anyone can send the DuckAssistBot user-agent, so confirm the source before acting on a match:

  • DuckAssistBot: we hold no published IP list, so use reverse DNS where the operator documents a hostname and treat an unverifiable DuckAssistBot request with caution.

Frequently Asked Questions

What is the official user-agent string for DuckAssistBot?
The official user-agent string for DuckAssistBot is: DuckAssistBot. This is the exact string you must use in robots.txt, Nginx, Apache, or Cloudflare firewall rules to target this bot. User-agent matching in robots.txt is case-insensitive, but the string must be spelled correctly. You can verify that a request genuinely comes from DuckAssistBot by performing a reverse-DNS lookup on the source IP - legitimate bots resolve back to their operator's domain.
Is DuckAssistBot safe?
Yes. DuckAssistBot is a documented bot: DuckDuckGo publishes a page that names it and explains what it does.
Will blocking DuckAssistBot hurt my SEO?
Blocking it stops DuckAssist from citing your pages. No effect on DuckDuckGo's regular results (DuckDuckBot) or on Google.
How do I block DuckAssistBot in robots.txt?
Add the following lines to your /robots.txt file:
User-agent: DuckAssistBot
Disallow: /

This instructs DuckAssistBot not to crawl any path on your site. The Disallow: / directive covers the entire domain including subfolders. To only block specific sections, replace / with the path (e.g., Disallow: /blog/). Note: robots.txt is publicly readable - any bot or human can inspect it at yourdomain.com/robots.txt.
Does DuckAssistBot respect robots.txt?
Yes. DuckDuckGo documents robots.txt control for it.
How do I verify if DuckAssistBot is crawling my site?
Search your web server access logs for the string DuckAssistBot (case-insensitive grep: grep -i "DuckAssistBot" /var/log/nginx/access.log). You can also check Google Search Console → Coverage → Crawl Stats for Googlebot variants. For DuckAssistBot specifically, filter by user-agent in your log analysis tool (GoAccess, AWStats, etc.).
What is the crawl frequency of DuckAssistBot?
DuckAssistBot crawls at a moderate rate. If you notice excessive traffic in your logs, you can add a Crawl-delay directive:
User-agent: DuckAssistBot
Crawl-delay: 10
(10 second delay between requests).
Can I block DuckAssistBot from specific pages only?
Yes. Instead of a global Disallow: / you can restrict DuckAssistBot to specific paths:
User-agent: DuckAssistBot
Disallow: /private/
Disallow: /staging/
Allow: /

This allows DuckAssistBot everywhere except the listed paths. Path matching in robots.txt uses prefix matching - Disallow: /private/ blocks /private/page.html but NOT /public/private/.
Does blocking DuckAssistBot prevent AI training on my content?
DuckAssistBot is not used for AI training, according to DuckDuckGo. DuckDuckGo states content it fetches is not used to train AI models.
Is there an alternative to robots.txt to opt out of DuckAssistBot?
The opt-out DuckDuckGo documents is robots.txt. A firewall, CDN or server rule that returns 403 for DuckAssistBot enforces it. Per-bot meta tags and llms.txt are not opt-out mechanisms any major operator documents.
WhatsApp us