Parse, validate and get detailed user-agent information from a user agent string
or from client hints.
This API has the following features:
Type Detection
Determine the general user-agent type e.g. check if the user-agent is a phone, tablet or desktop device
Mobile Detection
Determine if the user-agent belongs to a mobile device and get brand and model information
Device Specs
Retrieve device specs such as the release year, price and physical display properties
Browser Detection
Get the name, engine, version and release year of the browser software
Bot Detection
Check if the user-agent is a robot, spider, crawler or other type of automated software
OS Detection
Determine the operating system family, full OS name and version information
Device Lookup
Use the 'device-model' and 'device-brand' fields to directly lookup mobile device specs (without any user-agent)
Note on Client Hints:
As of now most chromium based browsers have frozen the classic 'User-Agent' header for both desktop and mobile browsers. For these browsers you must now use
client hints to get detailed user agent data. This API will return true in the 'is-ua-frozen' field in these cases indicating that you should switch
to using client hints for more accurate data.
For any browsers that implement the client hints specification you enable this feature by first sending the 'Accept-CH' header to the client browser,
for example:
The resulting JSON or HTTP headers can then be passed directly to this API for parsing.
If you would like to see what data your specific browser returns you can visit our client hints test page
The user-agent string to lookup. For client hints this corresponds to the 'sec-ch-ua' header or you can also pass the JSON data directly from the 'navigator.userAgentData.getHighEntropyValues()' JavaScript API
ua-version
no
string
For client hints this corresponds to the 'sec-ch-ua-full-version' header
ua-platform
no
string
For client hints this corresponds to the 'sec-ch-ua-platform' header
ua-platform-version
no
string
For client hints this corresponds to the 'sec-ch-ua-platform-version' header
ua-mobile
no
string
For client hints this corresponds to the 'sec-ch-ua-mobile' header
ua-arch
no
string
For client hints this corresponds to the 'sec-ch-ua-arch' header
ua-bitness
no
string
For client hints this corresponds to the 'sec-ch-ua-bitness' header
ua-form-factors
no
string
For client hints this corresponds to the 'sec-ch-ua-form-factors' header
device-model
no
string
For client hints this corresponds to the 'sec-ch-ua-model' header. You can also use this parameter to lookup a device directly by its model name, model code or hardware code, on android you can get the model name from: https://developer.android.com/reference/android/os/Build.html#MODEL
device-brand
no
string
This parameter is only used in combination with 'device-model' for direct device lookups without any user-agent data. Set this to the brand or manufacturer name, this is required for accurate device detection with ambiguous model names. On android you can get the device brand from: https://developer.android.com/reference/android/os/Build#MANUFACTURER
API Response
Parameter
Type
Description
ua
string
The user agent string
type
string
The user agent type, possible values are:
desktop
phone
tablet
wearable
tv
console
email
library
robot
unknown
name
string
The client software name / user agent name
version
string
The user agent software full version
version-major
string
The user agent software major version
browser-engine
string
For web browsers which underlying browser engine does it use
browser-release
string
For web browsers which year was this browser version released
is-current
boolean
For web browsers is the version up-to-date with the current stable release (+/- one version)
is-ua-frozen
boolean
For chrome/chromium based browsers is this user agent string frozen and requires client hints for more accurate details. For more information see user-agent reduction and to test a browser for client hints go to the client hints analyzer test page
os
string
The full operating system name
os-family
string
The operating system family. The major OS families are: Android, Windows, macOS, iOS, Linux
os-version
string
The operating system full version
os-version-major
string
The operating system major version
is-mobile
boolean
Is this a mobile device (e.g. a phone or tablet)
is-webview
boolean
Is this a WebView or embedded web browser. This includes mobile and desktop apps using WebViews
device-brand
string
The device brand / manufacturer
device-model
string
The device model
device-model-code
string
The device model code
device-release
string
The year when this device model was released
device-price
float
The average device price on release in USD
device-resolution
string
The device display resolution in physical pixels (e.g. 720x1280)
device-ppi
float
The device display PPI (pixels per inch)
device-pixel-ratio
float
The device display pixel ratio (the ratio of the resolution in physical pixels to the resolution in CSS pixels)
device-width-px
float
The device display width in CSS 'px'
device-height-px
float
The device display height in CSS 'px'
device-width-mm
integer
The device display width in millimeters
device-height-mm
integer
The device display height in millimeters
API Performance
Characteristic
Value
Description
Avg Latency
20ms
Average RTT for requests within the same data center/region
Max Rate
150/second
Maximum inbound request rate. Exceeding this will result in request throttling
Max Concurrency
250
Maximum concurrent/simultaneous requests. Exceeding this will result in error code 06 [TOO MANY CONNECTIONS]