User agent parser: browser, OS, device and bots
Parse a User-Agent string into browser and version, operating system and version, device type (desktop, mobile, tablet or bot) and, for crawlers, which bot it is: Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, social previewers, SEO crawlers and HTTP libraries such as curl or python-requests. Local rules, no outside service. Use to read access logs, segment traffic or spot AI crawlers.
Inputs
| Name | Type | Description |
|---|---|---|
ua (required) | string | The User-Agent string |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/useragent/parse?ua=Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F130.0.0.0%20Safari%2F537.36"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/useragent/parse?ua=Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F130.0.0.0%20Safari%2F537.36&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.
Example result
{
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) … Chrome/130.0.0.0 Safari/537.36",
"browser": "Chrome",
"browserVersion": "130.0.0.0",
"majorVersion": 130,
"os": "Windows",
"osVersion": "10 or 11",
"device": "desktop",
"isBot": false,
"bot": null
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is useragent_parse, and the first 25 successful calls are free:
https://agent-data-tools.revmesh2074.workers.dev/mcp