Show a domain's DNS history
/v1/domain/{domain}/historyA domain's current A/AAAA state, with staleness, and its answer intervals, oldest first. Covers popular registered domains; a new or long-tail domain is usually empty. Each page counts one request.
Authorization
APIKey Your API key, which starts with sk_. Create one in the console.
In: header
Path Parameters
A hostname such as example.com. It is lowercased, a trailing dot is dropped and Unicode labels are punycoded.
Query Parameters
Items 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/domain/example.com/history" \ -H "Authorization: Bearer $IPALMANAC_API_KEY"{ "domain": "alpha.example", "observed": true, "current": [ { "record_type": "A", "outcome": "positive", "outcome_class": "positive", "values": [ "54.10.20.30" ], "cnames": [], "last_observed": "2026-10-06T01:40:00+00:00", "last_confirmed": "2026-10-06T01:40:00+00:00", "last_positive": "2026-10-06T01:40:00+00:00", "age_seconds": 3600, "stale": false, "stale_reason": null }, { "record_type": "AAAA", "outcome": "timeout", "outcome_class": "transient", "values": [ "2600:1f18::10" ], "cnames": [], "last_observed": "2026-10-06T01:40:00+00:00", "last_confirmed": "2026-10-05T01:40:00+00:00", "last_positive": "2026-10-05T01:40:00+00:00", "age_seconds": 90000, "stale": true, "stale_reason": "transient_failure" } ], "intervals": [ { "record_type": "A", "value": "54.10.20.30", "first_observed": "2026-10-01T03:10:00+00:00", "last_confirmed": "2026-10-06T01:40:00+00:00", "ended_at": null, "current": true }, { "record_type": "AAAA", "value": "2600:1f18::10", "first_observed": "2026-10-01T03:10:00+00:00", "last_confirmed": "2026-10-05T01:40:00+00:00", "ended_at": null, "current": true } ], "next_cursor": null, "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" }}List the domains seen on an IP GET
Reverse IP: the domains observed resolving to an IP (who else is on it), one item per answer interval, oldest first.
Show the networks a domain moved through GET
Hosting history: the networks a domain's A/AAAA answers moved through, one run per stretch on one network (routing ASN and cloud, hosting or CDN provider), oldest first, with when it was first and last seen there and when it left.