# Info Endpoint
Checks the provided IP address (both v4 & v6 formats) and returns all available information.
If you omit the ip parameter, the API responds with the data of the IP address the request was made from — an easy way to look up your own (or your user's) address.
Request Method: GET
Request URL: https://api.iplookupapi.com/v1/info?ip=[[ ip ]]
# Request Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
apikey | string | ️ | Your API Key |
ip | string | The IP address you want to query. Defaults to the IP address the request was made from when omitted | |
language | string | Language for localising the IP data. Supported values: de, en, es, fr, ja, pt, ru, zh (default: en) | |
hostname | boolean | If set to 1, a reverse DNS lookup is performed and the hostname field is populated. Disabled by default because it can add response time |
# Sample Response
{
"data": {
"ip": "1.1.1.1",
"hostname": null,
"type": "v4",
"range_type": {
"type": "PUBLIC",
"description": "Public address"
},
"connection": {
"asn": 13335,
"organization": "Cloudflare, Inc.",
"isp": "Cloudflare, Inc",
"range": "1.1.1.0/24"
},
"location": {
"geonames_id": 5392171,
"latitude": 37.33938980102539,
"longitude": -121.89495849609375,
"zip": "95101",
"continent": {
"code": "NA",
"name": "North America",
"name_translated": "North America",
"geonames_id": 6255149,
"wikidata_id": "Q49"
},
"country": {
"alpha2": "US",
"alpha3": "USA",
"calling_codes": ["+1"],
"currencies": [
{
"symbol": "$",
"name": "US Dollar",
"symbol_native": "$",
"decimal_digits": 2,
"rounding": 0,
"code": "USD",
"name_plural": "US dollars"
}
],
"emoji": "🇺🇸",
"ioc": "USA",
"languages": [
{
"name": "English",
"name_native": "English"
}
],
"name": "United States",
"name_translated": "United States",
"timezones": [
"America/New_York",
"America/Detroit",
"America/Kentucky/Louisville",
"America/Kentucky/Monticello",
"America/Indiana/Indianapolis",
"America/Indiana/Vincennes",
"America/Indiana/Winamac",
"America/Indiana/Marengo",
"America/Indiana/Petersburg",
"America/Indiana/Vevay",
"America/Chicago",
"America/Indiana/Tell_City",
"America/Indiana/Knox",
"America/Menominee",
"America/North_Dakota/Center",
"America/North_Dakota/New_Salem",
"America/North_Dakota/Beulah",
"America/Denver",
"America/Boise",
"America/Phoenix",
"America/Los_Angeles",
"America/Anchorage",
"America/Juneau",
"America/Sitka",
"America/Metlakatla",
"America/Yakutat",
"America/Nome",
"America/Adak",
"Pacific/Honolulu"
],
"is_in_european_union": false,
"fips": "US",
"geonames_id": 6252001,
"hasc_id": "US",
"wikidata_id": "Q30"
},
"city": {
"fips": "0668000",
"alpha2": null,
"geonames_id": 5392171,
"hasc_id": null,
"wikidata_id": "Q16553",
"name": "San Jose",
"name_translated": "San Jose"
},
"region": {
"fips": "US06",
"alpha2": "US-CA",
"geonames_id": 5332921,
"hasc_id": "US.CA",
"wikidata_id": "Q99",
"name": "California",
"name_translated": "California"
}
},
"tlds": [".us"],
"timezone": {
"id": "America/Los_Angeles",
"current_time": "2024-07-19T03:22:18-07:00",
"code": "PDT",
"is_daylight_saving": true,
"gmt_offset": -25200
},
"security": {
"is_anonymous": false,
"is_datacenter": false,
"is_vpn": false,
"is_bot": false,
"is_abuser": false,
"is_known_attacker": false,
"is_proxy": false,
"is_spam": false,
"is_tor": false,
"is_icloud_relay": false,
"threat_score": 0
},
"domains": {
"count": 31337,
"domains": [
"test-domain-1.com",
"test-domain-2.com",
"test-domain-3.com",
"test-domain-4.com",
"test-domain-5.com"
]
}
}
}
# Response structure
The /info endpoint offers the following information: data (general information), range_type, connection, location, tlds, timezone, security and domains.
# data
"data": {
"ip": "1.1.1.1",
"hostname": "one.one.one.one",
"type": "v4",
...
}
Available in: all plans
| Name | Type | Description |
|---|---|---|
ip | string | The requested IP address |
hostname | string | ️The IP's hostname (only populated if requested via ?hostname=1, otherwise null) |
type | string | v4 or v6 |
Hostname Lookup
The API does not return the hostname that the specified IP address resolves to by default. Add the hostname parameter and set it to 1 to include the hostname in your API response.
Important: The hostname lookup is disabled by default to save request time. Please be aware that turning on hostname lookup can make the API take longer to respond.
# range_type
Type: object
"range_type": {
"type": "PUBLIC",
"description": "Public address"
}
Available in: all plans
| Name | Type | Description |
|---|---|---|
type | string | The type of the IP range, see below |
description | string | ️A human-readable description |
This object can have the following values:
| type | description |
|---|---|
| UNSPECIFIED | Unspecified/unknown address |
| RESERVED | Reserved/internal use only |
| THIS_NETWORK | Refer to source hosts on this network |
| LOOPBACK | Internet host loopback address |
| ANYCAST_RELAY | Relay anycast address |
| LIMITED_BROADCAST | Limited broadcast destination address |
| MULTICAST | Multicast address assignments - Identify a group of interfaces |
| LINKLOCAL | Link local address, allocated for communication between hosts on a single link |
| LINKLOCAL_UNICAST | Link local unicast / Linked-scoped unicast |
| DISCARD_ONLY | Discard only |
| DISCARD | Discard |
| PRIVATE_NETWORK | For use in private networks |
| PUBLIC | Public address |
| CGNAT | Carrier-grade NAT |
# connection
Type: object
"connection": {
"asn": 13335,
"organization": "Cloudflare, Inc.",
"isp": "APNIC Research and Development",
"range": "1.1.1.1/32"
}
Available in: all plans
| Name | Type | Description |
|---|---|---|
asn | integer | The ASN number |
organization | string | ️The ASN organization |
isp | string | The name of the ISP |
range | string | The IP range the address belongs to |
# location
Type: object
Available in: all plans
| Name | Type | Description |
|---|---|---|
geonames_id | integer | The Geonames ID of the most specific known location |
latitude | float | ️The latitude of the IP's location |
longitude | float | The longitude of the IP's location |
zip | string | The postal/zip code |
# Third-party data IDs
Our location information features IDs of the following data sources that can be mapped for further data ingestion:
| Name | Datasource | Example |
|---|---|---|
| geonames_id | Geonames (opens new window) | https://www.geonames.org/5332921/ (opens new window) for California |
| hasc_id | Wikidata (opens new window) | https://www.wikidata.org/wiki/Property:P8119 (opens new window) represents country subdivions within |
| wikidata_id | Wikidata (opens new window) | https://www.wikidata.org/wiki/Q30 (opens new window) for the United States |
| fips | FIPS (opens new window) |
More detailed location data is available within four objects: continent, country, city, and region.
# continent
Type: object
| Parameter | Type | Description |
|---|---|---|
code | string | The two-letter continent code |
name | string | The continent name |
name_translated | string | The continent name in the requested language |
geonames_id | integer | reference |
wikidata_id | string | reference |
# country
Type: object
| Parameter | Type | Description |
|---|---|---|
alpha2 | string | The alpha-2 representation of the country code |
alpha3 | string | ️The alpha-3 representation of the country code |
calling_codes | array<string> | All available calling codes for this country |
currencies | array<object> | The country's currencies, see below |
emoji | string | The country's flag as an emoji |
ioc | string | The IOC's three-letter representation of the country code (reference (opens new window)) |
languages | array<object> | The country's languages, see below |
name | string | The country name |
name_translated | string | The country name in the requested language |
timezones | array<string> | All of the available timezones within the country |
is_in_european_union | boolean | true if the country is in the European Union (helpful for GDPR redirects), otherwise false |
fips | string | The FIPS two-letter representation of the country code (reference (opens new window)) |
geonames_id | integer | reference |
hasc_id | string | reference |
wikidata_id | string | reference |
# country.currencies
Type: array<object>
| Parameter | Type | Description |
|---|---|---|
symbol | string | The currency symbol |
name | string | ️The currency name |
symbol_native | string | The native currency symbol |
decimal_digits | integer | How many decimal digits the currency uses |
rounding | integer | |
code | string | ️The three-letter currency code |
name_plural | string | The plural version of the currency |
# country.languages
Type: array<object>
| Name | Type | Description |
|---|---|---|
name | string | The language name |
name_native | string | ️The native language name |
# city
Type: object
| Parameter | Type | Description |
|---|---|---|
fips | string | The FIPS representation of the city code (reference (opens new window)) |
alpha2 | string | ️The ISO representation of the city |
geonames_id | integer | reference |
hasc_id | string | reference |
wikidata_id | string | ️reference |
name | string | The city name |
name_translated | string | The city name in the requested language |
# region
Type: object
| Parameter | Type | Description |
|---|---|---|
fips | string | The FIPS representation of the region code (reference (opens new window)) |
alpha2 | string | ️The ISO representation of the region (e.g. US-CA) |
geonames_id | integer | reference |
hasc_id | string | reference |
wikidata_id | string | ️reference |
name | string | The region name |
name_translated | string | The region name in the requested language |
# tlds
Type: array<string>
Available in: all plans
The top-level domains associated with the IP's country, e.g. [".us"]
# timezone
"timezone": {
"id": "America/Los_Angeles",
"current_time": "2024-07-19T03:22:18-07:00",
"code": "PDT",
"is_daylight_saving": true,
"gmt_offset": -25200
}
Type: object
Available in: all plans
| Name | Type | Description |
|---|---|---|
id | string | The timezone |
current_time | string | The current time as a datetime string |
code | string | The three-letter code for the timezone |
is_daylight_saving | boolean | If it is currently daylight saving |
gmt_offset | integer | The offset to GMT in seconds |
# security
"security": {
"is_anonymous": false,
"is_datacenter": false,
"is_vpn": false,
"is_bot": false,
"is_abuser": false,
"is_known_attacker": false,
"is_proxy": false,
"is_spam": false,
"is_tor": false,
"is_icloud_relay": false,
"threat_score": 0
}
Type: object
Available in: plans that include security data — on plans without security data the object is still present, but all of its fields are null.
| Name | Type | Description |
|---|---|---|
is_anonymous | boolean | If the IP is anonymous |
is_datacenter | boolean | ️If the IP is an address used in a datacenter |
is_vpn | boolean | ️If the IP is a known VPN |
is_bot | boolean | ️If the IP is a known bot |
is_abuser | boolean | ️If the IP is a known abuser |
is_known_attacker | boolean | If the IP is a known attacker |
is_proxy | boolean | If the IP is a known proxy |
is_spam | boolean | If the IP is a known spammer |
is_tor | boolean | If the IP is a known Tor endpoint |
is_icloud_relay | boolean | If the IP is a known iCloud relay IP |
threat_score | integer | A threat score on a scale from 0 to 100, with 0 representing no threat and 100 the highest threat level |
# domains
"domains": {
"count": 31337,
"domains": [
"test-domain-1.com",
"test-domain-2.com",
"test-domain-3.com",
"test-domain-4.com",
"test-domain-5.com"
]
}
Type: object
Available in: plans that include security data — on plans without security data, count is null and domains is an empty array.
| Name | Type | Description |
|---|---|---|
count | integer | How many domains are hosted on this IP |
domains | array<string> | ️A list of domains hosted on this IP |