Browser · Device · Bot detection

User Agent API

Turn browser strings
into useful JSON.

Identify the browser, operating system and device behind a request. Add readable fields to support logs and analytics, and recognize known crawler signatures.

Try your browser without a key. Start free.

GET /useragent

Reading your browser…

From a string to structured fields

See the request.
Use the whole answer.

Start with the browser making the request, or parse a string from your logs. Paid plans include the available device or crawler details automatically.

Read the browser making the request.

GET /useragent parses the request headers without an API key. Authenticated paid plans include available versions and device details automatically. This example sends a Chrome User-Agent.

Request

curl "https://api.parseapi.com/useragent" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-API-Version: 2.1.0" \
  -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"

Example response

JSON200 OK
{
  "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
  
    "type": "desktop",
    "brand": "Apple",
    "model": null,
    "cpu": null,
    "touchscreen": false
  },
  
    "name": "macOS",
    "version": "10.15.7",
    "platform": null
  },
  
    "name": "Chrome",
    "version": "131.0.0.0",
    "type": "browser"
  },
  "bot": false,
  "mobile": false,
  
    "name": "Blink",
    "version": null
  },
  "headless": false
}

Highlighted fields: Included on paid plans.

Full API reference

Included on paid plans

A device code.
A readable model.

Give support teams device names they can use. Paid plans turn recognized model codes into brand and model details, alongside browser versions, operating-system versions and rendering engines.

From the Android example above

SM-G998B

Samsung
Galaxy S21 Ultra 5G

Android 12 · Chrome Mobile · Blink

Keep Client Hints with the original request

Reduced browser strings can omit device and version details. Forward the original User-Agent and its Client Hints together to make the supplied information available.

Give crawler traffic a name

Known bot signatures get a readable name in core. Paid plans include the recorded category and vendor, plus AI and headless flags for the relevant signature.

Understand the signals

Use what the string
can tell you.

Detection recognizes the patterns in the input you supply. Keep unknown fields and the caller's claimed identity in view when building reports or support tools.

Unknown facts stay visible
Browser, OS, model or version can be null. Unclassified device strings use the desktop fallback; treat it as a classification, not a hardware guarantee.
Recognized signatures are useful labels
User-Agent strings can be copied. A bot flag recognizes a signature and does not authenticate the sender; an unrecognized bot can still look like a browser.
Details depend on the available evidence
Client Hints can fill gaps in reduced strings. Exact hardware and software versions are available only when the input and detection rules support them.

The User Agent directory

Explore the names
behind the strings.

Browse recorded browsers, operating systems, device families and bots. Each directory profile brings examples and historical ParseAPI request counts together.

The archive describes traffic parsed by ParseAPI, rather than current browser market share.

From your first call to your application

Send the string.
Keep the useful fields.

Copy the HTTP request above. Use your API key for strings from your logs, or connect the same lookup through an SDK or MCP.

HTTP, eight SDK languages and MCP

The reference covers request headers, parameters, complete JSON and errors. SDKs offer the useragent method; MCP exposes the useragent tool for agent workflows.

Before you build.

Can I try it without an API key?

Yes. Bare GET /useragent parses the User-Agent and Client Hints sent with that request without a key. Parsing another string with ?ua= requires a key. The demo uses a ParseAPI demo key for pasted strings.

What do paid plans include?

Paid plans automatically include device brand and model, browser and operating-system versions, rendering engine and headless signals. Known bots instead get bot details and an AI flag. This detail is included within your API request allowance. Free and keyless requests retain the complete ordinary answer when extra access is unavailable.

Does a bot flag prove who sent the request?

User-Agent strings and Client Hints are claims supplied by the caller and can be copied. The bot, AI and headless signals recognize known signatures; they do not verify the sender or establish that an unrecognized visitor is human.

What happens when a string is unfamiliar?

The original string comes back with any recognized facts. Browser and operating system can be null. Unclassified device strings use the existing desktop fallback, so that value alone does not establish the physical device.

How do I use Client Hints?

Forward the original User-Agent with its Sec-CH-UA-* headers to GET /useragent. Only send hints you actually received. They can add detail omitted from reduced browser strings. The API does not return a per-result parser update date; exact model and version coverage depends on the supplied evidence and installed detection rules.

Can I use the directory as browser market share?

The linked directory contains historical strings parsed by ParseAPI and their recorded request counts. Those counts describe this archive, not current browser market share or a representative survey of web traffic.

User Agent API pricing

Start with your next request.

Your API request allowance is shared across ParseAPI products. Browser, OS, device and bot detection are on every plan. Paid plans include available profile detail automatically.

Free

Start free

The complete core parse.

Room to grow

See plans

Device, browser and crawler detail.