httpagentparser
Extracts OS Browser etc information from http user agent string
Decision gist · record as of 2026-08-14
Yes. The package is lightweight, actively maintained, has no dependencies, and solves a straightforward parsing task. MIT licensing removes legal friction. Use it when you need quick OS and browser detection from User-Agent strings without the complexity of a full-featured parser. Verify that its detection accuracy meets your application's tolerance before relying on it for critical decisions.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with no runtime dependencies.
- Actively maintained with a recent release in March 2026 and steady repository activity.
License · maintenance · safety
(unclear) — Licensed under the MIT License, which permits unrestricted use, modification, and distribution with only attribution and liability disclaimer requirements.
last release 2026-03-08 (159 days) · last repo commit 2026-03-13 · 225 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 509,023 downloads/mo, #6,274 on PyPI
Alternatives
Verify before relying
import httpagentparser
s = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.11 Safari/532.9"
print(httpagentparser.simple_detect(s)) # ('Linux', 'Chrome 5.0.307.11')
print(httpagentparser.detect(s)) # {'os': {'name': 'Linux'}, 'browser': {'version': '5.0.307.11', 'name': 'Chrome'}}- Whether the parser handles modern User-Agent formats (e.g., the Sec-CH-UA header structure introduced in recent browsers)
- Coverage and accuracy rates for less common operating systems and browsers
- Performance characteristics when parsing high volumes of User-Agent strings
What it is and what it does
httpagentparser is a lightweight User-Agent string parser that extracts operating system and browser information from HTTP User-Agent headers. It provides two detection modes: a simple function that returns a tuple of OS and browser name/version, and a more detailed function that returns a structured dictionary with separate OS, browser, and distribution information.
The package has no external runtime dependencies and is designed for speed and simplicity rather than comprehensive feature coverage. It supports Python 3.6 and later, has been actively maintained since 2009, and receives regular updates. The library is useful in web applications, analytics systems, and request logging where you need quick identification of client environment without the overhead of a full-featured agent parser.
Use it for
- Log client OS and browser information in web server request handlers or middleware
- Implement browser-specific feature detection or compatibility warnings in web applications
- Analyze traffic patterns by operating system and browser type in analytics pipelines
- Serve device-appropriate content or styling based on detected OS and browser
- Generate reports on client environment distribution for web application monitoring
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is lightweight, actively maintained, has no dependencies, and solves a straightforward parsing task. MIT licensing removes legal friction. Use it when you need quick OS and browser detection from User-Agent strings without the complexity of a full-featured parser. Verify that its detection accuracy meets your application's tolerance before relying on it for critical decisions.
Install
httpagentparser on PyPI
Before you install
Low install friction with no runtime dependencies. Actively maintained with a recent release in March 2026 and steady repository activity.
License in practice
Licensed under the MIT License, which permits unrestricted use, modification, and distribution with only attribution and liability disclaimer requirements.
Quickstart
import httpagentparser
s = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.11 Safari/532.9"
print(httpagentparser.simple_detect(s)) # ('Linux', 'Chrome 5.0.307.11')
print(httpagentparser.detect(s)) # {'os': {'name': 'Linux'}, 'browser': {'version': '5.0.307.11', 'name': 'Chrome'}}
Verify before relying
- Whether the parser handles modern User-Agent formats (e.g., the Sec-CH-UA header structure introduced in recent browsers)
- Coverage and accuracy rates for less common operating systems and browsers
- Performance characteristics when parsing high volumes of User-Agent strings
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 159 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 509,023 / month, #6,274 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3 |
Evidence: httpagentparser-1.9.9-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “http user agent detection”
- httpagentparserParses HTTP User-Agent strings to extract and identify the operating…
- crawlerdetectIdentifies bots, crawlers, and spiders by analyzing user agents and…
- user-agentsParses browser user agent strings to identify device type (mobile,…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also ua-parser · device-detector · crawlerdetect · latest-user-agents · woothee · fake-useragent · fake-headers · user-agents · django-user-agents · ua-parser-rs