IP Geolocation
Analysis : IP Geolocation
IP Geolocation Service Feature & Price Compare
Provider |
Service Plan |
Pricing |
Limit |
Data Type |
Data format |
MaxMind |
GeoLite2 Country & City |
Free |
2,000/day |
Country , City |
MMDB , CSV , API |
MaxMind |
GeoIP2 Country |
$24/month or $288/year |
- |
Country |
MMDB , CSV , API |
MaxMind |
GeoIP2 City |
$100/month or $1200/year |
- |
City |
MMDB , CSV , API |
MaxMind |
GeoIP2 Connection Type |
$90/month or $1080/year |
- |
Connection Type |
MMDB , CSV , API |
MaxMind |
GeoIP2 ISP |
$24/month or $288/year |
- |
ISP |
MMDB , CSV , API |
MaxMind |
GeoIP2 Domain Name |
$24/month or $288/year |
- |
Domain Name |
MMDB , CSV , API |
MaxMind |
GeoIP2 Anonymous IP |
Contact MaxMind |
- |
Anonymous IP |
MMDB , CSV , API |
MaxMind |
GeoIP2 Enterprise |
Contact MaxMind |
- |
More detail of geolocation data |
MMDB , CSV , API |
ipapi |
Free |
Free |
1,000/day |
Location Data |
API |
ipapi |
Standard |
$10/month or $96/year |
50,000/day |
Location Data , Currency Data , Time Zone Data , Connection Data |
API |
ipapi |
Business |
$50/month or $480/year |
500,000/day |
Location Data , Currency Data , Time Zone Data , Connection Data , Bulk Lookups |
API |
ipapi |
Business Pro |
$100/month or $960/year |
2,000,000/day |
Location Data , Currency Data , Time Zone Data , Connection Data , Bulk Lookups , Security Data |
API |
ipapi |
Enterprise |
Contact ipapi |
Volume Lookups |
Location Data , Currency Data , Time Zone Data , Connection Data , Bulk Lookups , Security Data , Custom Solutions |
API |
ipgeolocation |
Free |
Free |
1,000/day , 30,000/month |
Location by IP , Country , State , District/County , City , Zip Code , Coordinates , Geoname ID , Currency , Timezone , ISP , User Agent API , Timezone API , Astronomy API |
API |
ipgeolocation |
Bronze |
$15/month or $150/year |
150,000/month , $5/50k Extra Request |
Location by IP , Location by Domain , Hostname Info , Country , State , District/County , City , Zip Code , Coordinates , Geoname ID , Currency , Timezone , ISP , User Agent API , Timezone API , Astronomy API , ASN , IP-Security Information , Couple Geolocation with User Agent , Bulk Lookup , Geolocation in Multiple Languages , Priority Support , Request Origins/ACL |
API |
ipgeolocation |
Silver |
$65/month or $650/year |
1,000,000/month , $5/75k Extra Request |
Location by IP , Location by Domain , Hostname Info , Country , State , District/County , City , Zip Code , Coordinates , Geoname ID , Currency , Timezone , ISP , User Agent API , Timezone API , Astronomy API , ASN , IP-Security Information , Couple Geolocation with User Agent , Bulk Lookup , Geolocation in Multiple Languages , Priority Support , Request Origins/ACL |
API |
ipgeolocation |
Silver+ |
$130/month or $1300/year |
3,000,000/month , $5/100k Extra Request |
Location by IP , Location by Domain , Hostname Info , Country , State , District/County , City , Zip Code , Coordinates , Geoname ID , Currency , Timezone , ISP , User Agent API , Timezone API , Astronomy API , ASN , IP-Security Information , Couple Geolocation with User Agent , Bulk Lookup , Geolocation in Multiple Languages , Priority Support , Request Origins/ACL |
API |
ipgeolocation |
Gold |
$200/month or $2000/year |
6,000,000/month , $5/150k Extra Request |
Location by IP , Location by Domain , Hostname Info , Country , State , District/County , City , Zip Code , Coordinates , Geoname ID , Currency , Timezone , ISP , User Agent API , Timezone API , Astronomy API , ASN , IP-Security Information , Couple Geolocation with User Agent , Bulk Lookup , Geolocation in Multiple Languages , Priority Support , Request Origins/ACL |
API |
ipgeolocation |
Platinum |
$500/month or $5000/year |
20,000,000/month , $5/200k Extra Request |
Location by IP , Location by Domain , Hostname Info , Country , State , District/County , City , Zip Code , Coordinates , Geoname ID , Currency , Timezone , ISP , User Agent API , Timezone API , Astronomy API , ASN , IP-Security Information , Couple Geolocation with User Agent , Bulk Lookup , Geolocation in Multiple Languages , Priority Support , Request Origins/ACL |
API |
ipdata |
Free |
Free |
1,500/day |
Geolocation Data |
API |
ipdata |
Personal |
$10/month or $96/year |
25,00/day |
Geolocation Data , OSINT Blocklists , ASN Data |
API |
ipdata |
Lite |
$30/month or $288/year |
10,000/day |
Geolocation Data , OSINT Blocklists , ASN Data |
API |
ipdata |
Startup |
$50/month or $480/year |
50,000/day |
Geolocation Data , OSINT Blocklists , ASN Data , Company Data |
API |
ipdata |
Business |
$120/month or $1152/year |
100,000/day |
Geolocation Data , OSINT Blocklists , ASN Data , Company Data , Commercial Blocklists , VPN Detection , ML IP Reputation Scores |
API |
ipdata |
Enterprise |
Contact ipdata |
High volume discounts |
Custom Data |
API |
MaxMind
API Example
GeoLite City
# Retrieve data for your IP address.
curl -u "{account_id}:{license_key}" \
"https://geolite.info/geoip/v2.1/city/me?pretty"
# Retrieve data for an arbitrary IP address.
curl -u "{account_id}:{license_key}" \
"https://geolite.info/geoip/v2.1/city/{ip_address}?pretty"
// https://geolite.info/geoip/v2.1/city/161.185.160.93?pretty
{
"city": {
"geoname_id": 5110302,
"names": {
"pt-BR": "Brooklyn",
"ru": "Бруклин",
"zh-CN": "布鲁克林区",
"de": "Brooklyn",
"en": "Brooklyn",
"es": "Brooklyn",
"fr": "Brooklyn",
"ja": "ブルックリン区"
}
},
"continent": {
"code": "NA",
"geoname_id": 6255149,
"names": {
"zh-CN": "北美洲",
"de": "Nordamerika",
"en": "North America",
"es": "Norteamérica",
"fr": "Amérique du Nord",
"ja": "北アメリカ",
"pt-BR": "América do Norte",
"ru": "Северная Америка"
}
},
"country": {
"iso_code": "US",
"geoname_id": 6252001,
"names": {
"de": "Vereinigte Staaten",
"en": "United States",
"es": "Estados Unidos",
"fr": "États Unis",
"ja": "アメリカ",
"pt-BR": "EUA",
"ru": "США",
"zh-CN": "美国"
}
},
"location": {
"accuracy_radius": 20,
"latitude": 40.7099,
"longitude": -73.9591,
"metro_code": 501,
"time_zone": "America/New_York"
},
"postal": {
"code": "11211"
},
"registered_country": {
"iso_code": "US",
"geoname_id": 6252001,
"names": {
"es": "Estados Unidos",
"fr": "États Unis",
"ja": "アメリカ",
"pt-BR": "EUA",
"ru": "США",
"zh-CN": "美国",
"de": "Vereinigte Staaten",
"en": "United States"
}
},
"subdivisions": [
{
"iso_code": "NY",
"geoname_id": 5128638,
"names": {
"es": "Nueva York",
"fr": "New York",
"ja": "ニューヨーク州",
"pt-BR": "Nova Iorque",
"ru": "Нью-Йорк",
"zh-CN": "纽约州",
"de": "New York",
"en": "New York"
}
}
],
"traits": {
"autonomous_system_number": 22252,
"autonomous_system_organization": "AS22252",
"ip_address": "161.185.160.93",
"network": "161.185.160.0/19"
}
}
GeoLite Country
# Retrieve data for your IP address.
curl -u "{account_id}:{license_key}" \
"https://geolite.info/geoip/v2.1/country/me?pretty"
# Retrieve data for an arbitrary IP address.
curl -u "{account_id}:{license_key}" \
"https://geolite.info/geoip/v2.1/country/{ip_address}?pretty"
// https://geolite.info/geoip/v2.1/country/161.185.160.93?pretty
{
"continent": {
"code": "NA",
"geoname_id": 6255149,
"names": {
"ja": "北アメリカ",
"pt-BR": "América do Norte",
"ru": "Северная Америка",
"zh-CN": "北美洲",
"de": "Nordamerika",
"en": "North America",
"es": "Norteamérica",
"fr": "Amérique du Nord"
}
},
"country": {
"iso_code": "US",
"geoname_id": 6252001,
"names": {
"ru": "США",
"zh-CN": "美国",
"de": "Vereinigte Staaten",
"en": "United States",
"es": "Estados Unidos",
"fr": "États Unis",
"ja": "アメリカ",
"pt-BR": "EUA"
}
},
"registered_country": {
"iso_code": "US",
"geoname_id": 6252001,
"names": {
"ja": "アメリカ",
"pt-BR": "EUA",
"ru": "США",
"zh-CN": "美国",
"de": "Vereinigte Staaten",
"en": "United States",
"es": "Estados Unidos",
"fr": "États Unis"
}
},
"traits": {
"ip_address": "161.185.160.93",
"network": "161.185.160.0/19"
}
}
Geo City (Paid)
# Retrieve data for your IP address.
curl -u "{account_id}:{license_key}" \
"https://geoip.maxmind.com/geoip/v2.1/city/me?pretty"
# Retrieve data for an arbitrary IP address.
curl -u "{account_id}:{license_key}" \
"https://geoip.maxmind.com/geoip/v2.1/city/{ip_address}?pretty"
Geo Country (Paid)
# Retrieve data for your IP address.
curl -u "{account_id}:{license_key}" \
"https://geoip.maxmind.com/geoip/v2.1/country/me?pretty"
# Retrieve data for an arbitrary IP address.
curl -u "{account_id}:{license_key}" \
"https://geoip.maxmind.com/geoip/v2.1/country/{ip_address}?pretty"
Insight (Paid)
# Retrieve data for your IP address.
curl -u "{account_id}:{license_key}" \
"https://geoip.maxmind.com/geoip/v2.1/insights/me?pretty"
# Retrieve data for an arbitrary IP address.
curl -u "{account_id}:{license_key}" \
"https://geoip.maxmind.com/geoip/v2.1/insights/{ip_address}?pretty"
API Response
Blocks Files
https://dev.maxmind.com/geoip/docs/databases/city-and-country?lang=en
Name |
Type |
Description |
Included in |
network |
IP network as a string |
This is the IPv4 or IPv6 network in CIDR format such as “2.21.92.0/29” or “2001:4b0::/80”. We offer a utility to convert this column to start/end IPs or start/end integers. See the conversion utility section for details. |
Country, City |
geoname_id |
integer |
A unique identifier for the network’s location as specified by GeoNames. This ID can be used to look up the location information in the Location file. |
Country, City |
registered_country_geoname_id |
integer |
The registered country is the country in which the ISP has registered the network. This column contains a unique identifier for the network’s registered country as specified by GeoNames. This ID can be used to look up the location information in the Location file. |
Country, City |
represented_country_geoname_id |
integer |
The represented country is the country which is represented by users of the IP address. For instance, the country represented by an overseas military base. This column contains a unique identifier for the network’s represented country as specified by GeoNames. |
This ID can be used to look up the location information in the Location file. |
is_anonymous_proxy |
boolean |
Deprecated. Please see our GeoIP2 Anonymous IP database to determine whether the IP address is used by an anonymizing service. |
Country, City |
is_satellite_provider |
boolean |
Deprecated. |
Country, City |
postal_code |
string |
A postal code close to the user’s location. For the following countries, we return partial postal codes with the number of characters indicated below: |
Country, City |
latitude* |
decimal |
The approximate WGS84 latitude of the location associated with the network. |
Country, City |
longitude* |
decimal |
The approximate WGS84 longitude of the location associated with the network. |
Country, City |
accuracy_radius |
integer |
The radius in kilometers around the specified location where the IP address is likely to be. |
Country, City |
Locations Files
https://dev.maxmind.com/geoip/docs/databases/city-and-country?lang=en
Name |
Type |
Description |
Included in |
geoname_id |
integer |
A unique identifier for the a location as specified by GeoNames. This ID can be used as a key for the Location file. |
Country, City |
locale_code |
string |
The locale that the names in this row are in. This will always correspond to the locale name of the file. |
Country, City |
continent_code |
string (2) |
The continent code for this location. Possible codes are: |
Country, City |
continent_name |
string |
The continent name for this location in the file’s locale. |
Country, City |
country_iso_code |
string (2) |
A two-character ISO 3166-1 country code for the country associated with the location. |
Country, City |
country_name |
string |
The country name for this location in the file’s locale. |
Country, City |
subdivision_1_iso_code |
string (1-3) |
A string of up to three characters containing the region-portion of the ISO 3166-2 code for the first level region associated with the IP address. Some countries have two levels of subdivisions, in which case this is the least specific. For example, in the United Kingdom this will be a country like “England”, not a county like “Devon”. |
Country, City |
subdivision_1_name |
string |
The subdivision name for this location in the file’s locale. As with the subdivision code, this is the least specific subdivision for the location. |
Country, City |
subdivision_2_iso_code |
string (1-3) |
A string of up to three characters containing the region-portion of the ISO 3166-2 code for the second level region associated with the IP address. Some countries have two levels of subdivisions, in which case this is the most specific. For example, in the United Kingdom this will be a a county like “Devon”, not a country like “England”. |
Country, City |
subdivision_2_name |
string |
The subdivision name for this location in the file’s locale. As with the subdivision code, this is the most specific subdivision for the location. |
Country, City |
city_name |
string |
The city name for this location in the file’s locale. |
Country, City |
metro_code |
integer |
Metro code is a geolocation target code from Google. |
Country, City |
time_zone |
string |
The time zone associated with location, as specified by the IANA Time Zone Database, e.g., “America/New_York”. |
Country, City |
is_in_european_union |
boolean |
This is 1 if the country associated with the location is a member state of the European Union. It is 0 otherwise. |
Country, City |
ipdata
Compare Plans
Feature |
Free |
Personal |
Lite |
Startup |
Business |
Enterprise |
Pricing |
Free |
$10/month or $96/year |
$30/month or $288/year |
$50/month or $480/year |
$120/month or $1152/year |
Contact ipdata |
Limit |
1,500/day |
25,00/day |
10,000/day |
50,000/day |
100,000/day |
Contact ipdata |
Geolocation Data |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
ASN Data |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Company Data |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
OSINT Blocklists |
❌ |
❌ |
❌ |
✓ |
❌ |
✓ |
Commercial Blocklists |
❌ |
❌ |
❌ |
❌ |
✓ |
✓ |
VPN Detection |
❌ |
❌ |
❌ |
❌ |
✓ |
✓ |
ML IP Reputation Scores |
❌ |
❌ |
❌ |
❌ |
✓ |
✓ |
API Example
curl "https://api.ipdata.co/{IP_ADDRESS}?api-key=APIKEY"
// "https://api.ipdata.co/161.185.160.93?api-key=APIKEY"
{
"ip": "161.185.160.93",
"is_eu": false,
"city": "Brooklyn",
"region": "New York",
"region_code": "NY",
"region_type": "state",
"country_name": "United States",
"country_code": "US",
"continent_name": "North America",
"continent_code": "NA",
"latitude": 40.67399978637695,
"longitude": -73.97010040283203,
"postal": "11238",
"calling_code": "1",
"flag": "https://ipdata.co/flags/us.png",
"emoji_flag": "🇺🇸",
"emoji_unicode": "U+1F1FA U+1F1F8",
"asn": {
"asn": "AS22252",
"name": "The City of New York",
"domain": null,
"route": "161.185.160.0/24",
"type": "business"
},
"languages": [
{
"name": "English",
"native": "English",
"code": "en"
}
],
"currency": {
"name": "US Dollar",
"code": "USD",
"symbol": "$",
"native": "$",
"plural": "US dollars"
},
"time_zone": {
"name": "America/New_York",
"abbr": "EST",
"offset": "-0500",
"is_dst": false,
"current_time": "2022-12-16T08:38:03-05:00"
},
"threat": {
"is_tor": false,
"is_icloud_relay": false,
"is_proxy": false,
"is_datacenter": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false,
"blocklists": []
},
"count": "0"
}
API Response
Geolocation Response
https://docs.ipdata.co/docs/geolocation
Field |
Description |
ip |
The IP address that was looked up. |
is_eu |
Returns true or false depending on whether the country is a recognized member of the European Union. The list of all EU countries is compiled from this list on the European Union website. |
count |
The total number of requests made by your API key in the last 24 hrs. Updates once a minute. |
city |
The name of the city from where the IP Address is located. |
region |
The name of the region where the IP Address is located. |
region_code |
The ISO 3166-2 code for the region. |
region_type |
The given region can either be a first or second level administrative subdivision, this field tells you what type it is. For example in the US the region is usually a state, Canada has provinces etc |
country_name |
The name of the country where the IP Address is located. |
country_code |
The 2 letter ISO 3166-1 alpha-2 code for the country. |
continent_name |
The name of the continent where the IP Address is located. One of; Africa, Antarctica, Asia, Europe, North America, Oceania, South America |
continent_code |
The 2 letter ISO 3166-1 alpha-2 code for the continent. One of; AF, AN, AS, EU, NA, OC, SA |
latitude |
An approximate latitudinal location for the IP Address. Often near the center of population. |
longitude |
An approximate longitudinal location for the IP Address. Often near the center of population. |
postal |
The Postal code for where the IP Address is located. |
calling_code |
The International Calling Code for the country where the IP Address is located. |
flag |
A link to a PNG/SVG file with the flag of the country where the IP Address is located. To pick your format set the extension you want eg. https://ipdata.co/flags/us.png for PNG or https://ipdata.co/flags/us.svg for SVG. |
emoji_flag |
An emoji version of the flag of the country where the IP Address is located. |
emoji_unicode |
The Unicode for the emoji flag. |
Mobile Carrier Response
https://docs.ipdata.co/docs/mobile-carrier-detection
Field |
Description |
name |
The name of the carrier that owns the IP Address |
mcc |
The Mobile Country Code of the carrier |
mnc |
The Mobile Network Code that identifies the carrier |
Timezone Response
https://docs.ipdata.co/docs/timezone-detection
Field |
Description |
name |
The name of the Timezone |
abbr |
The abbreviation of the Timezone |
offset |
The UTC offset of the Timezone |
is_dst |
true or false depending on whether or not Daylight Savings have been accounted for |
current_time |
The exact current time in the Timezone the IP Address belongs to adjusted for Daylight Savings |
Currency Response
https://docs.ipdata.co/docs/currency-detection
Field |
Description |
name |
The singular name of the currency |
code |
The ISO 4217 currency code |
symbol |
The symbol of the currency |
native |
The native symbol of the currency |
plural |
The plural version of the currency. For example; US dollars, Australian dollars, Euros |
Basic ASN Response
https://docs.ipdata.co/docs/asn-data
Field |
Description |
asn |
The Autonomous System Number |
name |
The name of the organization that owns the ASN |
domain |
The website of the organization |
route |
The network prefix the IP Address belongs to |
type |
The usage type associated with the IP Address and ASN |
Threat Intelligence
https://docs.ipdata.co/docs/proxy-tor-and-threat-detection
Field |
Description |
is_tor |
is true if the IP address is associated with a node on the Tor network |
is_vpn |
true for VPN IP addresses. There are approx. 2.6M IP addresses updated daily. This is available to Business and Enterprise users only. |
is_icloud_relay |
true for IP addresses belonging to Apple’s iCloud relay service |
is_proxy |
is true if the IP address is a known proxy, includes HTTP/HTTPS/SSL/SOCKS/CONNECT and transparent proxies |
is_datacenter |
true for any IP addresses that belong to a datacenter including all cloud providers. Can be useful for detecting automated/bot traffic. |
is_anonymous |
is set true if either one of is_tor or is_proxy is true |
is_known_attacker |
is true if an IP address is a known source of malicious activity, i.e. attacks, malware, botnet activity etc |
is_known_abuser |
is true if the IP address is a known source of abuse i.e. spam, harvesters, registration bots and other nuisance bots etc |
is_threat |
is true if either one of is_known_abuser or is_known_attacker is true |
is_bogon |
true for if an IP address is a bogon. |
blocklists |
An array of blocklists an IP address has been reported to. It includes the name, website and list type. |
scores |
A map of IP reputation scores. |
ipapi
Compare Plans
Feature |
Free |
Standard |
Business |
Business Pro |
Enterprise |
Pricing |
Free |
$10/month or $96/year |
$50/month or $480/year |
$100/month or $960/year |
Contact ipapi |
Limit |
1,000/day |
50,000/day |
500,000/day |
2,000,000/day |
VolumeLookups |
Volume Lookups |
✓ |
✓ |
✓ |
✓ |
✓ |
Standard Support |
✓ |
✓ |
✓ |
✓ |
✓ |
Location Data |
✓ |
✓ |
✓ |
✓ |
✓ |
HTTPS Encryption |
❌ |
✓ |
✓ |
✓ |
✓ |
Currency Data |
❌ |
✓ |
✓ |
✓ |
✓ |
Time Zone Data |
❌ |
✓ |
✓ |
✓ |
✓ |
Connection Data |
❌ |
✓ |
✓ |
✓ |
✓ |
Bulk Lookups |
❌ |
❌ |
✓ |
✓ |
✓ |
Security Data |
❌ |
❌ |
❌ |
✓ |
✓ |
Custom Solutions |
❌ |
❌ |
❌ |
❌ |
✓ |
API Example
http://api.ipapi.com/api/{IP_ADDRESS}?access_key={YOUR_ACCESS_KEY}
// http://api.ipapi.com/api/161.185.160.93?access_key={YOUR_ACCESS_KEY}
{
"ip": "161.185.160.93",
"type": "ipv4",
"continent_code": "NA",
"continent_name": "North America",
"country_code": "US",
"country_name": "United States",
"region_code": "NY",
"region_name": "New York",
"city": "Coney Island",
"zip": "11201",
"latitude": 40.69459915161133,
"longitude": -73.99063873291016,
"location": {
"geoname_id": 5113481,
"capital": "Washington D.C.",
"languages": [
{
"code": "en",
"name": "English",
"native": "English"
}
],
"country_flag": "https://assets.ipstack.com/flags/us.svg",
"country_flag_emoji": "🇺🇸",
"country_flag_emoji_unicode": "U+1F1FA U+1F1F8",
"calling_code": "1",
"is_eu": false
}
}
API Response
https://ipapi.com/documentation
Response Object |
Description |
ip |
Returns the IP address as requested. |
hostname |
Returns the hostname the requested IP is associated with; requires Hostname Lookup to be enabled. |
type |
Returns IPv4 or IPv6, depending on type of the requested IP address. |
continent_code |
Returns the 2-letter continent code associated with the IP address. |
View all 2-letter continent codes |
|
continent_name |
Returns the continent name associated with the IP address. |
country_code |
Returns the 2-letter country code associated with the IP address. |
List of all 2-letter country codes |
|
country_name |
Returns the country name associated with the IP address. |
region_code |
Returns the region code associated with the IP address (e.g. NY for New York). |
region_name |
Returns region name associated with the IP address. |
city |
Returns the city associated with the IP address. |
zip |
Returns the ZIP code associated with the IP address. |
latitude |
Returns the latitude associated with the IP address. |
longitude |
Returns the longitude associated with the IP address. |
location |
[Object] Returns multiple objects related to location. |
location > geoname_id |
Returns the geoname identifier in accordance with the Geonames Registry. |
location > capital |
Returns the capital city of the country associated with the IP address. |
location > languages |
[Object] Returns an object containing one or multiple sub-objects per language associated with the IP address. |
location > languages > code |
Returns the 2-letter language code for the given language. |
List of all 2-letter language codes |
|
location > languages > name |
Returns the language name (in the API request’s main language). (e.g. Spanish) |
location > languages > native |
Returns the native language name. (e.g. Español) |
location > country_flag |
Returns an HTTP URL to an SVG country flag icon associated with the IP address. |
location > country_flag_emoji |
Returns the emoji icon for the country flag associated with the IP address. |
location > country_flag_emoji_unicode |
Returns the unicode value of the emoji icon for the country flag associated with the IP address. (e.g. U+1F1EA U+1F1F8 for the |
location > calling_code |
Returns the calling/dial code associated with the IP address. (e.g. 34) for Spain. |
location > is_eu |
Returns true if the given country is part of the EU, false if not. |
time_zone |
[Object] Returns an object containing data related to time zone. |
time_zone > id |
Returns the time zone ID associated with the IP address. (e.g. America/New_York for EDT) |
time_zone > current_time |
Returns the current date and time associated with the IP address. (e.g. 2018-03-29T22:31:27-07:00) |
time_zone > gmt_offset |
Returns the offset to GMT time of the given time zone in seconds. (e.g. -14400 for EDT) |
time_zone > code |
Returns the universal code of the given time zone. |
List of all available codes |
|
time_zone > is_daylight_saving |
Returns true if the given time zone is daylight saving time, false if not. |
currency |
[Object] Returns an object containing data related to currency. |
currency > code |
Returns the 3-letter code of the main currency associated with the IP address. |
Example: USD - List of all available currency codes |
|
currency > name |
Returns the name of the given currency. |
currency > plural |
Returns the name of the given currency in plural. |
currency > symbol |
Returns the symbol of the given currency. |
currency > symbol_native |
Returns the native symbol of the given currency. |
connection |
[Object] Returns an object containing data related to connection. |
connection > asn |
Returns the Autonomous System Number associated with the IP address. |
connection > isp |
Returns the ISP associated with the IP address. |
security |
[Object] Returns an object containing data related to security. |
security > is_proxy |
Returns true if the given IP address is associated with a proxy, false if not. |
security > proxy_type |
If relevant, returns the type of proxy the IP address is associated with. |
View all potential proxy types |
|
security > is_crawler |
Returns true if the given IP address is associated with a crawler, false if not. |
security > crawler_name |
If relevant, returns the name of the crawler the IP address is associated with. |
security > crawler_type |
If relevant, returns the type of crawler the IP address is associated with. |
View all potential crawler types |
|
security > is_tor |
Returns true if the given IP address is associated with the anonymous Tor system, false if not. |
security > threat_level |
Returns the level of threat the IP address is associated with. |
View all threat levels |
|
security > threat_types |
[object] If relevant, returns an object containing all threat types associated with the IP address. |
View all potential threat types |
|
ipgeolocation
Compare Plans
Features |
Developer |
Bronze |
Silver |
Silver+ |
Gold |
Platinum |
Pricing |
Free |
$15/month or $150/year |
$65/month or $650/year |
$130/month or $1300/year |
$200/month or $2000/year |
$500/month or $5000/year |
Limit |
1,000/day , 30,000/month |
150,000/month , $5/50kExtraRequest |
1,000,000/month , $5/75kExtraRequest |
3,000,000/month , $5/100kExtraRequest |
6,000,000/month , $5/150kExtraRequest |
20,000000/month , $5/200kExtraRequest |
Location by IP |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Location by Domain |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
Hostname Info |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
Country |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
State |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
District/County |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
City |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Zip Code |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Coordinates |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Geoname ID |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Currency |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Timezone |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
ISP |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
User Agent API |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Timezone API |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Astronomy API |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
ASN |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
IP-Security Information |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
Couple Geolocation with User Agent |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
Bulk Lookup |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
Geolocation in Multiple Languages |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
Priority Support |
❌ |
✓ |
✓ |
✓ |
✓ |
✓ |
Request Origins/ACL |
❌ |
1 |
2 |
2 |
3 |
3 |
API Example
https://api.ipgeolocation.io/ipgeo?apiKey={YOUR_API_KEY}&ip={IP_ADDRESS}
// https://api.ipgeolocation.io/ipgeo?apiKey={YOUR_API_KEY}&ip=161.185.160.93
{
"ip": "161.185.160.93",
"continent_code": "NA",
"continent_name": "North America",
"country_code2": "US",
"country_code3": "USA",
"country_name": "United States",
"country_capital": "Washington, D.C.",
"state_prov": "New York",
"district": "Downtown Brooklyn",
"city": "Brooklyn",
"zipcode": "11201-3832",
"latitude": "40.69316",
"longitude": "-73.98710",
"is_eu": false,
"calling_code": "+1",
"country_tld": ".us",
"languages": "en-US,es-US,haw,fr",
"country_flag": "https://ipgeolocation.io/static/flags/us_64.png",
"geoname_id": "7119373",
"isp": "The City of New York",
"connection_type": "",
"organization": "The City of New York",
"currency": {
"code": "USD",
"name": "US Dollar",
"symbol": "$"
},
"time_zone": {
"name": "America/New_York",
"offset": -5,
"current_time": "2022-12-16 03:31:53.864-0500",
"current_time_unix": 1671179513.864,
"is_dst": false,
"dst_savings": 1
}
}
API Response
https://ipgeolocation.io/documentation/ip-geolocation-api.html
Field |
Type |
Description |
Can be empty? |
domain |
string |
Domain name that is used to lookup geolocation information. It is not returned if an IP address is used to query IP Geolocation API. |
Yes |
ip |
string |
IP address that is used to lookup geolocation information. |
No |
hostname |
string |
Hostname of the IP address used to query IP Geolocation API. |
No |
continent_code |
string |
2-letter code of the continent. |
No |
continent_name |
string |
Name of the continent. |
No |
country_code2 |
string |
Country code (ISO 3166-1 alpha-2) of the country. |
No |
country_code3 |
string |
Country code (ISO 3166-1 alpha-3) of the country. |
No |
country_name |
string |
Name of the country. |
No |
country_capital |
string |
Name of the country’s capital. |
No |
state_prov |
string |
Name of the state/province/region. |
Yes |
district |
string |
Name of the district or county. |
Yes |
city |
string |
Name of the city. |
Yes |
zipcode |
string |
ZIP code of the place. |
Yes |
latitude |
float |
Latitude of the place. |
No |
longitude |
float |
Longitude of the place. |
No |
is_eu |
boolean |
Is the country belong to European Union? |
No |
calling_code |
string |
Calling code of the country. |
No |
country_tld |
string |
Top-level domain of the country. |
No |
languages |
string |
Comma-separated list of the languages’ codes, spoken in the country. |
No |
country_flag |
string |
URL to get the country flag. |
No |
geoname_id |
number |
Geoname ID of the place from geonames.org |
No |
isp |
string |
Name of the ISP holding the IP address. |
No |
connection_type |
string |
Type of the connection, consuming the IP address. |
Yes |
organization |
string |
Name of AS organization holding the IP address. |
Yes |
asn |
string |
Autonomous system number of the autonomous system, to which IP address belongs to. |
Yes |
currency.code |
string |
Currency code (ISO 4217). |
No |
currency.name |
string |
Currency name (ISO 4217). |
No |
currency.symbol |
string |
Currency symbol. |
No |
time_zone.name |
string |
Name (ISO 8601) of the time zone. |
No |
time_zone.offset |
number |
Time zone offset from UTC. |
No |
time_zone.current_time |
string |
Current time in ‘yyyy-MM-dd HH:mm:ss.SSS+ZZZ’ format. |
No |
time_zone.current_time_unix |
float |
Current time in seconds since 1970. |
No |
time_zone.is_dst |
boolean |
Is the time zone in daylight savings? |
No |
time_zone.dst_savings |
number |
Total daylight savings. |
No |
security.threat_score |
number |
IP address’ threat score. It ranges from 0 to 100. |
|
100 indicates highest threat and vice versa for lower score. |
No |
|
|
security.is_tor |
boolean |
Indicates if the IP address is being consumed on a Tor endpoint. |
No |
security.is_proxy |
boolean |
Indicates if the IP address belongs to a proxy network. |
No |
security.proxy_type |
string |
Type of the proxy network if the IP address belongs to a proxy network. |
Yes |
security.is_anonymous |
boolean |
Indicates if the IP address is being used anonymously. |
No |
security.is_known_attacker |
boolean |
Indicates if the IP address is enlisted as an attacking IP address. |
No |
security.is_cloud_provider |
boolean |
Indicates if the IP address belongs to a cloud provider (computing infrastructure providers). |
No |
user_agent.userAgentString |
string |
User-Agent string passed along with the query in the User-Agent header. |
No |
user_agent.name |
string |
User-Agent Name. |
No |
user_agent.type |
string |
User-Agent Class. |
No |
user_agent.version |
string |
User-Agent Version. |
No |
user_agent.versionMajor |
string |
User-Agent Version Major. |
No |
user_agent.device.name |
string |
Device Name. |
No |
user_agent.device.type |
string |
Device Type. |
No |
user_agent.device.brand |
string |
Device Brand. |
No |
user_agent.device.CPU |
string |
Device CPU Model. |
No |
user_agent.engine.name |
string |
Layout Engine Name. |
No |
user_agent.engine.type |
string |
Layout Engine Class. |
No |
user_agent.engine.version |
string |
Layout Engine Version. |
No |
user_agent.engine.versionMajor |
string |
Layout Engine Version Major. |
No |
user_agent.operatingSystem.name |
string |
Operating System Name. |
No |
user_agent.operatingSystem.type |
string |
Operating System Class. |
No |
user_agent.operatingSystem.version |
string |
Operating System Version. |
No |
user_agent.operatingSystem.versionMajor |
string |
Operating System Version Major. |
No |
ipinfo
API Example
https://ipinfo.io/{IP_ADDRESS}?token={YOUR_ACCESS_KEY}
// https://ipinfo.io/161.185.160.93?token={YOUR_ACCESS_KEY}
{
"ip": "161.185.160.93",
"city": "New York City",
"region": "New York",
"country": "US",
"loc": "40.7143,-74.0060",
"org": "AS22252 The City of New York",
"postal": "10004",
"timezone": "America/New_York"
}