This documentation covers a lightweight Node.js module designed for interacting with a geolocation data API. The module enables efficient retrieval of location details for specific IP addresses, utilizing native modules for optimal performance.
We utilize the MaxMind database via the geoip-lite2 module for our API.
There is an alternative to this module that allows for local geolocation retrieval based on a specific IP address. However, this will increase the memory usage because the alternative module stores the MaxMind database in RAM.
npm install geoip2-api
const geoIp = require('geoip2-api');
(async () => {
const data = await geoIp.get('185.21.84.216');
console.log(data);
});
{
"success": true,
"status": 200,
"ip": "185.21.84.216",
"data": {
"range": [3105182720, 3105183743],
"country": "PL",
"region": "30",
"eu": "1",
"timezone": "Europe/Warsaw",
"city": "Piลa",
"ll": [53.1492, 16.7461],
"metro": 0,
"area": 20
},
"type": "unicast"
}
If you want to get the client's geolocation, instead of providing an IP, use /api/v2/geoip/myip
.
For any questions or issues related to the script, please visit the GitHub repository for the latest updates and support.
If you like this module, please star โญ the repository.
This GeoIP API client script is provided under the MIT License. See the LICENSE file for more details.
Copyright 2023-2024 ยฉ by Sefinek. All Rights Reserved.