Skip to content
ipaddress.co.il

API

The same data as the website, as JSON or plain text. No key, no account; fair-use rate limits apply.

curl https://ipaddress.co.il/api/v1/my-ip?format=text

Endpoints

PathDescriptionDataRate limits
GET/api/v1/my-ipTry it: /api/v1/my-ipYour IP address (also as plain text with ?format=text).Own datasets120 · 240/min
GET/api/v1/ip/{address}Try it: /api/v1/ip/132.247.0.1Network, routing, registry and location data for an address.Own datasets30 · 30/min
GET/api/v1/ip/geolocation?ip=Try it: /api/v1/ip/geolocation?ip=177.224.0.1Only the location estimate of an address (DB-IP Lite), always marked estimated.Own datasets30 · 30/min
GET/api/v1/ip/asn?ip=Try it: /api/v1/ip/asn?ip=2001:1208::1The origin AS and announced prefix of an address, and the registry delegation it falls in.Own datasets30 · 30/min
GET/api/v1/ip/reverse?ip=Try it: /api/v1/ip/reverse?ip=8.8.8.8The PTR record of a public address, live, with forward confirmation.Live query40 · 60/min
GET/api/v1/ip/blacklist?ip=Try it: /api/v1/ip/blacklist?ip=8.8.8.8Live DNSBL results (SpamCop, PSBL, DroneBL, s5h.net) and the Tor exit flag for a public address.Live query40 · 60/min
POST/api/v1/bulkcurl --data-binary $'1.1.1.1\n9.9.9.9' https://ipaddress.co.il/api/v1/bulkUp to 100 addresses at once (JSON {"addresses": […]} or one per line), answered from our own datasets only. Nothing is stored.Own datasets6 · 3/min
GET/api/v1/asn/{asn}Try it: /api/v1/asn/AS8151Holder, registry and announced prefixes of an autonomous system.Own datasets30 · 30/min
GET/api/v1/network/{cidr}Try it: /api/v1/network/132.247.0.0/16A network in CIDR notation: size, range, special-purpose status, who announces it (with RPKI), the registry delegation and a location estimate.Own datasets30 · 30/min
GET/api/v1/network/ipv4?cidr=Try it: /api/v1/network/ipv4?cidr=192.168.1.37/24Subnet arithmetic for an IPv4 or IPv6 network: network, broadcast, masks, usable range and counts.Own datasets120 · 240/min
GET/api/v1/network/ipv6?cidr=Try it: /api/v1/network/ipv6?cidr=2001:db8::/48Subnet arithmetic for an IPv4 or IPv6 network: network, broadcast, masks, usable range and counts.Own datasets120 · 240/min
GET/api/v1/country/{cc}Try it: /api/v1/country/MXA country's registered address space and AS numbers, what its networks announce, RPKI coverage and the top networks (for IL also the estimate per district).Own datasets30 · 30/min
GET/api/v1/dns/{domain}?type=A,MXTry it: /api/v1/dns/unam.mx?type=A,MXLive DNS records for a domain.Live query40 · 60/min
GET/api/v1/dns/propagation?name=&type=Try it: /api/v1/dns/propagation?name=unam.mx&type=AThe same DNS question asked of several public resolvers, with each answer and whether they agree.Live query40 · 60/min
GET/api/v1/rdap/{query}Try it: /api/v1/rdap/AS8151Registration data from the authoritative RDAP server.Live query10 · 6/min
GET/api/v1/healthTry it: /api/v1/healthLiveness of the service.Own datasets120 · 240/min
GET/api/v1/data-statusTry it: /api/v1/data-statusAge and size of each dataset.Own datasets120 · 240/min

Plain-text shortcuts outside /api/v1: /raw prints your address, /json the same object as /my-ip, /country your estimated country code.

Every path endpoint also has a query form: /ip/lookup?ip=, /asn/lookup?asn=, /dns/lookup?name=, /network/cidr?cidr=. Each response carries an X-Request-Id header.

curl ipaddress.co.il/rawcurl ipaddress.co.il/jsoncurl ipaddress.co.il/country

Rate limits

Requests are limited per client address with a token bucket. When the limit is reached the API answers 429 with a Retry-After header. Limits are counted in memory with a hashed, daily-rotated key; addresses are not stored.

Errors

Errors use HTTP status codes and a JSON body of the form {"error": {"code": "…", "message": "…"}}.

Versioning

Paths under /api/v1/ keep their response shape. New fields may be added; existing fields are not removed or renamed within v1.

Attribution

Location data comes from DB-IP (CC BY 4.0). If you show it, credit DB-IP as the licence requires.