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

Quickstart

Create an API key, check it, and look up your first IP.

Create an API key

  1. Sign in at app.ipalmanac.com with your email. We send a sign-in link; there is no password. During the private preview only invited emails can sign in; ask at support@ipalmanac.com.
  2. The first time, agree to the Terms. Your workspace and a project named Default are created for you.
  3. Open API keys, choose Create Key and give it a label.
  4. Copy the key. It is shown once.

Keep the key out of your code by putting it in an environment variable:

export IPALMANAC_API_KEY="<your API key>"

Check the key

GET /v1/ping answers with the server's time when the key works.

curl https://api.ipalmanac.com/v1/ping \
  -H "Authorization: Bearer $IPALMANAC_API_KEY"
{ "ok": true, "timestamp": "2026-10-08T21:54:16.482913+00:00" }

A 401 means the key is missing, mistyped, revoked or expired. A ping counts as one request.

Look up an IP

GET /v1/ip/{ip} says what was observed about one public IP.

curl https://api.ipalmanac.com/v1/ip/8.8.8.8 \
  -H "Authorization: Bearer $IPALMANAC_API_KEY"

The answer has these parts:

FieldWhat it says
asnThe network that routes the IP: number, name, registry country, and what kind of network it is (category).
is_datacenter, is_cdn, provider, prefixWhether the IP is in a range a cloud or hosting provider (is_datacenter) or a CDN (is_cdn) publishes, and whose. null means not in one we have, never "no".
provider_rangesEvery published range that holds the IP, including Tor exit, iCloud Private Relay and crawler lists.
ptrThe IP's reverse DNS name, when we have checked it.
domainsHow many domains' latest observed answer includes the IP, a sample of up to 10, and when we first and last saw one.
coverage, attribution, releaseWhat the answer is based on, the sources to credit, and the data snapshot it came from.

The reference shows an example response with every part.

List the domains on it

GET /v1/ip/{ip}/domains lists the domains on the IP now, with dates. Add include_ended=true to include domains that have since moved away.

curl "https://api.ipalmanac.com/v1/ip/8.8.8.8/domains?include_ended=true" \
  -H "Authorization: Bearer $IPALMANAC_API_KEY"

A long list comes in pages: pass the answer's next_cursor back as cursor. See Pagination.

Next

To try requests without writing code, open a project's Playground page in the console. It runs these lookups and shows each one as cURL, JavaScript and Python. Owners and admins can run requests there, and each run counts like any other request.

On this page