API Basics
Data Tools
WWW
Browser Bot
HTML Clean
URL Info
Telephony
Geolocation
Security and Networking
E-commerce
Imaging
Legacy APIs

UA Lookup

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:
Accept-CH: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Form-Factors, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version
You can then retrieve the client hint data from the subsequent HTTP headers or via the JavaScript 'getHighEntropyValues' API, for example:
navigator.userAgentData.getHighEntropyValues(["architecture","bitness","formFactors","model","platform","platformVersion","uaFullVersion"]).then(ua=>{ console.log(ua); });
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

API Endpoint

https://neutrinoapi.net/ua-lookup
Test API
API Request
ParameterRequiredTypeDefaultDescription
uayesstringThe 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-versionnostringFor client hints this corresponds to the 'sec-ch-ua-full-version' header
ua-platformnostringFor client hints this corresponds to the 'sec-ch-ua-platform' header
ua-platform-versionnostringFor client hints this corresponds to the 'sec-ch-ua-platform-version' header
ua-mobilenostringFor client hints this corresponds to the 'sec-ch-ua-mobile' header
ua-archnostringFor client hints this corresponds to the 'sec-ch-ua-arch' header
ua-bitnessnostringFor client hints this corresponds to the 'sec-ch-ua-bitness' header
ua-form-factorsnostringFor client hints this corresponds to the 'sec-ch-ua-form-factors' header
device-modelnostringFor 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-brandnostringThis 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
ParameterTypeDescription
uastringThe user agent string
typestringThe user agent type, possible values are:
  • desktop
  • phone
  • tablet
  • wearable
  • tv
  • console
  • email
  • library
  • robot
  • unknown
namestringThe client software name / user agent name
versionstringThe user agent software full version
version-majorstringThe user agent software major version
browser-enginestringFor web browsers which underlying browser engine does it use
browser-releasestringFor web browsers which year was this browser version released
is-currentbooleanFor web browsers is the version up-to-date with the current stable release (+/- one version)
is-ua-frozenbooleanFor 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
osstringThe full operating system name
os-familystringThe operating system family. The major OS families are: Android, Windows, macOS, iOS, Linux
os-versionstringThe operating system full version
os-version-majorstringThe operating system major version
is-mobilebooleanIs this a mobile device (e.g. a phone or tablet)
is-webviewbooleanIs this a WebView or embedded web browser. This includes mobile and desktop apps using WebViews
device-brandstringThe device brand / manufacturer
device-modelstringThe device model
device-model-codestringThe device model code
device-releasestringThe year when this device model was released
device-pricefloatThe average device price on release in USD
device-resolutionstringThe device display resolution in physical pixels (e.g. 720x1280)
device-ppifloatThe device display PPI (pixels per inch)
device-pixel-ratiofloatThe device display pixel ratio (the ratio of the resolution in physical pixels to the resolution in CSS pixels)
device-width-pxfloatThe device display width in CSS 'px'
device-height-pxfloatThe device display height in CSS 'px'
device-width-mmintegerThe device display width in millimeters
device-height-mmintegerThe device display height in millimeters
API Performance
CharacteristicValueDescription
Avg Latency20msAverage RTT for requests within the same data center/region
Max Rate150/secondMaximum inbound request rate. Exceeding this will result in request throttling
Max Concurrency250Maximum concurrent/simultaneous requests. Exceeding this will result in error code 06 [TOO MANY CONNECTIONS]

API Example
curl https://neutrinoapi.net/ua-lookup \ --header "User-ID: <your-user-id>" \ --header "API-Key: <your-api-key>" \ --data-urlencode "ua=Mozilla/5.0 (Linux; Android 11; SM-G9980U1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36" \ --data-urlencode "ua-version=" \ --data-urlencode "ua-platform=" \ --data-urlencode "ua-platform-version=" \ --data-urlencode "ua-mobile=" \ --data-urlencode "device-model=" \ --data-urlencode "device-brand="
{ browser-engine: "Blink", browser-release: "2020", device-brand: "Samsung", device-height-mm: 157, device-height-px: 1066, device-model: "Galaxy S21 Ultra 5G", device-model-code: "SM-G9980U1", device-pixel-ratio: 3, device-ppi: 515, device-price: 1400, device-release: "2021", device-resolution: "1440x3200", device-width-mm: 70, device-width-px: 480, is-current: false, is-mobile: true, is-ua-frozen: false, is-webview: false, name: "Chrome", os: "Android 11", os-family: "Android", os-version: "11", os-version-major: "11", type: "phone", ua: "Mozilla/5.0 (Linux; Android 11; SM-G9980U1) AppleWebKit/537.36 (KHTML, like Ge..." version: "87.0.4280.101", version-major: "87" }