Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 2.61 KB

README.md

File metadata and controls

83 lines (62 loc) · 2.61 KB

🗺️ GeoIP Lite 2: API Wrapper

The number of downloads Last commit Issues Commit activity Code size

📝 Information

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.

💻 Locally

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.

geoip-lite2 on npm

📥 Installation

npm install geoip2-api

😎 Example

const geoIp = require('geoip2-api');

(async () => {
    const data = await geoIp.get('185.21.84.216');
    console.log(data);
});

✨ Output

GET https://api.sefinek.net/api/v2/geoip/185.21.84.216

{
  "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"
}

🌠 API Tip

If you want to get the client's geolocation, instead of providing an IP, use /api/v2/geoip/myip.

💙 Support

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.

🔑 MIT License

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.