GET /useragent
Useragent API
Turn a User-Agent into device, OS, browser, and bot.
Try it
{
"useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"device": "desktop",
"os": "macOS",
"browser": "Chrome",
"bot": false,
"mobile": false,
?deep=true
}1M requests · $20/mo.
Get startedWhat comes back.
device
desktop | mobile | tablet | tv | console | wearable | car | camera | speaker | bot | other
os
Operating system (e.g. macOS, Windows, Android, iOS)
browser
Browser, app, or library name (e.g. Chrome, curl), bot name for bots
bot
Bot, crawler, or headless browser
deep.device
Type, brand, model (e.g. Samsung Galaxy S21 Ultra 5G), CPU, touchscreen
deep.os
Name, version, platform (ARM/x64 from hints)
deep.browser
Name, version, client type. Brands when Sec-CH-UA present
deep.bot
For bots: name, category (e.g. AI Data Scraper), url, vendor
1
Send the string
Header, or bare GET /useragent for the caller.
2
Get the device
Brand, model, OS, browser. Bots come back named.
3
Forward the hints
Client Hints are how you beat a frozen Chrome UA.
Make your first request.
One key works across the APIs. Copy a request in your language and get JSON back.
curl "https://api.parseapi.com/useragent" \
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"// Example response · 200
{
"useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"device": "desktop",
"os": "macOS",
"browser": "Chrome",
"bot": false,
"mobile": false
}API referenceSDKsKeys and authentication
Every response field
Response fields
- useragentstring
- Original User-Agent string
- devicestring or null
- desktop | mobile | tablet | tv | console | wearable | car | camera | speaker | bot | other
- osstring or null
- Operating system (e.g. macOS, Windows, Android, iOS)
- browserstring or null
- Browser, app, or library name (e.g. Chrome, curl), bot name for bots
- botboolean
- Bot, crawler, or headless browser
- mobileboolean
- Phone or tablet
Deep fields
- deep.deviceobject
- Type, brand, model (e.g. Samsung Galaxy S21 Ultra 5G), CPU, touchscreen
- deep.osobject
- Name, version, platform (ARM/x64 from hints)
- deep.browserobject
- Name, version, client type. Brands when Sec-CH-UA present
- deep.engineobject
- Rendering engine and version
- deep.botobject
- For bots: name, category (e.g. AI Data Scraper), url, vendor
- deep.aiboolean
- For bots: AI crawler or scraper (GPTBot, ClaudeBot, …)
- deep.headlessboolean
- Automation framework detected (HeadlessChrome, Playwright, …)
QUESTIONS
- What comes back?
- Device, OS, browser, and a named bot when the string is a bot.
- What does deep add?
- Brand and model, the rendering engine, whether it is an AI crawler, and whether it is headless. Deep ships on paid plans.
- What is the engine?
- The rendering engine behind the browser. Blink, WebKit, Gecko. deep.engine is the name and version.
- What is an AI crawler?
- A bot scraping for a model, like GPTBot or ClaudeBot. deep.ai is true on those.
- What is headless?
- A browser driven by automation. HeadlessChrome, Playwright, Puppeteer. deep.headless is true when we see the framework.
- Do Client Hints help?
- Yes. Forward them when you have them. Frozen Chrome UA strings need the hints.
- Can I parse the caller?
- GET /useragent with no path reads the request headers.
Eleven years of User-Agents
Every number here comes from real requests to this API, 403 million of them, covering 14 million distinct strings, starting 2015. Not a survey, not a panel, the actual strings developers sent us.
The most parsed
Ranked by requests parsed across the whole archive. Every name is a page in the directory.
Bots
- Amazon Route53 Health Check2.3M
- Googlebot495K
- Nagios check_http349K
- BingBot331K
- Sogou Spider304K
Then the AI crawlers arrived
First sighting of each AI crawler in our traffic. A whole new species of visitor, practically overnight.
- AmazonbotMay 2021
- GPTBotAug 2023
- ClaudeBotNov 2023
- ChatGPT-UserNov 2023
- ImageSiftMar 2024
- Meta-ExternalAgentAug 2024
- PerplexityBotAug 2024
- OAI-SearchBotAug 2024
- cohere-training-data-crawlerNov 2024
- Perplexity-UserJun 2025
- Gemini-Deep-ResearchOct 2025
- DuckAssistBotFeb 2026
- Claude-UserMar 2026
- DeepseekBotApr 2026
- Claude-SearchBotApr 2026
- Google-CloudVertexBotApr 2026
See what your browser sends with What is my user agent?