UAParse

Parse a User-Agent

Paste any User-Agent string, or detect the one your browser is sending. UAParse returns the browser, OS, device type, engine, and whether it is a known bot, search crawler, or AI crawler (GPTBot, ClaudeBot, PerplexityBot, CCBot, Google-Extended, Bytespider, … 43 on list 2026-10-08), including AI agents acting for a user (ChatGPT-User, Claude-User, Perplexity-User, Google-Agent, …).

Free: about 20 lookups per minute. Tip: paste a crawler UA from your access logs to see if it is an AI trainer or a search indexer.

How it works

Wrongly flagged? Report a false positive.

API

curl -X POST -H "content-type: application/json" \
  -d '{"ua":"Mozilla/5.0 … GPTBot/1.1"}' "https://<host>/v1/parse"
curl "https://<host>/v1/parse"   # parses YOUR User-Agent

API keys are issued by request during early access (free tier: 1,000 lookups/day); email digitalpromohub.support@gmail.com. Bulk parse (up to 100 UAs, paid-plan shape) needs a key. See the API docs.

Using an AI assistant or agent? UAParse is also a remote MCP server: see For AI agents.

For AI agents (MCP)

UAParse is also a remote Model Context Protocol (MCP) server, so AI assistants and agents can parse a User-Agent for you with the parse_user_agent tool. Most MCP clients accept this config; some use a different format (for example, VS Code uses a servers key). Clients with a settings screen just need the URL https://uaparse.mike-tusa.workers.dev/mcp.

{
  "mcpServers": {
    "uaparse": {
      "type": "http",
      "url": "https://uaparse.mike-tusa.workers.dev/mcp"
    }
  }
}

Same limits as the API (about 20 lookups per minute without a key; each tool call is one lookup). An API key goes in an Authorization: Bearer header. Bulk parsing stays in the JSON API. Machine-readable docs: llms.txt · OpenAPI 3.1 spec · MCP endpoint POST /mcp (Streamable HTTP, stateless JSON responses).