Skip to main content

This is an IP geolocation library that enables the user to find the country, region, city, latitude and longitude, ZIP code, time zone, ISP, domain name, area code, weather info, mobile info, elevation, usage type, address type and IAB category from an IP address. It supports both IPv4 and IPv6 lookup.

Project description

IP2Location 8.10.0

This is a IP2Location Python library that enables the user to find the country, region or state, city, latitude and longitude, ZIP code, time zone, Internet Service Provider (ISP) or company name, domain name, net speed, area code, weather station code, weather station name, mobile country code (MCC), mobile network code (MNC) and carrier brand, elevation, usage type, address type and IAB category by IP address or hostname originates from. The library reads the geo location information from IP2Location BIN data file.

Supported IPv4 and IPv6 address.

For more details, please visit: https://www.ip2location.com/developers/python

Requirements

  1. Python 3.5 and above.

Installation

  1. Unzip the package.
  2. Execute python setup.py build
  3. Execute python setup.py install

or

To install this module type the following (for PyPI):

pip install IP2Location

Usage

You can check the sample.py file to learn more about usage.

BIN Database

Below is the description of the functions available in the BIN Database lookup.

Method Name Description
open Open the IP2Location BIN data for lookup. Default mode: File I/O.
close Close and clean up the file pointer.
get_all Returns the geolocation information in array.
get_country_short Returns the ISO3166-1 country code (2-digits) of the IP address.
get_country_long Returns the ISO3166-1 country name of the IP address.
get_region Returns the ISO3166-2 region name of the IP address. Please visit ISO3166-2 Subdivision Code for the information of ISO3166-2 supported
get_city Returns the city name of the IP address.
get_latitude Returns the city latitude of the IP address.
get_longitude Returns the city longtitude of the IP address.
get_isp Returns the ISP name of the IP address.
get_domain Returns the domain name of IP address.
get_zipcode Returns the zipcode of the city.
get_timezone Returns the UTC time zone (with DST supported).
get_netspeed Returns the Internet connection type. Please see Internet Connection Type for details.
get_idd_code Returns the IDD prefix to call the city from another country.
get_area_code Returns the area code of the city.
get_weather_code Returns the nearest weather observation station code.
get_weather_name Returns the nearest weather observation station name.
get_mcc Returns the Mobile Country Codes (MCC).
get_mnc Returns the Mobile Network Code (MNC).
get_mobile_brand Commercial brand associated with the mobile carrier. Please visit Mobile Carrier Coverage to view the coverage report.
get_elevation Returns average height of city above sea level in meters (m).
get_usage_type Returns the ISP's usage type of IP address. Please see Usage Type for details.
get_address_type Returns the IP address type (A-Anycast, B-Broadcast, M-Multicast & U-Unicast) of IP address or domain name.
get_category Returns the IAB content taxonomy category of IP address or domain name. You can get a full list of IAB content taxonomy category from here.
get_district Returns the district or county name of IP address.
get_asn Returns the Autonomous system number (ASN) of IP address.
get_as Returns the Autonomous system (AS) name of IP address.

Web Service

Below is the description of the functions available in the Web Service lookup.

Function Name Description
Constructor Expect 3 input parameters:
  1. IP2Location API Key.
  2. Package (WS1 - WS25)
  3. Use HTTPS or HTTP
lookup Return the IP information in array.
  • country_code
  • country_name
  • region_name
  • city_name
  • latitude
  • longitude
  • zip_code
  • time_zone
  • isp
  • domain
  • net_speed
  • idd_code
  • area_code
  • weather_station_code
  • weather_station_name
  • mcc
  • mnc
  • mobile_brand
  • elevation
  • usage_type
  • address_type
  • category
  • category_name
  • continent
    • name
    • code
    • hemisphere
    • translations
  • country
    • name
    • alpha3_code
    • numeric_code
    • demonym
    • flag
    • capital
    • total_area
    • population
    • currency
      • code
      • name
      • symbol
    • language
      • code
      • name
    • idd_code
    • tld
    • translations
  • region
    • name
    • code
    • translations
  • city
    • name
    • translations
  • geotargeting
    • metro
  • country_groupings
  • time_zone_info
    • olson
    • current_time
    • gmt_offset
    • is_dst
    • sunrise
    • sunset
    get_credit Return remaining credit of the web service account.

    IP Tools

    Below is the description of the functions available in the IP Tools class.

    Function Name Description
    is_ipv4 Return either true or false. Verify if a string is a valid IPv4 address.
    is_ipv6 Return either true or false. Verify if a string is a valid IPv6 address.
    ipv4_to_decimal Translate IPv4 address from dotted-decimal address to decimal format.
    decimal_to_ipv4 Translate IPv4 address from decimal number to dotted-decimal address.
    ipv6_to_decimal Translate IPv6 address from hexadecimal address to decimal format.
    decimal_to_ipv6 Translate IPv6 address from decimal number into hexadecimal address.
    ipv4_to_cidr Convert IPv4 range into a list of IPv4 CIDR notation.
    cidr_to_ipv4 Convert IPv4 CIDR notation into a list of IPv4 addresses.
    ipv6_to_cidr Convert IPv6 range into a list of IPv6 CIDR notation.
    cidr_to_ipv6 Convert IPv6 CIDR notation into a list of IPv6 addresses.
    compressed_ipv6 Compress a IPv6 to shorten the length.
    expand_ipv6 Expand a shorten IPv6 to full length.

    Country Class

    Below is the description of the functions available in the Country class.

    Function Name Description
    Constructor Expect a IP2Location Country Information CSV file. This database is free for download at https://www.ip2location.com/free/country-information
    get_country_info Provide a ISO 3166 country code to get the country information in array. Will return a full list of countries information if country code not provided. Below is the information returned:
    • country_code
    • country_alpha3_code
    • country_numeric_code
    • capital
    • country_demonym
    • total_area
    • population
    • idd_code
    • currency_code
    • currency_name
    • currency_symbol
    • lang_code
    • lang_name
    • cctld

    Region Class

    Below is the description of the functions available in the Region class.

    Function Name Description
    Constructor Expect a IP2Location ISO 3166-2 Subdivision Code CSV file. This database is free for download at https://www.ip2location.com/free/iso3166-2
    get_region_code Provide a ISO 3166 country code and the region name to get ISO 3166-2 subdivision code for the region.

    Testing

    python sample.py
    python test.py
    python lookup.py <ip_address>
    

    Sample BIN Databases

    IPv4 BIN vs IPv6 BIN

    • Use the IPv4 BIN file if you just need to query IPv4 addresses.
    • Use the IPv6 BIN file if you need to query BOTH IPv4 and IPv6 addresses.

    Internet Connection Type

    Internet Connection Type Description
    DIAL Dial Up
    DSL Broadband/Cable/Fiber/Mobile
    COMP Company/T1

    Usage Type

    Usage Type Description
    COM Commercial
    ORG Organization
    GOV Government
    MIL Military
    EDU University/College/School
    LIB Library
    CDN Content Delivery Network
    ISP Fixed Line ISP
    MOB Mobile ISP
    DCH Data Center/Web Hosting/Transit
    SES Search Engine Spider
    RSV Reserved

    Support

    Email: support@ip2location.com.
    URL: https://www.ip2location.com

    Project details


    Download files

    Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

    Source Distribution

    IP2Location-8.10.0.tar.gz (16.3 kB view hashes)

    Uploaded Source

    Built Distribution

    IP2Location-8.10.0-py3-none-any.whl (16.6 kB view hashes)

    Uploaded Python 3

    Supported by

    AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page