https://github.com/whois-api-llc/express-simple-geoip
The simplest geolocation middleware for Express that sets location data on the request object.
https://github.com/whois-api-llc/express-simple-geoip
expressjs geolocation-api ip ip-geolocation ip-geolocation-api nodejs whoisxmlapi
Last synced: about 2 months ago
JSON representation
The simplest geolocation middleware for Express that sets location data on the request object.
- Host: GitHub
- URL: https://github.com/whois-api-llc/express-simple-geoip
- Owner: whois-api-llc
- Created: 2018-04-18T16:41:32.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-09-21T08:07:36.000Z (over 3 years ago)
- Last Synced: 2025-10-04T23:34:53.029Z (8 months ago)
- Topics: expressjs, geolocation-api, ip, ip-geolocation, ip-geolocation-api, nodejs, whoisxmlapi
- Language: JavaScript
- Homepage: https://ip-geolocation.whoisxmlapi.com/api
- Size: 21.5 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# express-simple-geoip
[](https://npmjs.org/package/express-simple-geoip)
[](https://npmjs.org/package/express-simple-geoip)
[](https://travis-ci.org/whois-api-llc/express-simple-geoip)
*The simplest geolocation middleware for Express that sets location data on the
request object.*

## Meta
- Author: Randall Degges
- Email: r@rdegges.com
- Twitter: [@rdegges](https://twitter.com/rdegges)
- Site: https://www.rdegges.com
- Status: production ready
## 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](https://www.npmjs.org/), simply run:
```console
$ 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.
```javascript
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*):
```json
{
"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](https://github.com/whois-api-llc/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!