A Powerful IP Address Information Lookup Package for Laravel

Jul 24, 2023

Github Repo

Managing and retrieving detailed information about IP addresses can be crucial for various web applications. Whether it's for enhancing user experience, geo-targeting content, or ensuring security measures, having access to accurate IP address data is essential. Today, I am thrilled to introduce you to the IpApi package, a remarkable solution that simplifies IP address information lookup for Laravel projects.

What is IpApi?

IpApi is a user-friendly Laravel package that leverages the ip-api.com API to provide developers with an effortless way to fetch comprehensive details about IP addresses. With this package, you can obtain various attributes associated with an IP address, such as geographical location, time zone, currency, and more.


To utilize the full potential of IpApi, ensure that your Laravel application meets the following prerequisites:


Getting started with IpApi is a breeze. You can install the package via Composer by executing the following command:

composer require el-factory/ip-api


Customizing the package's default settings is possible by publishing the configuration file. To do this, use the following artisan command:

php artisan vendor:publish --tag=ip-api-config

This will create an ip-api.php file within your Laravel application's config directory, allowing you to modify configuration values as per your specific needs.


Using IpApi to perform an IP address lookup is straightforward. Simply employ the lookup method on the IpApi class with the IP address you wish to investigate:

use ElFactory\IpApi\IpApi;

$ipDetails = IpApi::default('')->lookup();

The result will be an array containing detailed information about the provided IP address.

Advanced Configuration

IpApi also offers additional methods to further customize your IP address lookup:

  1. fields(array $fields): IpApi: Set the fields to be included in the API response.
  2. usingKey(string $apiKey): IpApi: Set a specific API key for a particular request.
  3. retry(int $times, int $sleep): IpApi: Configure retry attempts for failed API requests.
  4. lang(string $language): IpApi: Set the language for the API response.
  5. withHeaders(): IpApi: Include request limit and remaining requests headers in the API response.

Console Command - ip-api:connection

To facilitate testing connections to the ip-api.com API, IpApi comes with a convenient console command, ip-api:connection. It allows you to test the API connection with a specific IP address or your public IP address if not provided.

Exception Handling

The IpApi package is equipped with exception handling to address potential issues, such as invalid or reserved IP addresses, and errors during API requests.


By integrating the IpApi package into your Laravel projects, you can effortlessly retrieve detailed information about IP addresses, making it easier to enhance user experience and implement various location-based functionalities. This package streamlines the process, ensuring accuracy and efficiency in handling IP address data.