Skip to content
§ the whole API

Six endpoints. No key required to read.

Everything returns JSON by default. Add ?format=text, csv or yaml, or just call it from curl — it detects a terminal and formats for one.

§ 01

Your own address

GET /api/v1/me

The full record for the address this request came from.

§ 02

One address

GET /api/v1/{ip}

The full record. IPv4 and IPv6 both accepted.

§ 03

A single field

GET /api/v1/{ip}/{field}

Bare text/plain, no quoting, so it pipes straight into a shell.

§ 04

Many addresses

POST /api/v1/batch

Up to 1000 per call.

§ 05

An autonomous system

GET /api/v1/asn/{asn}

Detail plus the prefixes it announces.

§ 06

Service health

GET /api/v1/health

Dataset freshness, cache status, source attribution.

§ fields

Every addressable field

Any of these works as the last segment of /api/v1/{ip}/{field}, and returns bare text.

iphostnameanycastbogonlocation.citylocation.regionlocation.countrylocation.country_namelocation.continentlocation.postallocation.latlocation.lonlocation.accuracy_radius_kmlocation.timezonelocation.eu_membernetwork.asnnetwork.as_namenetwork.as_domainnetwork.as_typenetwork.prefixnetwork.allocated_atnetwork.rircompany.namecompany.domaincompany.typeabuse.emailabuse.phoneabuse.networkabuse.addressprivacy.vpnprivacy.proxyprivacy.torprivacy.relayprivacy.hostingprivacy.mobileprivacy.satelliteprivacy.servicecarrier.namecarrier.mcccarrier.mnc
§ schema

OpenAPI 3.1

/api/schema — generated from the code, so it cannot drift from what is served.