ipapi.co

IP address to location mapping service. Free & paid API for a secure, fast & reliable IP lookup (city, country, latitude, longitude, timezone) - https://ipapi.co

Usage no npm install needed!

<script type="module">
  import ipapiCo from 'https://cdn.skypack.dev/ipapi.co';
</script>

README

Node.js + ipapi (IP address location API)

Installation

npm install ipapi.co

Usage

From Node.js REPL

var ipapi = require('ipapi.co');

var callback = function(loc){
    console.log(loc);
};

ipapi.location(callback)       // Complete location for your IP address
> { 
    ip: '50.1.2.3',
    city: 'Wilton',
    region: 'California',
    country: 'US',
    postal: 95693,
    latitude: 38.3926,
    longitude: -121.2429,
    timezone: 'America/Los_Angeles' 
  }


ipapi.location(callback, '', '', 'ip')         // Your external IP address
50.1.2.3

ipapi.location(callback, '', '', 'city')       // Your city
Wilton

ipapi.location(callback, '', '', 'country')    // Your country
US

ipapi.location(callback, '8.8.8.8')            // Complete location for IP address 8.8.8.8
> { 
    ip: '8.8.8.8',
    city: 'Mountain View',
    region: 'California',
    country: 'US',
    postal: '94035',
    latitude: 37.386,
    longitude: -122.0838,
    timezone: 'America/Los_Angeles' 
}

ipapi.location(callback, '8.8.8.8', '', 'city')       // City for IP address 8.8.8.8
Mountain View

ipapi.location(callback, '8.8.8.8', '', 'country')       // Country for IP address 8.8.8.8
US

With API Key

API key can be specified in the following ways :

  1. Inside ipapi.js by setting API_KEY variable
  2. As a function argument e.g. ipapi.location(callback, '8.8.8.8', 'secret-key')

Function arguments

  • Optional arguments (e.g. IP address, key, field) can be an empty string '' or undefined