Bulk User Agent Parser - Multi User Agent Parsing

Parse up to 100 User-Agent strings simultaneously with our bulk parsing feature. This allows you to efficiently analyze multiple user agents in a single request, saving time and resources. The result of each parsed user agent string gives detailed information about the browser, device, and operating system. It also provides information about crawlers and possible attacks.

10K Free Credits, No Credit Card Required

Features

Large Scale Data Processing

Efficiently parse up to 100 User-Agent strings at once. Analyze multiple user agents in a single request, saving both time and resources. Perfect for large-scale data processing and analysis.

Security Feature

Detect and report anomalies in User-Agent strings, including malformed or malicious entries. Our API identifies potential threats and provides detailed information to help you safeguard your application against attacks.

Documentation

API Endpoint

POST

https://api.apifreaks.com/v1.0/user-agent/lookup

Test
LANGUAGE
Python
PHP
Java
Node
Ruby
$ pip install requests

API Request

The request body must be in JSON format and include a comma-separated list of user-agent strings to parse them.

{ "uaStrings": [ "Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36", "Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+", "Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)" ] }

API Response

The response will be an array of objects, with each object containing user-agent structured data for the corresponding user-agent string. Each object will include the following fields:

FieldTypeRequirementDescription
userAgentStringStringMandatory
User-agent string that is parsed for browser, device and operating system details.
nameStringMandatory
Agent name or the actual browser name that was used.
typestringMandatory
Agent type or the browser type that was used. Possible values are: (1) Browser - Regurlar Web Browser (2) Browser Webview - Regular browser being used in a mobile app (3) Mobile App - A mobile app accessing the website (4) Robot Mobile - A web crawler who want to be detected as mobile (5) Cloud Application - Something running in the cloud (can be web scrapper etc.) (6) Email Client - An email client (7) Voice - Voice enabled browser that reads out loud (8) Special - Somethig special we cant classify (9) Testclient - Website testing tool (10) Hacker - Someone with malicious stuff in useragent string or malformed UA string (11) Unknown - We don't know
versionstringMandatory
Agent version or the browser version
versionMajorstringMandatory
Agent version major or browser version major
device.namestringMandatory
Device name or the hardware that was used
device.typestringMandatory
Device type or the hardware type. Possible values are: (1) Desktop - This device is a Desktop/Laptop (2) Mobile - This device is a mobile device however we are not sure if its a tablet, watch, e-reader or phone (3) Tablet - This device is a Tablet (4) Phone - This device is a mobile Phone (5) Watch - This device is a watch or device with tiny screen <2" (6) Virtual Reality - This is VR capable mobile device (7) eReader - Device with e-ink screen (8) Set-top box - A connected device that can interact with TV screen (9) TV - Smart TV (10) Game Console - Fixed game consoles like PS and XBox (11) Handheld Game Console - 'Mobile' game systems like the 3DS (12) Voice - A voice driven device that reads the page loud (13) Robot - Robot crawler (14) Robot Mobile - Mobile device Robot crawler (15) Robot Imitator - Robots that pretend to be Google or Bing crawlers but they usually are not official crawlers. (16) Hacker - Either the User Agent String is malformed or some kind of scripting is detected in it. (17) Anonymized - The User Agent has been altered by anonymization software. (18) Unknown - We can't extract the device information from the User Agent.
device.brandstringMandatory
Device brand or the hardware brand name
device.CPUstringMandatory
Device's CPU model or machine CPU
engine.namestringMandatory
Layout engine name or the underlying core that converts the HTML into visual
engine.typestringMandatory
Layout engine type. Possible values are: (1) Browser - Regurlar Web Browser (2) Mobile App - A mobile app with webview or an app that includes regular browser (3) Hacker - Someone with malicious stuff in useragent string or malformed UA string (4) Robot - A web crawler (5) Unknown - We don't know anything about the identity of this device
engine.versionstringMandatory
Layout engine version
engine.versionMajorstringMandatory
Layout engine version major
engine.buildstringMandatory
Layout engine build
operatingSystem.namestringMandatory
Operating system name or the base software name that runs on the hardware.
operatingSystem.typestringMandatory
Operating system type. Possible values are: (1) Desktop - A Desktop OS (Desktop/Laptop) (2) Mobile - A Mobile OS (Tablet/Mobile/Watch) (3) Game Console - Game Console like PlayStation (4) Embedded - An Embedded device (TV, RTOS etc) (5) Cloud - Something running in the cloud environment (6) Hacker - A hacker (7) Anonymized - Explicitly hidden with some software (8) Unknown - We really don't know about this OS
operatingSystem.versionstringMandatory
Operating system version
operatingSystem.versionMajorstringMandatory
Operating system version major

HTTP Error Codes

If the entire request encounters an error, the following error codes will be returned. However, if an individual user-agent parser experiences any specific error, only the object corresponding to that user-agent will include a message field detailing the error. The rest of the response will still contain the user-agent data, ensuring you receive as much useful information as possible.

HTTP StatusReasons
400
'userAgentString' must not be empty or null

How-To-Guides

Parse Multiple User-Agent Strings

Parse multiple User-Agent strings (max. 100) at the same time. To do so, send a POST request and pass the uaStrings array as JSON data along with it. The requests count per round will be equal to total User-Agent strings passed. Here is an example:

$ curl --location --request POST 'https://api.apifreaks.com/v1.0/user-agent/lookup?apiKey=API-KEY' --header 'Content-Type: application/json' --data-raw '{ "uaStrings": ["Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36", "Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+", "Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)"] }'

Pricing

To use the user-agent parser API, API credits are required. Charges apply only for successful queries, defined by a 2xx status code. If a request results in a 4xx or 5xx status code, no credits will be deducted, and any credits already charged will be refunded. Credits are applied based on each user-agent string you pass in your request. If an error occurs while parsing the user-agent, credits will be refunded for that user-agent string, and you will only be charged for successful parsing of user-agent strings.

ServiceCredits
Bulk User-Agent1 credit per successful parsing of user-agent string

Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.

Price Estimation Calculator