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.
Internet connection is required to run this component.
$ npm install ip-geolocation-api-javascript-sdk
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);
// 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);
// 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);
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:
By default, geolocation information is returned in English. Response in a language other than English is available to paid users only.
The complete source code for this SDK is available at Github.