Skip to content
Private preview: new accounts are by invitation only. Ask for one

Look up a public IP

GET/v1/ip/{ip}

What was observed about one public IP: its mapped ASN, provider ranges (cloud, hosting, CDN), PTR name and the domains seen resolving to it. Start here for who else is on an IP and which network hosts it.

Counts one request. Unknown is null, never false; an empty domain list means none were observed here, not that none exist. provider_ranges also says whether the IP is listed as one of Tor exits, iCloud Private Relay egress and DuckDuckGo and Google crawlers (tor_exit, relay and crawler): how the IP is used, from the operators' own published lists, never who hosts it.

Authorization

APIKey
AuthorizationBearer <token>

Your API key, which starts with sk_. Create one in the console.

In: header

Path Parameters

ip*string

A public IPv4 or IPv6 address. A private, reserved, loopback, link-local, documentation, CGNAT or multicast address answers is_bogon true and nothing else, not counted.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl "https://api.ipalmanac.com/v1/ip/54.10.20.30" \  -H "Authorization: Bearer $IPALMANAC_API_KEY"
{  "ip": "54.10.20.30",  "asn": {    "asn": 64500,    "route": "54.10.0.0/16",    "descr": "EXAMPLE-CLOUD - Example Cloud, Inc.",    "country": "US",    "source": "IPtoASN"  },  "is_datacenter": true,  "is_cdn": null,  "provider": "examplecloud",  "prefix": "54.10.20.0/24",  "provider_ranges": [    {      "prefix": "54.10.20.0/24",      "provider": "examplecloud",      "category": "cloud",      "metadata": {        "region": "xx-test-1",        "service": "COMPUTE"      },      "first_seen": "2026-08-07T00:00:00+00:00",      "last_seen": "2026-10-05T00:00:00+00:00"    }  ],  "ptr": {    "names": [      "host-54-10-20-30.examplecloud.example"    ],    "status": "positive",    "checked_at": "2026-10-04T12:00:00+00:00",    "last_confirmed": "2026-10-04T12:00:00+00:00"  },  "domains": {    "current_count": 2,    "sample": [      "alpha.example",      "gamma.example"    ],    "first_observed": "2026-10-01T03:10:00+00:00",    "last_confirmed": "2026-10-06T01:40:00+00:00"  },  "coverage": {    "observation_window": {      "first": "2026-10-01T00:00:00+00:00",      "last": "2026-10-06T01:55:00+00:00"    },    "vantage_count": 1,    "record_types": [      "A",      "AAAA"    ],    "seed": {      "source": "Majestic Million",      "names": 1000000    },    "ptr": {      "checked_ips": 87000,      "observed_ips": 588000    },    "semantics": [      "Coverage is the seed list, not the whole Internet. Empty means unobserved here, not absent.",      "is_datacenter and is_cdn are true only when the IP is inside a published provider range of that category; null means no range matched, not that the IP is not hosted.",      "provider and prefix come only from cloud, hosting and CDN ranges. A range of any other category in provider_ranges describes how the IP is used, not who hosts it."    ]  },  "attribution": [    {      "source": "Majestic Million",      "by": "Majestic",      "license": "CC BY 3.0"    },    {      "source": "IPtoASN",      "by": "Frank Denis",      "license": "PDDL 1.0"    }  ],  "release": {    "id": "20261006T020000Z",    "built_at": "2026-10-06T02:00:00+00:00"  },  "is_bogon": false,  "bogon": null}