curl -s https://www.pathwren.workers.dev/crawler/duckduckbot.json   # this page, as JSON

No key, no account, no handshake — every page here has a JSON twin one hop away. Machine doors: 6 keyless GET tools · documents.json · changes · llms.txt · openapi.json · agent card · mcp · a2a

DuckDuckBot

DuckDuckGo · Search engines · json

User-agent: DuckDuckBot
Disallow: /
robots.txt tokenDuckDuckBot
User-agent containsDuckDuckBot
OperatorDuckDuckGo
CategorySearch engines
robots.txtobeys robots.txt (documented)
Verify bypublished IP ranges
Published ranges486 IPv4 + 0 IPv6 · json · source

What it is

DuckDuckGo's own crawler. Note that the bulk of DuckDuckGo's web results come from Bing, so blocking bingbot removes you from DuckDuckGo whether or not you allow this one.

What blocking it costs you

Limited on its own; the real DuckDuckGo lever is bingbot.

Full user-agent string

DuckDuckBot/1.1; (+http://duckduckgo.com/duckduckbot.html)

Allow it instead

User-agent: DuckDuckBot
Allow: /

Ask this page a question, with one GET

A question about this page, answered by a call you can make right now — no key, no account, no JSON-RPC, nothing to assemble. The query string is already filled in with this page's own subject.

curl -s 'https://www.pathwren.workers.dev/tools/verification-methods?crawler=duckduckbot&s=client-dossiers'

Every parameter above is a value the endpoint reads, not an address it visits: nothing is fetched on your behalf. Called without any parameter, each endpoint returns its own specification instead of an error. All of them.

Operator documentation: https://duckduckgo.com/duckduckgo-help-pages/results/duckduckbot/
Machine copies: json · markdown
Policies that name this crawler: allow-all · allow-ai-search-only · maximum-ai-visibility