Show the networks a domain moved through
/v1/domain/{domain}/hostingHosting 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. A move happened between one run's last_confirmed and its
ended_at, never at an instant. Covers popular registered domains;
history starts with the first observation (coverage.observation_window).
Each run's network is the current release's mapping and ranges applied
to its addresses, not the routing at the time. 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.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl "https://api.ipalmanac.com/v1/domain/example.com/hosting" \ -H "Authorization: Bearer $IPALMANAC_API_KEY"{ "domain": "beta.example", "hosting": [ { "public": true, "asn": 64500, "as_name": "EXAMPLE-CLOUD - Example Cloud, Inc.", "provider": "examplecloud", "category": "cloud", "addresses": 1, "record_types": [ "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 }, { "public": true, "asn": 64501, "as_name": "EXAMPLE-CDN - Example CDN, Inc.", "provider": "examplecdn", "category": "cdn", "addresses": 1, "record_types": [ "A" ], "first_observed": "2026-10-04T04:00:00+00:00", "last_confirmed": "2026-10-06T00:00:00+00:00", "ended_at": null, "current": true } ], "truncated": false, "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" }}Show a domain's DNS history GET
A domain's current A/AAAA state, with staleness, and its answer intervals, oldest first.
Look up an ASN GET
One network: the IP ranges the IPtoASN mapping assigns to the ASN, its name and registry country, the published cloud, hosting and CDN ranges inside them, and how many IPs and domains were observed there.