List the domains seen on an IP
/v1/ip/{ip}/domainsReverse IP: the domains observed resolving to an IP (who else is on it),
one item per answer interval, oldest first. Ended intervals are included
with include_ended=true. Pass next_cursor back as cursor for the
next page; each page counts one request.
Authorization
APIKey Your API key, which starts with sk_. Create one in the console.
In: header
Path Parameters
A public IPv4 or IPv6 address. Private, reserved, loopback, link-local, documentation, CGNAT and multicast addresses are refused.
Query Parameters
Also list intervals that ended (the domain stopped resolving to the IP).
falseItems per page, 1 to 1000. Free keys get at most 100 a page; a larger limit is lowered and next_cursor continues.
1 <= value <= 1000100The previous page's next_cursor, unchanged. Omit it for the first page.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl "https://api.ipalmanac.com/v1/ip/54.10.20.30/domains" \ -H "Authorization: Bearer $IPALMANAC_API_KEY"{ "ip": "54.10.20.30", "include_ended": true, "items": [ { "domain": "alpha.example", "record_type": "A", "first_observed": "2026-10-01T03:10:00+00:00", "last_confirmed": "2026-10-06T01:40:00+00:00", "ended_at": null, "current": true }, { "domain": "beta.example", "record_type": "A", "first_observed": "2026-10-01T04:00:00+00:00", "last_confirmed": "2026-10-03T04:00:00+00:00", "ended_at": "2026-10-04T04:00:00+00:00", "current": false } ], "next_cursor": "eyJ...opaque", "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" }}