/micro-geoip-lite-js

🌍 An extremely lite geoip decoder utilizing the micro-geoip-lite microservice to geo decode the IP info via an https request - the microservice utilizes MaxMind's IP info dataset.

Primary LanguageJavaScriptMIT LicenseMIT

micro-geoip-lite

🌍 An extremely lite geoip decoder utilizing the micro-geoip-lite microservice to geo decode the IP info via an https request - the microservice utilizes MaxMind's IP info dataset.

Follow @ahmad_tokyo

Installation

  • Run yarn add micro-geoip-lite, npm i micro-geoip-lite

Usage

  • params:

    • ip?: string - optional, defaults to client's IP
    • options?:
      {
        serviceUrl?: string, // called instead of the default provider URL. You can also provide this via an env var `REACT_APP_SERVICE_URL_GEOIP` or `SERVICE_URL_GEOIP`
        timeout?: string, // timeout in ms
      }
  • returns:

    {
      ip: string, // if ip param was not provided, this defaults to request.ip
      range: [ number, number ],
      country: string,
      region: string,
      eu: string, // '0' or '1'
      timezone: string,
      city: string,
      ll: [ number, number ],
      metro: number,
      area: number,
      // error: 'Error text', // only exists if an error happened
    }
  • example - fetch own ip info:

    import geodecodeIp from 'micro-geoip-lite';
    
    const result = await geodecodeIp();
    
    {
      ip: '207.97.227.239', // if ip param was not provided, this defaults to request.ip
      range: [ 3479298048, 3479300095 ],
      country: 'US',
      region: 'TX',
      eu: '0',
      timezone: 'America/Chicago',
      city: 'San Antonio',
      ll: [ 29.4969, -98.4032 ],
      metro: 641,
      area: 1000,
      // error: 'Error text', // only exists if an error happened
    }
  • example - fetch specific ip info:

    import geodecodeIp from 'micro-geoip-lite';
    
    const result = await geodecodeIp('207.97.227.239');
  • Live DEMO