bkhim / laravel-geolocation
Laravel Geo Location package to get details for a given Ip Address
Requires
- php: >=8.2
- ext-json: *
- ext-openssl: *
- guzzlehttp/guzzle: ^6.0|^7.0
- illuminate/support: ~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^7.53
- phpunit/phpunit: ^9.6
This package is auto-updated.
Last update: 2025-07-22 09:03:33 UTC
README
This package is updated to be compatible with Laravel 12
Laravel package to get the details about Region, City and Country for a given IP Address.
This package is a wrapper for IpInfo Provider, however we have plan to implement a driver for MaxMind GeoIP2 databases.
Install
composer require bkhim/laravel-geolocation
The rest of the commands remain the same.
This package supports the latest version of Laravel (v12).
As of Laravel 5.5 there is no need to add the ServiceProvider within the AppServiceProvider
array.
Laravel loads this provider using Package Discovery.
Usage
There is no need to additional setup to start using, once you install it via composer you can call the Facade:
<?php use Adrianorosa\GeoLocation\GeoLocation; $details = GeoLocation::lookup('8.8.8.8'); echo $details->getIp(); // 8.8.8.8 echo $details->getCity(); // Mountain View echo $details->getRegion(); // California echo $details->getCountry(); // United States echo $details->getLatitude(); // 37.386 echo $details->getLongitude(); // -122.0838 var_dump($details->toArray()); // Array // ( // [city] => Mountain View // [region] => California // [country] => United States // [countryCode] => US // [latitude] => 37.386 // [longitude] => -122.0838 //)
Console Command
To display details about an Ip or Your current network Ip Address you may use the artisan command:
php artisan geolocation:lookup --ip 8.8.8.8 +---------+---------------+------------+----------------+-------------+----------+-----------+ | ip | city | region | country | countryCode | latitude | longitude | +---------+---------------+------------+----------------+-------------+----------+-----------+ | 8.8.8.8 | Mountain View | California | Estados Unidos | US | 37.386 | -122.0838 | +---------+---------------+------------+----------------+-------------+----------+-----------+
Override Configuration and translations
This package comes with a little configuration for IpInfo and translations for Country Names.
You can stick with default values, which works fine, or publish using the following commands:
Publish all config and translations
php artisan vendor:publish
Publish config
php artisan vendor:publish --tag=geolocation-config
Publish translations
php artisan vendor:publish --tag=geolocation-translations
Author
Adriano Rosa (https://adrianorosa.com)
Updated by
Blancos Khim (https://github.com/bkhim)
Licence
Copyright © 2025, Adriano Rosa info@adrianorosa.com All rights reserved.
For the full copyright and license information, please view the LICENSE file that was distributed within the source root of this project.