A PHP desktop/mobile user agent parser with support for Laravel, based on Mobiledetect

Installs: 243 272

Dependents: 10

Stars: 524

Watchers: 29

Forks: 70

Open Issues: 4

Language: PHP

v2.2.1 2015-08-28 07:58 UTC


Latest Stable Version Total Downloads Build Status Coverage Status

A PHP desktop/mobile user agent parser with support for Laravel, based on Mobile Detect with desktop support and additional functionality.



Install using composer:

composer require jenssegers/agent

Laravel (optional)

Add the service provider in app/config/app.php:


And add the Agent alias to app/config/app.php:

'Agent' => 'Jenssegers\Agent\Facades\Agent',

Basic Usage

Start by creating an Agent instance (or use the Agent Facade if you are using Laravel):

use Jenssegers\Agent\Agent;

$agent = new Agent();

If you want to parse user agents other than the current request in CLI scripts for example, you can use the setUserAgent and setHttpHeaders methods:

$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');

All of the original Mobile Detect methods are still available, check out some original examples at https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples


Check for a certain property in the user agent.

$agent->is('OS X');

Magic is-method

Magic method that does the same as the previous is() method:


Mobile detection

Check for mobile device:


Match user agent

Search the user agent with a regular expression:


Additional Functionality

Accept languages

Get the browser's accept languages. Example:

$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']

Device name

Get the device name, if mobile. (iPhone, Nexus, AsusTablet, ...)

$device = $agent->device();

Operating system name

Get the operating system. (Ubuntu, Windows, OS X, ...)

$agent = $agent->platform();

Browser name

Get the browser name. (Chrome, IE, Safari, Firefox, ...)

$browser = $agent->browser();

Desktop detection

Check if the user is a desktop.


This checks if a user is not a mobile device, tablet or robot.

Robot detection

Check if the user is a robot.


Robot name

Get the robot name. Note: this currently only works for major robots like Google, Facebook, Twitter, Bing, Baidu etc ...

$robot = $agent->robot();

Browser/platform version

MobileDetect recently added a version method that can get the version number for components. To get the browser or platform version you can use:

$browser = $agent->browser();
$version = $agent->version($browser);

$platform = $agent->platform();
$version = $agent->version($platform);

Note, the version method is still in beta, so it might not return the correct result.


Laravel User Agent is licensed under The MIT License (MIT).