Skip to content

The simplest geolocation middleware for Express that sets location data on the request object.

Notifications You must be signed in to change notification settings

whois-api-llc/express-simple-geoip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

express-simple-geoip

NPM Version NPM Downloads Build Status

The simplest geolocation middleware for Express that sets location data on the request object.

Email Verifier Icon

Meta

Prerequisites

To use this library, you'll need to create a free IP Geolocation account: https://ip-geolocation.whoisxmlapi.com/api

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

Installation

To install express-simple-geoip using npm, simply run:

$ npm install express-simple-geoip

In the root of your project directory.

Usage

Once you have express-simple-geoip installed, you can use it to easily get the physical location of a given IP address for every incoming HTTP request your web service gets.

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 express = require("express");
const simpleIP = require("express-simple-geoip");

let app = express();

app.use(simpleIP("your-api-key"));

app.get("/", (req, res) => {
  console.log(req.geoip);   // print the incoming requester's IP Geolocation data
  // ...
});

app.listen(3000);

If you run this minimal Express app and then visit the / URL, you'll see some geolocation data printed to the console that looks something like this (based on your inbound IP address):

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

This library is built on top of the excellent node-simple-geoip library. It will automatically tack IP Geolocation data onto each incoming req object as req.geoip.

So all you need to do in your code is:

  1. Initialize the simpleIP middleware, passing in your IP Geolocation API key
  2. Use the data found in req.geoip
  3. ???
  4. Profit!

Pretty simple, right?!

Changelog

0.1.1: 04-18-2018

  • Removing images from npm package.

0.1.0: 04-18-2018

  • First release!