User Agent Lookup

Quickly lookup up details about your visitor’s User Agent String, and converts it into easy to understand data.


ApiStacks uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard.

Your API keys carry many privileges. To keep them from being abused, please do not share the keys on client-side code or Github etc. Keep them very secure.

All requests made to the API must contain the parameter api_key in each of your requests. API requests without authentication will fail.

All API requests must also be made over secure HTTPS. Requests made over plain HTTP may fail.


GET /getuseragent

api_key (required)

In your Request URL, provide the API Key found within your Dashboard

ua (required)

The user agent string you want to look up. The User-Agent query string MUST be URL Encoded first:

Won’t Work:

Mozilla/5.0 (Linux Android 6.0.1= SM-G935S Build/MMB29K= wv)

Will Work: Mozilla%2F5.0%20%28Linux%20Android%206.0.1%3D%20SM-G935S%20Build%2FMMB29K%3D%20wv%29

Premium Parameters

These parameters require a paid subscription to modify

response_type (optional)

Set to “JSON”, “XML”, or “YAML” depending what type of response you want from the API.

Want to test this API and get live results?

Sample Request

curl --request GET \
--url '{APIKEY}&ua={Encoded_User_Agent}' \

Sample Response

    "status": "ok",
    "timestamp": 1609518918606,
    "data": {
        "ua": "Mozilla/5.0 (Linux Android 6.0.1= SM-G935S Build/MMB29K= wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36=",
        "browser": {
            "name": "Chrome WebView",
            "version": "55.0.2883.91",
            "major": "55"
        "engine": {
            "name": "Blink",
            "version": "55.0.2883.91"
        "os": {
            "name": "Android",
            "version": "6.0.1"
        "device": {
            "vendor": "Samsung",
            "model": "SM-G935S",
            "type": "mobile"
        "cpu": {},
        "crawler": {
            "iscrawler": false

Rate Limiting

Each subscription has its own rate limit. Your limit is based on your subscription plan (free or paid). If you exceed your limits, don’t worry. You can always upgrade or downgrade at any time.

When you reach a rate limit (both daily and monthly), the service will stop responding and return an HTTP 429 response status code. The error will contain the following JSON string body text.

    "status": "fail",
    "data": "",
    "reason": "Usage limit reached. Please review/upgrade your account"

A reminder email will be sent to you when your API usage reaches 80% and 90% so that you can take immediate actions such as upgrading your plan in order to prevent your application using the API from being interrupted.

Error Codes

ApiStacks uses standard HTTP response codes to indicate the success or failure of an API request.

If the response code is not 200 Ok, it means the operation has failed. You can check the response for a field called ‘reason‘ that briefly explains what the error may be.

Status CodeReason
400The request was not complete or malformed. Parameters may be missing
401API key was not provided or was not valid
403Usage limit was likely reached or the app was not enabled in the dashboard
404API Endpoint does not exist
405Method is not allowed (Only use GET)
500An error occurred on our end