User Agent Parser
Parse user agent strings to extract browser name, version, operating system, device type, and bot detection.
Overview
Use Cases
- Analytics dashboards
- Serving device-specific content
- Bot filtering and traffic analysis
- Browser compatibility reporting
Features
Browser name and version detection
Operating system and version detection
Device classification (desktop, mobile, tablet, bot)
Bot/crawler detection
API Endpoints
Parse User Agent
Parses a user agent string and returns structured information about the browser, OS, device, and bot status.
GET
https://api.requiems.xyz/v1/tech/useragent
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| ua | string |
Required | The user agent string to parse. |
Try it out
Live DemoRequest
The user agent string to parse.
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| browser | string |
Detected browser name (e.g. Chrome, Firefox, Safari, Edge, Opera, Internet Explorer, Other) |
| browser_version | string |
Detected browser version (major.minor) |
| os | string |
Detected operating system (e.g. Windows, macOS, Linux, Android, iOS, ChromeOS, Other) |
| os_version | string |
Detected OS version (format varies by platform) |
| device | string |
Device type β one of desktop, mobile, tablet, bot, or unknown |
| is_bot | boolean |
True when the user agent matches a known bot or crawler pattern |
Code Examples
curl "https://api.requiems.xyz/v1/tech/useragent?ua=Mozilla%2F5.0+%28Windows+NT+10.0%29+Chrome%2F120.0.0.0" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
from urllib.parse import quote
ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0"
url = f"https://api.requiems.xyz/v1/tech/useragent?ua={quote(ua)}"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0";
const url = `https://api.requiems.xyz/v1/tech/useragent?ua=${encodeURIComponent(ua)}`;
const response = await fetch(url, {
headers: { 'requiems-api-key': 'YOUR_API_KEY' }
});
const data = await response.json();
console.log(data.data.browser);
require 'net/http'
require 'json'
ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0"
uri = URI("https://api.requiems.xyz/v1/tech/useragent?ua=#{URI.encode_www_form_component(ua)}")
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data['data']['browser']
Error Responses
bad_request
The ua query parameter is missing.
Frequently Asked Questions
Chrome, Firefox, Safari, Edge, Opera, and Internet Explorer. Anything else returns "Other".
The API checks for known bot/crawler keywords in the user agent string, including Googlebot, Bingbot, curl, wget, python-requests, and many others.
desktop, mobile, tablet, bot, or unknown. Tablets are identified by iPad or Android without 'Mobile' in the UA.