PHPackages                             masoudi/laravel-visitors - 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. masoudi/laravel-visitors

ActiveLibrary

masoudi/laravel-visitors
========================

Laravel package for tracking visitors

1.1(2y ago)373.1k↓50%3[1 PRs](https://github.com/rezamasoudi/laravel-visitors/pulls)MITPHPPHP ^8.0

Since Oct 2Pushed 1y ago1 watchersCompare

[ Source](https://github.com/rezamasoudi/laravel-visitors)[ Packagist](https://packagist.org/packages/masoudi/laravel-visitors)[ Docs](https://github.com/rezamasoudi/laravel-visitors)[ RSS](/packages/masoudi-laravel-visitors/feed)WikiDiscussions main Synced 1mo ago

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

[![Latest Version on Packagist](https://camo.githubusercontent.com/270fc802b936adcfd946b267f9e9063f849f3bb151d9bcdddea164b03edc8a83/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d61736f7564692f6c61726176656c2d76697369746f72732e7376673f7374796c653d666c6174)](https://packagist.org/packages/masoudi/laravel-visitors)[![Total Downloads](https://camo.githubusercontent.com/0d61ce74e6b54902a6b3d8fd10b00b31668a5af01d1ed42527c3331028eb6e6f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d61736f7564692f6c61726176656c2d76697369746f72732e7376673f7374796c653d666c6174)](https://packagist.org/packages/masoudi/laravel-visitors)[![License: MIT](https://camo.githubusercontent.com/59497bc4563dd468e37bbf539439e60cacf196f537f678b721a8efabf21c64ef/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c6174)](https://opensource.org/licenses/MIT)

[![](https://private-user-images.githubusercontent.com/109284641/269663705-e2e56ec9-794c-4fd6-96a3-6125c64cf9ab.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MzUzNjAsIm5iZiI6MTc3NDQzNTA2MCwicGF0aCI6Ii8xMDkyODQ2NDEvMjY5NjYzNzA1LWUyZTU2ZWM5LTc5NGMtNGZkNi05NmEzLTYxMjVjNjRjZjlhYi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMyNVQxMDM3NDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wYWE4MjdmZTZhZGVkM2EzNGI3NjAxN2JhMjdmMjdhYWUyOTYwMmI5YjVhMmRiYzlkN2FiYTRmNmEyNjYwMTZlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.eyg6JQ0XBWbiEpiWAqLDtD_cbPPvN6bYDvG7Vam8gMg)](https://private-user-images.githubusercontent.com/109284641/269663705-e2e56ec9-794c-4fd6-96a3-6125c64cf9ab.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MzUzNjAsIm5iZiI6MTc3NDQzNTA2MCwicGF0aCI6Ii8xMDkyODQ2NDEvMjY5NjYzNzA1LWUyZTU2ZWM5LTc5NGMtNGZkNi05NmEzLTYxMjVjNjRjZjlhYi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMyNVQxMDM3NDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wYWE4MjdmZTZhZGVkM2EzNGI3NjAxN2JhMjdmMjdhYWUyOTYwMmI5YjVhMmRiYzlkN2FiYTRmNmEyNjYwMTZlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.eyg6JQ0XBWbiEpiWAqLDtD_cbPPvN6bYDvG7Vam8gMg)Laravel Visitors
================

[](#laravel-visitors)

Laravel package to tracking visitors

Installation
------------

[](#installation)

Install package via Composer

```
composer require masoudi/laravel-visitors
```

Publish and migrate migration

```
php artisan vendor:publish --tag=masoudi-laravel-visitors
```

```
php artisan migrate
```

Prepare model to working with visitors

```
use Masoudi\Laravel\Visitors\Contracts\Visitable;
use Masoudi\Laravel\Visitors\Traits\InteractsWithVisitors;

class Article extends Model implements Visitable
{
    use InteractsWithVisitors;
}
```

Documentation
=============

[](#documentation)

- [Interact with all visitors](#interact-with-all-visitors)
- [Interact with model visitors](#interact-with-model-visitors)
- [Interact with A specific model visitors](#interact-with-a-specific-model-visitors)
- [Visit A model](#visit-a-model)
- [Visit a request](#visit-a-request)
- [Visit by add middleware](#Visit-by-add-middleware)
- [Retrieve visitors between two time](#retrieve-visitors-between-two-time)
- [Retrieve visitors by user id](#retrieve-visitors-by-user-id)
- [Retrieve visitors by platform name](#retrieve-visitors-by-platform-name)
- [Retrieve visitors by browser name](#retrieve-visitors-by-browser-name)
- [Retrieve visitors by IP start range](#retrieve-visitors-by-ip-start-range)
- [Retrieve visitors by IP end range](#retrieve-visitors-by-ip-end-range)
- [Retrieve visitors by referrers urls](#retrieve-visitors-by-referrers-urls)
- [Retrieve visitors by visit urls](#retrieve-visitors-by-visit-urls)

Interact with all visitors
--------------------------

[](#interact-with-all-visitors)

The function `visitors()` returns a query builder of all visitors so you can work with that as below

```
$totalVisits = visitors()->count();

// Get ip unique count
$totalUniqueVisits = visitors()->uniqueCount();
```

Interact with model visitors
----------------------------

[](#interact-with-model-visitors)

Every model that has used `InteractsWithVisitors` trait has a static method that returns a query builder specific to the visitors of that model.

```
$articlesVisitors = Article::visitors()->get();
```

Interact with A specific model visitors
---------------------------------------

[](#interact-with-a-specific-model-visitors)

Every model that has used `InteractsWithVisitors` trait has a public method that returns a query builder specific to the visitors of that model.

```
$article = Article::find(1);
$visitors = $article->visitors()->get();
```

Visit a model
-------------

[](#visit-a-model)

```
$article = Article::find(1);

# visit model
$article->visit();
```

Visit a request
---------------

[](#visit-a-request)

```
class PostController extends Controller {

    function index(Request $request){

        $request->visit();

        // Another codes ...
    }
}
```

Visit by add middleware
-----------------------

[](#visit-by-add-middleware)

After add `visitor` middleware to a route or group route when that route called , a visit will be created for that routes

```
// routes/web.php
Route::middleware("visitor")->get("/support", "PageController@support");

Route::middleware("visitor")->group(function (){
        Route::get("posts/{slug}", "PostController@index");
        Route::get("articles/{slug}", "ArticleController@index");
});
```

Retrieve visitors by user id
----------------------------

[](#retrieve-visitors-by-user-id)

```
$visiCount = visitors()->authId(auth()->id())->count();
```

Retrieve visitors between two time
----------------------------------

[](#retrieve-visitors-between-two-time)

```
$startTime = Carbon::now()->startOfMonth()->toDateTime();
$endTime  = Carbon::now()->toDateTime();

$visiCount = visitors()->range($startTime, $endTime)->count();
```

Retrieve visitors by platform name
----------------------------------

[](#retrieve-visitors-by-platform-name)

```
use Masoudi\Laravel\Visitors\Contracts\VisitorPlatform;

$visiCount = visitors()->platform(VisitorPlatform::ANDROID)->count();
```

Retrieve visitors by browser name
---------------------------------

[](#retrieve-visitors-by-browser-name)

```
use Masoudi\Laravel\Visitors\Contracts\VisitorBrowser;

$visiCount = visitors()->browser(VisitorBrowser::CHROME)->count();
```

Retrieve visitors by IP start range
-----------------------------------

[](#retrieve-visitors-by-ip-start-range)

```
$visiCount = visitors()->ipStarts('127.0')->count();
```

Retrieve visitors by IP end range
---------------------------------

[](#retrieve-visitors-by-ip-end-range)

```
$visiCount = visitors()->ipEnds('0.1')->count();
```

Retrieve visitors by referrers urls
-----------------------------------

[](#retrieve-visitors-by-referrers-urls)

```
$visiCount = visitors()->referrers('https://google.com', 'https://facebook.com')->count();
```

Retrieve visitors by visit urls
-------------------------------

[](#retrieve-visitors-by-visit-urls)

```
$visiCount = visitors()->paths('/support', '/articles/any-slug')->count();
```

[CHANGELOG](CHANGELOG.md) • [LICENSE](LICENSE.md)

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.8% 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

Unknown

Total

1

Last Release

953d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7b448d28b1a97c9360d8d55b242f3d65142fc4c2e8daf6b0adfefcfd21cf5f7d?d=identicon)[reza\_masoudi](/maintainers/reza_masoudi)

---

Top Contributors

[![rezamasoudi](https://avatars.githubusercontent.com/u/109284641?v=4)](https://github.com/rezamasoudi "rezamasoudi (15 commits)")[![taha-moghaddam](https://avatars.githubusercontent.com/u/3314387?v=4)](https://github.com/taha-moghaddam "taha-moghaddam (1 commits)")

---

Tags

chartlaravelpackagevisitorlaravelpackagevisitors

### Embed Badge

![Health badge](/badges/masoudi-laravel-visitors/health.svg)

```
[![Health](https://phpackages.com/badges/masoudi-laravel-visitors/health.svg)](https://phpackages.com/packages/masoudi-laravel-visitors)
```

###  Alternatives

[awssat/laravel-visits

Laravel Redis visits counter for Eloquent models

975163.6k2](/packages/awssat-laravel-visits)[joisarjignesh/bigbluebutton

BigBlueButton Server API Library for Laravel

162145.5k1](/packages/joisarjignesh-bigbluebutton)[threesquared/laravel-paymill

Laravel wrapper for the Paymill API

121.3k](/packages/threesquared-laravel-paymill)

PHPackages © 2026

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