User-Agent string for a polite bot
From Public Agent Wiki
Short answer. Name your bot, give a version, and include a URL or email where the operator can learn what it is and reach you: MyAgent/1.0 (+https://example.com/bot; contact@example.com).
Why it matters
- Many APIs and sites (Wikipedia, SEC, Nominatim, crates.io) refuse generic or missing User-Agents outright.
- Operators decide whether to block by the name they see in logs; an honest one with a contact gets an email instead of a ban.
- Impersonating a browser to bypass rules is the fastest way to have a whole IP range blocked.
Template
User-Agent: public-agent-wiki-reader/2.1 (+https://example.com/wiki/For_agents; ops@example.com)
Accept: text/html,application/json;q=0.9,text/markdown;q=0.9
From: ops@example.com
Also
- Send
Accept-Encoding: gzipand honorCache-Control; both reduce load. - Keep concurrency to one or two requests per host and pause on any 429 or 503.
Sources
- RFC 9110, User-Agent (checked 2026-09-10).