IP Geolocation API Javascript SDK

In this document, you will go through the basic steps to use IP Geolocation API JavaScript SDK.

You need a valid 'IPGeolocation API key' to use this SDK. Sign up here and get your free API key if you don’t have one.

System Requirements

Internet connection is required to run this component.

Installation

NPM

npm

$ npm install ip-geolocation-api-javascript-sdk

Basic Usage

Setup API

javascript

var IPGeolocationAPI = require('ip-geolocation-api-javascript-sdk');

// Create IPGeolocationAPI object. Constructor takes two parameters.
// 1) API key (Optional: To authenticate your requests through "Request Origin", you can skip it.)
// 2) Async (Optional: It is used to toggle "async" mode in the requests. By default, it is true.)
var ipgeolocationApi = new IPGeolocationAPI("YOUR_API_KEY", false); 
                                 

Geolocation Lookup

javascript

// Function to handle response from IP Geolocation API
function handleResponse(json) {
console.log(json);
}

var GeolocationParams = require('ip-geolocation-api-javascript-sdk/GeolocationParams.js');

// Get complete geolocation for the calling machine's IP address
ipgeolocationApi.getGeolocation(handleResponse);

// Get complete geolocation in Russian** for IP address (1.1.1.1)
var geolocationParams = new GeolocationParams();
geolocationParams.setIPAddress('1.1.1.1');
geolocationParams.setLang('ru');

ipgeolocationApi.getGeolocation(handleResponse, geolocationParams);

// Get custom geolocation (only "geo, time_zone and currency" fields/objects) for an IP address (1.1.1.1)
var geolocationParams = new GeolocationParams();
geolocationParams.setIPAddress('1.1.1.1'); 
geolocationParams.setFields('geo,time_zone,currency');

ipgeolocationApi.getGeolocation(handleResponse, geolocationParams);

// Exclude fields/obejects from complete geolocation in Italian language
var geolocationParams = new GeolocationParams();
geolocationParams.setExcludes('continent_name,country_code3,time_zone');
geolocationParams.setLang('it');

ipgeolocationApi.getGeolocation(handleResponse, geolocationParams);

Bulk Geolocations Lookup

javascript

// Query geolocation in German** for multiple IP addresses and all fields
var geolocationParams = new GeolocationParams();
geolocationParams.setLang('de');
geolocationParams.setIPAddresses(['1.1.1.1', '2.2.2.2', '3.3.3.3']);

ipgeolocationApi.getGeolocation(handleResponse, geolocationParams);

// Specify the required fields/objects for multiple IP addresses
var geolocationParams = new GeolocationParams();
geolocationParams.setIPAddresses(['1.1.1.1', '2.2.2.2', '3.3.3.3']);
geolocationParams.setFields('geo');

ipgeolocationApi.getGeolocation(geolocationParams, geoResponse);
                            

Timezone API

javascript

var TimezoneParams = require('ip-geolocation-api-javascript-sdk/TimezoneParams.js');

// Get time zone information by time zone ID
var timezoneParams = new TimezoneParams();
timezoneParams.setTimezone('America/Los_Angeles');

ipgeolocationApi.getTimezone(handleResponse, timezoneParams);

// Get time zone information by latitude and longitude of the location
var timezoneParams = new TimezoneParams();
timezoneParams.setCoordinates('37.1838139', '-123.8105225');

ipgeolocationApi.getTimezone(handleResponse, timezoneParams);

// Get time zone information for IP address (1.1.1.1) and geolocation information Japanese**
var timezoneParams = new TimezoneParams();
timezoneParams.setIPAddress('1.1.1.1');

ipgeolocationApi.getTimezone(handleResponse, timezoneParams);

// Query time zone information for calling machine's IP address
ipgeolocationApi.getTimezone(handleResponse);

** IPGeolocation provides geolocation information in the following languages:

  • English (en)
  • German (de)
  • Russian (ru)
  • Japanese (ja)
  • French (fr)
  • Chinese Simplified (cn)
  • Spanish (es)
  • Czech (cs)
  • Italian (it)
  • Persian (fa)
  • Korean (ko)

By default, geolocation information is returned in English. Response in a language other than English is available to paid users only.

Source Code

The complete source code for this SDK is available at Github and NPM.