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
Note:
For browsers that use client hints you can obtain the complete 'high entropy' user agent data with the following JavaScript code:
navigator.userAgentData.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then(uad=>{console.log(uad);});
The resulting JSON data can then be passed directly to the 'ua' API parameter.

End Point

https://neutrinoapi.net/ua-lookup
Test API
API Request
ParameterRequiredTypeDefaultDescription
uayesstringThe user-agent string to lookup. For client hints use the 'UA' header or the JSON data directly from 'navigator.userAgentData.brands' or 'navigator.userAgentData.getHighEntropyValues()'
ua-versionnostringFor client hints this corresponds to the 'UA-Full-Version' header or 'uaFullVersion' from NavigatorUAData
ua-platformnostringFor client hints this corresponds to the 'UA-Platform' header or 'platform' from NavigatorUAData
ua-platform-versionnostringFor client hints this corresponds to the 'UA-Platform-Version' header or 'platformVersion' from NavigatorUAData
ua-mobilenostringFor client hints this corresponds to the 'UA-Mobile' header or 'mobile' from NavigatorUAData
device-modelnostringFor client hints this corresponds to the 'UA-Model' header or 'model' from NavigatorUAData.
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' when doing 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
versionstringThe client software full version
version-majorstringThe client software major version
browser-enginestringIf the client is a web browser which underlying browser engine does it use
browser-releasestringIf the client is a web browser which year was this browser version released
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 / embedded software client
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'
API Performance
CharacteristicValueDescription
Avg Latency20msAverage RTT for requests within the same data center/region
Max Rate500/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-px: 1066, device-model: "Galaxy S21 Ultra 5G", device-model-code: "SM-G9980", device-pixel-ratio: 3, device-ppi: 515, device-price: 1400, device-release: "2021", device-resolution: "1440x3200", device-width-px: 480, is-mobile: true, 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" }