Skip to content
//User-Agent Parser example\\

Parse a mixed list of browsers, devices and bots

Desktop, phone, tablet, TV, console and in-app browsers plus search bots, AI crawlers and HTTP clients, with repeats merged.

Updated November 13, 2026

What this example returns

The dataset’s “Parsed User-Agents” view shows 23 columns: User-Agent, Count, Bot, Bot name, Bot category, Bot producer, Bot info, AI bot, Browser / app, Version, Major, Client type, Engine, Engine version, OS, OS version, OS family, Device type, Brand, Model, Mobile, CPU, and Recognized. See every output field.

What each setting does

The input this example runs User-Agent Parser with. “Try this input” opens it in the console, where you can run it as-is or change any field first.

User-Agent strings userAgents

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.2903.86, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWe…

One User-Agent string per entry: from browser headers, analytics exports, log files or your own app. Each string becomes one row with browser, OS, device, engine, CPU and a bot verdict. `userAgent` (a single string) is accepted too.

Merge repeated strings deduplicate

Yes

On: one row per distinct User-Agent, with how often it appeared in `count` (you pay once per distinct string). Off: one row per entry, in input order.

Bots botFilter

Keep all rows

Keep only bot rows (e.g. to spot AI crawlers in your logs) or only real browsers and apps. Rows left out are not charged.

.json
{
  "userAgents": [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.2903.86",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15",
    "Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0",
    "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1",
    "Mozilla/5.0 (iPad; CPU OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",
    "Mozilla/5.0 (Linux; Android 14; SM-S918B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36",
    "Mozilla/5.0 (Linux; Android 11; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
    "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36 Instagram 330.0.0.40.92 Android",
    "Mozilla/5.0 (SMART-TV; Linux; Tizen 6.0) AppleWebKit/537.36 (KHTML, like Gecko) 76.0.3809.146/6.0 TV Safari/537.36",
    "Mozilla/5.0 (PlayStation; PlayStation 5/2.26) AppleWebKit/605.1.15 (KHTML, like Gecko)",
    "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
    "Mozilla/5.0 (compatible; GPTBot/1.2; +https://openai.com/gptbot)",
    "curl/8.4.0",
    "  Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36  ",
    "-",
    "ab"
  ],
  "deduplicate": true,
  "botFilter": "all"
}

What it costs

You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices: compute, proxies, browser and storage cost nothing extra.

  • User-Agent parsedfrom $0.00027One saved row: a User-Agent string parsed into browser, engine, OS, device, CPU and bot columns. Entries that are not User-Agents, log lines without one and rows left out by the bot filter are free.

Full pricing

When to use this example

From the User-Agent Parser readme:

Why is a field empty?

User-Agents only carry what the client puts in them. Desktop strings name no device model; iPhones do not name the CPU; Chrome freezes parts of its version and platform (the finer details live in separate Client Hints headers, which are not part of the string); crawlers have no browser or device. Empty means the string does not say, not that parsing failed. recognized: false marks strings nothing matched at all; they are still parsed and charged.

Known limit

count with merging on is over the whole input of the run.

Other ways to run User-Agent Parser

All examples of User-Agent Parser

About User-Agent Parser

Parse User-Agent strings in bulk into browser, version, OS, device type, brand and model, rendering engine and CPU, plus a bot verdict with the bot's name and category (search engines, AI crawlers, monitors, HTTP clients, headless browsers). Paste strings, raw access-log lines or a dataset. No login or API key needed.

Price:
from $0.27 / 1,000 results
Developer:
Querystone

User-Agent Parser pageOutput fieldsPricing

Related actors

//From the blog\\

Latest articles

All articles

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.