PHPackages                             pvpender/kagent - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. pvpender/kagent

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

pvpender/kagent
===============

Lightning fast, minimalist KPHP UserAgent string parser.

v1.0.2(3y ago)16MITPHPPHP &gt;=7.4

Since Jan 15Pushed 3y ago1 watchersCompare

[ Source](https://github.com/pvpender/KAgent)[ Packagist](https://packagist.org/packages/pvpender/kagent)[ RSS](/packages/pvpender-kagent/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (3)Used By (0)

KAgent
======

[](#kagent)

[![Total Downloads](https://camo.githubusercontent.com/79c462e71af673990729f91e78eb462b2dc86472c14df91978d0e9900212724a/687474703a2f2f706f7365722e707567782e6f72672f707670656e6465722f6b6167656e742f646f776e6c6f616473)](https://packagist.org/packages/pvpender/kagent)[![PHP Version Require](https://camo.githubusercontent.com/32fa09b5c3e1ce5de825a6da8a10438d401959ab58dbdeca67e39608574ce4bd/687474703a2f2f706f7365722e707567782e6f72672f707670656e6465722f6b6167656e742f726571756972652f706870)](https://packagist.org/packages/pvpender/kagent)[![Build Status](https://github.com/pvpender/KAgent/workflows/PHP/badge.svg?)](https://github.com/pvpender/KAgent/actions?query=workflow)

Simple library to parsing user-agent in KPHP.

[Download a latest package](https://github.com/pvpender/kagent/releases) or use [Composer](http://getcomposer.org/):

```
composer require pvpender/kagent

```

Requirements
============

[](#requirements)

Library require php 7.4 and the latest version of [KPHP](https://github.com/VKCOM/kphp)

Before starting
===============

[](#before-starting)

If you want to get an os version, user-agent **is not reliable source!**

However, there are several undetectable things:

- **Brave** browser
- **iPadOs 13+**

---

Usage
=====

[](#usage)

```
use pvpender\KAgent\UserAgentParser;

$parser = new UserAgentParser();
$ua = $parser->parse();
echo $ua->platform();
echo $ua->browser();
echo $ua->browserVersion();
```

You also can insert string in `parse()` method:

```
$parser = new UserAgentParser();
$ua = $parser->parse("Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident\/3.1; Xbox)");
//it's work
```

---

List of detecting platforms
===========================

[](#list-of-detecting-platforms)

ConstantPlatform`Platforms::MACINTOSH`Macintosh`Platforms::CHROME_OS`Chrome OS`Platforms::LINUX`Linux`Platforms::WINDOWS`Windows`Platforms::ANDROID`Android`Platforms::BLACKBERRY`BlackBerry`Platforms::FREEBSD`FreeBSD`Platforms::IPAD`iPad`Platforms::IPHONE`iPhone`Platforms::IPOD`iPod`Platforms::KINDLE`Kindle`Platforms::KINDLE_FIRE`Kindle Fire`Platforms::NETBSD`NetBSD`Platforms::NEW_NINTENDO_3DS`New Nintendo 3DS`Platforms::NINTENDO_3DS`Nintendo 3DS`Platforms::NINTENDO_DS`Nintendo DS`Platforms::NINTENDO_SWITCH`Nintendo Switch`Platforms::NINTENDO_WII`Nintendo Wii`Platforms::NINTENDO_WIIU`Nintendo WiiU`Platforms::OPENBSD`OpenBSD`Platforms::PLAYBOOK`PlayBook`Platforms::PLAYSTATION_3`PlayStation 3`Platforms::PLAYSTATION_4`PlayStation 4`Platforms::PLAYSTATION_5`PlayStation 5`Platforms::PLAYSTATION_VITA`PlayStation Vita`Platforms::SAILFISH`Sailfish`Platforms::SYMBIAN`Symbian`Platforms::TIZEN`Tizen`Platforms::WINDOWS_PHONE`Windows Phone`Platforms::XBOX`Xbox`Platforms::XBOX_ONE`Xbox OneList of detecting browsers
==========================

[](#list-of-detecting-browsers)

ConstantBrowser`Browsers::ADSBOT_GOOGLE`AdsBot-Google`Browsers::ANDROID_BROWSER`Android Browser`Browsers::APPLEBOT`Applebot`Browsers::BAIDUSPIDER`Baiduspider`Browsers::BINGBOT`bingbot`Browsers::BLACKBERRY_BROWSER`BlackBerry Browser`Browsers::BROWSER`Browser`Browsers::BUNJALLOO`Bunjalloo`Browsers::CAMINO`Camino`Browsers::CHROME`Chrome`Browsers::CURL`curl`Browsers::EDGE`Edge`Browsers::FACEBOOKEXTERNALHIT`facebookexternalhit`Browsers::FEEDVALIDATOR`FeedValidator`Browsers::FIREFOX`Firefox`Browsers::GOOGLEBOT`Googlebot`Browsers::GOOGLEBOT_IMAGE`Googlebot-Image`Browsers::GOOGLEBOT_VIDEO`Googlebot-Video`Browsers::HEADLESSCHROME`HeadlessChrome`Browsers::IEMOBILE`IEMobile`Browsers::IMESSAGEBOT`iMessageBot`Browsers::KINDLE`Kindle`Browsers::LYNX`Lynx`Browsers::MIDORI`Midori`Browsers::MIUIBROWSER`MiuiBrowser`Browsers::MSIE`MSIE`Browsers::MSNBOT_MEDIA`msnbot-media`Browsers::NETFRONT`NetFront`Browsers::NINTENDOBROWSER`NintendoBrowser`Browsers::OCULUSBROWSER`OculusBrowser`Browsers::OPERA`Opera`Browsers::PUFFIN`Puffin`Browsers::SAFARI`Safari`Browsers::SAILFISHBROWSER`SailfishBrowser`Browsers::SAMSUNGBROWSER`SamsungBrowser`Browsers::SILK`Silk`Browsers::TELEGRAMBOT`TelegramBot`Browsers::TIZENBROWSER`TizenBrowser`Browsers::TWITTERBOT`Twitterbot`Browsers::UC_BROWSER`UC Browser`Browsers::VALVE_STEAM_TENFOOT`Valve Steam Tenfoot`Browsers::VIVALDI`Vivaldi`Browsers::WGET`Wget`Browsers::WORDPRESS`WordPress`Browsers::YANDEX`Yandex`Browsers::YANDEXBOT`YandexBotBased on

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1215d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f0d8fbe8fbb5c6269c322f133b073cc912590bbd38f44dead4126a1441194d5d?d=identicon)[pvpender](/maintainers/pvpender)

---

Top Contributors

[![pvpender](https://avatars.githubusercontent.com/u/59583646?v=4)](https://github.com/pvpender "pvpender (22 commits)")

---

Tags

browserparseruseragentuser agentbrowser detection

### Embed Badge

![Health badge](/badges/pvpender-kagent/health.svg)

```
[![Health](https://phpackages.com/badges/pvpender-kagent/health.svg)](https://phpackages.com/packages/pvpender-kagent)
```

###  Alternatives

[donatj/phpuseragentparser

Lightning fast, minimalist PHP UserAgent string parser.

60417.1M60](/packages/donatj-phpuseragentparser)[matomo/device-detector

The Universal Device Detection library, that parses User Agents and detects devices (desktop, tablet, mobile, tv, cars, console, etc.), clients (browsers, media players, mobile apps, feed readers, libraries, etc), operating systems, devices, brands and models.

3.5k23.5M111](/packages/matomo-device-detector)[jenssegers/agent

Desktop/mobile user agent parser with support for Laravel, based on Mobiledetect

4.8k67.8M440](/packages/jenssegers-agent)[thadafinser/user-agent-parser

UserAgent parsing done right http://useragent.mkf.solutions/

249316.9k2](/packages/thadafinser-user-agent-parser)[foroco/php-browser-detection

Ultra fast PHP library to detect browser, OS, platform and device type by User-Agent parsing

1554.7M7](/packages/foroco-php-browser-detection)[eprofos/user-agent-analyzer

A powerful Symfony bundle for user-agent analysis. It provides accurate detection of operating systems (Windows, MacOS, Linux, iOS, Android...), browsers (Chrome, Firefox, Safari...), and device types (Desktop, Mobile, Tablet, TV...). Supports specific version detection and includes advanced handling of special cases like WebViews and compatibility modes. Features comprehensive logging and detailed analysis results.

182.3k](/packages/eprofos-user-agent-analyzer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
