user

Eslam Zedan

2 Mar 2022

Get user location (city - country) from his IP address

Laravel

Hello,

I want to get the user location (city - country) from his IP address in Laravel so I can store where he logged in 

any recommendations?

Comments

Mohamed Atef

3 Mar 2022

githubgithubgithub

You can use //ipinfo.io/ to get the location details using the IP address in Laravel you can use it easily using GET request to the endpoint like 

//ipinfo.io/[IP_ADDRESS]?token=TOKEN_HERE

so in Laravel you can use $req->ip(); to get the IP address of the requests then using HTTP class you can it the endpoint with GET method so the controller will be like 

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Http;

class users_controller extends Controller {

 protected function create(Request $req){
 $ip = $req->ip();
 $res = Http::get('//ipinfo.io/'.$ip.'?token=[YOUR_TOKEN]');
 $city = $res['city'];
 $country = $res['country'];
 return $city .' '. $country;
 }
}

Good luck 

Shilpa

3 Mar 2022

github

There are lots of IP API provider services available in the market. You can use any of them, but make sure below things.

  1. How many hits they are giving? free vs paid hits
  2. What is the price for each hit?
  3. What is your user interaction ratio and how many hits do you need per day?
  4. Check the accuracy before buying a package or going live with the API!
  5. Check the stability of the service you are using and user reviews for that website. Some might get down within a year or two, so avoid it.
  6. Check if the website you are choosing is available in your target country or not!

Here is the list of popular IP, City, State, Country, and ISP providers:

//ipapi.co/ ←----- Recommended

//ipapi.com/

//ip-api.com/

//ipwhois.io/

For laravel code, you can use answer given by Mohamed Atef above.

Hope above given information will help you.

 

© 2024 Copyrights reserved for web-brackets.com