If you need to know exactly who your visitors are and where they’re coming from, you can use ipstack to identify websites visitors. The great thing is, this service is free to use!

ipstack laravel

What is ipstack?

ipstack is a good service that offers one of the leading IP to geolocation APIs and global IP database services worldwide. ipstack real-time geolocation API service is used by thousands of developers, SMBs and large corporations all around the world, including some popular names, such as Microsoft, Samsung, Airbnb, etc.

Features

ipstack laravel

Know your visitors

Know where your customers access your website from and customize user experiences based on IP.

IPv4 and IPv6 Data

The API covers over 2 million unique locations in more than 200.000 cities around the world.

Rock-Solid Sources

Years of partnership with large ISPs ensure accurate and consistent data any day of the year.

Easy to scale

The ipstack API was built with scalability and ease of use in mind. Implementation takes less than 10 minutes and uptime is guaranteed.

Powerful & Scalable

From 100 requests a month to a million requests a day.

World-Class Documentation

An extensive API documentation and a quickstart guide will get you up and running within minutes.

Bank-Grade Security

All data sent to and processed by the ipstack API is secured via 256-bit SSL encryption (HTTPS).

JSON or XML

ipstack API can deliver results in JSON or XML format.

Documentation

You can read the official documentation on the ipstack website.

How to use

Register to get a free API key

You need to go to ipstack and register to get a free API key.

Using Raw PHP

You can use raw PHP to identify user IP. Here is the sample code (which can be found at ipstack documentation):

Standard Lookup: Find below an example for the Standard Lookup Endpoint using PHP cURL.

// set IP address and API access key 
$ip = '172.241.113.20';
$access_key = 'YOUR_ACCESS_KEY';

// Initialize CURL:
$ch = curl_init('https://api.ipstack.com/'.$ip.'?access_key='.$access_key.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Store the data:
$json = curl_exec($ch);
curl_close($ch);

// Decode JSON response:
$api_result = json_decode($json, true);

// Output the "capital" object inside "location"
echo $api_result['location']['capital'];

Using Laravel package

Here is a great Laravel package which we can use to easily check the IP:

First, install via composer

composer require pulkitjalan/geoip

There is a Laravel service provider and facade available.

Add the following to the providers array in your config/app.php

PulkitJalan\GeoIP\GeoIPServiceProvider::class

Next add the following to the aliases array in your config/app.php

'GeoIP' => PulkitJalan\GeoIP\Facades\GeoIP::class

Next run php artisan vendor:publish --provider="PulkitJalan\GeoIP\GeoIPServiceProvider" --tag="config" to publish the config file.

After that, to use the ipstack as the driver set the config:

Example:

$config = [
    'driver' => 'ipstack',
    'ipstack' => [
        'key' => 'YOUR IPSTACK KEY',
    ],
];

Finally, you can use ipstack like this:

<?php

use PulkitJalan\GeoIP\GeoIP

$geoip = new GeoIP();

$lat = $geoip->getLatitude(); // 51.5141
$lon = $geoip->getLongitude(); // -3.1969

The geoip class takes a config array as the first parameter or defaults to use the ip-api driver.

Source Code of the package:

https://github.com/pulkitjalan/geoip

If this post was helpful, please share this post to your friends and don't forget to follow our Facebook and Twitter pages!