Classic Search
User Agent
A user agent is the client program that sends a request to a website, such as a browser, a search engine crawler or an AI assistant fetching a page. In HTTP it describes itself in the User-Agent header, and in robots.txt a crawler finds its rules by its product token, a short name contained in that header.
- Industry term
By QueryRev ResearchPublished Updated5 min read
Why it matters.
HTTP uses the term broadly: any client program that starts a request, from a web browser to a spider, a command-line tool or a household appliance[1]. The User-Agent header carries one or more product identifiers, each a name with an optional version, listed in decreasing order of significance[1]. OpenAI’s training crawler, for example, sends a string that ends compatible; GPTBot/1.4 and the address of its documentation[3].
Robots.txt matches a shorter name. RFC 9309 calls it the product token: letters, underscores and hyphens only, and it should be a substring of the User-Agent header, so a crawler that sends Mozilla/5.0 (compatible; ExampleBot/0.1) obeys the group User-agent: ExampleBot[2]. The match ignores case, groups that name the same token are combined, and a crawler with no group of its own obeys the * group[2].
A token is not always a crawler. Google-Extended is read in robots.txt but never sent: Google crawls with its usual agents and uses the token only as a control[4]. The reverse also exists. Agents that fetch on a user’s request may not follow robots.txt at all, as OpenAI says of ChatGPT-User[3] and Google says of its user-triggered fetchers[5].
The header proves nothing on its own. HTTP asks implementations not to use other products’ tokens to claim compatibility, and notes that one user agent can masquerade as another[1]. Google’s answer is verification: a reverse DNS lookup on the requesting address, or a match against the IP ranges it publishes for each kind of crawler and fetcher[5].
Every agent a file does not name inherits its catch-all rules. In QueryRev’s study, the catch-all group closes part of the site on 1.1% of the sites whose robots.txt could be read[6], rules that bind every user agent without a group of its own.
How it is measured.
Read the logs by user agent, then verify. Group the requests by product token and, for each crawler that matters, check the source address against the vendor’s published list or a reverse DNS lookup. Requests that copy a known name from other addresses are counted apart.
Test the rules token by token. For each user agent you care about, find the group of robots.txt that applies to it and test the URLs that matter against that group instead of reading the file by eye; robots.txt sets out how groups and errors are read.
Watch what the server sends back to each agent. Firewalls, CDNs and bot settings decide by user agent too, so a crawler that the file allows can still get a 403 or a challenge page. The status codes by agent show it.
Measured by
- Requests per user agent
- Verified against published ranges
- Group that applies
A worked example.
Sample data: an invented site, to show the method.
A shop reads one day of logs and finds 3,400 requests whose user agent contains Googlebot. A reverse DNS lookup and Google’s published ranges confirm 2,950 of them. The other 450 come from a hosting provider’s addresses and fetch the shop’s internal search pages at a steady rate.
The 450 are a scraper using Googlebot’s name. The shop blocks them by address at the firewall, not by user agent, because a rule against the name would refuse the real crawler too.
What to do, step by step.
List the user agents that matter to the site: the search crawlers, the AI crawlers by purpose, and the fetchers that act for users.
For each, read its vendor’s documentation for its product token, what it is for and whether it follows robots.txt.
Write robots.txt groups only for the tokens you treat differently, with each token spelt as documented.
Verify crawlers by address or reverse DNS before trusting the name in a log or letting it through a firewall.
Block abusive clients by address or behaviour, never by a well-known crawler’s name.
Check the list again whenever a vendor publishes a new agent or changes what one does.
Mistakes to avoid.
Matching the whole header in robots.txt. Groups match the product token, such as GPTBot, not the full string with its versions and comments.
Blocking by a famous name. A firewall rule against Googlebot stops the real crawler along with the impostors. Verify first, then block by address.
Expecting every agent to read robots.txt. Fetchers that act on a user’s request may ignore it, and some tokens are read in the file but never sent in a request.
Spelling a token from memory. A misspelt token matches no crawler, which then follows the catch-all group. Copy each token from its vendor’s page.
How QueryRev treats it.
QueryRev reads a site’s access user agent by user agent: for each crawler of the search engines and AI surfaces it tracks, which robots.txt group applies, which paths it closes and what the server returns. A change to those rules passes your policy and is written to the Change Ledger. The checks are laid out in the GEO audit checklist.
Questions people ask.
What is my user agent?
It is the User-Agent header your browser sends with each request, naming the browser, its version and the system it runs on. The browser’s developer tools show it among the request headers of any page.
Is a user agent the same as a bot?
No. Every client that makes a request is a user agent, browsers included. A bot is a user agent that runs without a person driving each request, such as a search crawler.
Can a user agent be faked?
Yes. The header is written by the client, so any program can send a crawler’s name. Verify important crawlers by their published IP addresses or a reverse DNS lookup.
Sources and citation.
Primary sources only: the search engines, the AI vendors, standards bodies and QueryRev’s own research. Each is cited in the text by its number.
RFC 9110: HTTP SemanticsIETF ·
Overview of OpenAI CrawlersOpenAI ·
Google’s common crawlersGoogle Crawling Infrastructure ·
Verify requests from Google crawlers and fetchersGoogle Crawling Infrastructure ·
State of AI crawler access, October 2026QueryRev Research ·
Cite this definition
A suggested citation. Its link goes to the definition, whose anchor does not change.
QueryRev Research. “User Agent.” QueryRev AI glossary, 18 October 2026. https://queryrev.com/glossary/user-agent#definition
Related terms