DuckDuckBot: DuckDuckGo's Search Crawler
What is DuckDuckBot?
DuckDuckBot is the DuckDuckGo search crawler, separate from DuckAssistBot which serves AI-assisted answers. DuckDuckBot is separate from DuckAssistBot, so blocking one does not affect the other.
Key facts
- DuckDuckBot is operated by DuckDuckGo, and its purpose is classic search: conventional search indexing.
- DuckDuckGo publishes no full user-agent string for DuckDuckBot, so Kymo matches the token DuckDuckBot observed in real logs.
- The robots.txt token for DuckDuckBot is DuckDuckBot, and DuckDuckGo documents that DuckDuckBot respects that rule.
- DuckDuckBot can send a visitor to your site, and DuckDuckBot attaches a linked citation when it uses your content.
Specification
| Operator | DuckDuckGo |
|---|---|
| Purpose | Classic searchConventional search indexing. On some engines the same index also feeds AI-generated answer surfaces. |
| Agent kind | CrawlerAutonomous crawler. Appears in your logs under its own user-agent. |
| User agent | Not documented by DuckDuckGo. Kymo matches this agent on the token DuckDuckBot, observed in real logs rather than published in operator documentation. |
| robots.txt token | DuckDuckBot |
| robots.txt compliance | Documented: respects robots.txt |
| Verification | No published method, user agent is the only signal |
| Sends referral traffic | Yes |
| Attaches a citation | Yes |
| Status | Active |
| Legacy Kymo category | indexing |
| Source | Observed in real logs, no operator documentation locatedDuckDuckGo publishes no crawler documentation that Kymo could locate. Everything on this page comes from observed traffic, not from a vendor page. |
| Verified on |
What this looks like in your logs
grep -i 'DuckDuckBot' access.log
DuckDuckGo publishes no full user-agent string for DuckDuckBot, so the rest of the line varies and only the token DuckDuckBot is dependable. Kymo matches on that token, case-insensitively, for the same reason.
What DuckDuckBot does not do
DuckDuckBot does not guarantee a visit, because a read only becomes a visit if a person clicks the citation that came out of it.
DuckDuckBot does not train a model on what it reads, and it has no part in what any other search engine shows.
DuckDuckGo publishes no documentation for DuckDuckBot at all, so no crawl frequency and no compliance statement exists to quote.
How Kymo classifies it
Kymo files DuckDuckBot under DuckDuckGo as indexing, classified from the HTTP request on the server rather than from anything running in a browser.
A hit from DuckDuckBot appears on the Crawlers dashboard and is deliberately left out of the AI Visibility numbers. An index sweep produces no click to miss, so counting it there would inflate the read number and break its relationship to the visitor number beside it.
Seen on our own sites
| Last seen | 15 Sep 2026 |
|---|---|
| Days active, last 30 days | 31 |
| Requests, last 30 days | 277 |
Counted by Kymo on kymo.in and remotestack.in, the two sites we run, up to 15 Sep 2026. Two sites is a small sample. Treat these numbers as proof the bot is active now.
Allow it or block it
Blocking DuckDuckBot removes you from DuckDuckGo search results. It does not govern DuckAssistBot, which is a separate token.
| Allow it if | Block it if |
|---|---|
| You want to appear in DuckDuckGo search results. | DuckDuckGo sends you no traffic worth the crawl, which is usually a question of language and region. |
robots.txt directives
Both blocks below address DuckDuckBot only. Rules for one token never apply to another, even from the same operator.
Allow DuckDuckBot
User-agent: DuckDuckBot Allow: /
Block DuckDuckBot
User-agent: DuckDuckBot Disallow: /
Questions
How do I know a request claiming to be DuckDuckBot is genuine?
DuckDuckGo publishes no verification method for DuckDuckBot, so the user-agent string is the only signal available, and anyone can send one. Treat a claimed DuckDuckBot request as unproven.
Does blocking DuckDuckBot also block DuckAssistBot?
No. DuckDuckBot and DuckAssistBot are separate tokens, and DuckDuckGo treats each one on its own. A rule naming DuckDuckBot leaves DuckAssistBot free to carry on fetching your pages when a person asks DuckDuckGo a question. To stop that as well, name DuckAssistBot in a rule of its own.
Will I see DuckDuckBot in Google Analytics?
No. Google Analytics runs a JavaScript tag in a visitor's browser, and DuckDuckBot reads your HTML and leaves without running any script. Server-side logging is the only way to record it.
Does DuckDuckBot send traffic back to my site?
Yes. DuckDuckBot builds an index that DuckDuckGo cites its sources from, and a citation there is a link a person can click. A crawl is still not a visit, so expect the read count to run far ahead of the click count.
Related crawlers
All AI crawlers and control tokens
See this bot in your own logs
DuckDuckBot decides whether you appear in DuckDuckGo results, and a browser tag cannot tell you whether it ever came.
Kymo reads the HTTP request on your server, so a crawler that never runs JavaScript is still recorded. You see which bots reached the site, which pages they took and how often, next to your human traffic.
Start free → 14-day free trial. No card required.
No account yet? Run a free AI visibility check on your own site.