Skip to content
The simplest possible way to get IP geolocation information.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
test
.npmignore
.travis.yml
README.md
index.js
package-lock.json
package.json

README.md

node-simple-geoip

NPM Version NPM Downloads Build Status

The simplest possible way to get IP geolocation information in Node.

Email Verifier Icon

Meta

Prerequisites

To use this library, you'll need to create a free GeoIPify account: https://geoipify.whoisxmlapi.com/

If you haven't done this yet, please do so now.

Installation

To install simple-geoip using npm, simply run:

$ npm install simple-geoip

In the root of your project directory.

Usage

Once you have simple-geoip installed, you can use it to easily find the physical location of a given IP address.

This library gives you access to all sorts of geographical location data that you can use in your application in any number of ways.

const GeoIP = require("simple-geoip");

let geoIP = new GeoIP("your-api-key");
geoIP.lookup("8.8.8.8", (err, data) => {
  if (err) throw err;
  console.log(data);
});

Here's the sort of data you might get back when performing a geoip lookup request:

{
  "ip": "8.8.8.8",
  "location": {
    "country": "US",
    "region": "California",
    "city": "Mountain View",
    "lat": 37.40599,
    "lng": -122.078514,
    "postalCode": "94043",
    "timezone": "-08:00"
  }
}

By default, this library handles retrying failed HTTP requests for you. For instance: if the geoip API service is currently down or having issues, your request will be retried up to five consecutive times before failing.

This can add more request time, and may not be what you want in all cases.

If you'd prefer to lower the amount of retries that this library will perform on your behalf, you can pass in a retries option like so:

const GeoIP = require("simple-geoip");

let geoIP = new GeoIP("your-api-key", { retries: 2 });

Changelog

0.1.1: 05-06-2018

  • Updating dependencies to handle hoek vulnerability.

0.1.0: 04-16-2018

  • First release!
You can’t perform that action at this time.