C Library

IP2Location C library enables the user to find the country, region, city, coordinates, zip code, time zone, ISP, domain name, connection type, area code, weather, MCC, MNC, mobile brand name, elevation and usage type that any IP address or hostname originates from. It has been optimized for speed and memory utilization. Developers can use the API to query all IP2Location™ binary databases for applications written in C or supporting static/dynamic library.

Download IP2Location C Library (3.00 MB) Version: 6.0.3

 

Installation

Unix/Linux

  1. Decompress the archive.
    tar xvfz ip2location-c-x.x.x.tar.gz
  2. Navigate to working directory.
    cd ip2location-c-x.x.x
  3. autoreconf -i -v --force
  4. ./configure
  5. make
  6. To test it, go to test folder.
    cd test
  7. And run the sample application
    test-IP2Location

 

Windows

  1. Decompress the archive.
  2. Open command prompt and navigate to Microsoft Visual Studio Visual C directory and execute vcvarsall.bat or vcvars32.bat. (Alternatively, open Visual Studio Command Prompt located in the start menu under Microsoft Visual Studio\Visual Studio Tools)
  3. Navigate to working directory.
    cd ip2location-c-x.x.x
  4. nmake Makefile.win
  5. To test it, go to test folder.
    cd test
  6. And run the sample application
    test-IP2Location

 

MacOS

  1. Decompress the archive.
  2. Navigate to working directory.
    cd ip2location-c-x.x.x
  3. autoreconf -i -v --force
  4. export CFLAGS=-I/usr/include/malloc
  5. ./configure
  6. make
  7. To test it, go to test folder.
    cd test
  8. And run the sample application
    test-IP2Location

 

Sample Codes
#include "IP2Location.h"

IP2Location *IP2LocationObj = IP2Location_open("../data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-SAMPLE.BIN");
IP2LocationRecord *record = IP2Location_get_all(IP2LocationObj, "161.11.12.13");
printf("%s %s %s %s %s %f %f %s %s %s %s %s %s %s %s %s %s %s %s %s\n",
   record->country_short,
   record->country_long,
   record->region,
   record->city,
   record->isp,
   record->latitude,
   record->longitude,
   record->domain,
   record->zipcode,
   record->timezone,
   record->netspeed,
   record->iddcode,
   record->areacode,
   record->weatherstationcode,
   record->weatherstationname,
   record->mcc,
   record->mnc,
   record->mobilebrand,
   record->elevation,
   record->usagetype);
IP2Location_free_record(record);
IP2Location_close(IP2LocationObj);
Credit: Thanks to Markus Koetter & C.B. Fong for codes contribution.

 

Sample IP2Location Databases (BIN)

The following evaluation copy of the database file has limited range of IP address information compare to commercial. For evaluation purpose, you can query IP addresses from 0.0.0.0-99.255.255.255 (IPv4) or 2A04:0:0:0:0:0:0:0-2A04:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF (IPv6).

Sample Packages IPv4 IPv6
IP2Location DB1 Sample Bin File338.81 kB88.24 kB
IP2Location DB2 Sample Bin File35.95 MB104.78 kB
IP2Location DB3 Sample Bin File12.25 MB95.11 kB
IP2Location DB4 Sample Bin File46.07 MB110.79 kB
IP2Location DB5 Sample Bin File18.71 MB99.57 kB
IP2Location DB6 Sample Bin File52.91 MB115.11 kB
IP2Location DB7 Sample Bin File51.30 MB118.70 kB
IP2Location DB8 Sample Bin File58.51 MB122.75 kB
IP2Location DB9 Sample Bin File21.80 MB102.04 kB
IP2Location DB10 Sample Bin File62.58 MB126.01 kB
IP2Location DB11 Sample Bin File22.22 MB102.56 kB
IP2Location DB12 Sample Bin File62.92 MB126.58 kB
IP2Location DB13 Sample Bin File19.80 MB100.28 kB
IP2Location DB14 Sample Bin File63.95 MB126.84 kB
IP2Location DB15 Sample Bin File24.20 MB105.33 kB
IP2Location DB16 Sample Bin File67.81 MB130.89 kB
IP2Location DB17 Sample Bin File24.52 MB105.64 kB
IP2Location DB18 Sample Bin File73.28 MB137.52 kB
IP2Location DB19 Sample Bin File60.49 MB123.39 kB
IP2Location DB20 Sample Bin File75.16 MB138.44 kB
IP2Location DB21 Sample Bin File26.42 MB107.07 kB
IP2Location DB22 Sample Bin File77.92 MB140.49 kB
IP2Location DB23 Sample Bin File60.92 MB123.78 kB
IP2Location DB24 Sample Bin File78.68 MB140.90 kB