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
DuckDuckGo · Search engines · json
User-agent: DuckDuckBot Disallow: /
| robots.txt token | DuckDuckBot |
| User-agent contains | DuckDuckBot |
| Operator | DuckDuckGo |
| Category | Search engines |
| robots.txt | obeys robots.txt (documented) |
| Verify by | published IP ranges |
| Published ranges | 486 IPv4 + 0 IPv6 · json · source |
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.
Limited on its own; the real DuckDuckGo lever is bingbot.
DuckDuckBot/1.1; (+http://duckduckgo.com/duckduckbot.html)
User-agent: DuckDuckBot Allow: /
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'
/tools/verification-methods?crawler=duckduckbot/tools/verify-crawler?ip=104.43.54.127&ua=DuckDuckBotEvery 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