Skip to content
Liorith/Registry

Docs · API

API reference

Public, unauthenticated, GET only. The conventions below hold for every endpoint.

Base URL

text
https://api.registry.liorith.net

No API key, no account, no headers. /check and /legal answer OPTIONS with permissive CORS, so they can be called from a browser.

Outcomes live in the body

Registry outcomes are delivered with HTTP 200 and the result is a field in the body. A domain that is not registered is a valid answer, not a missing resource.

Transport and infrastructure failures use 4xx and 5xx and carry no registry outcome at all: a rate limit, a missing parameter, an upstream WHOIS server that will not answer, or replay protection being unavailable on /verify. Seeing one of those means the question was never answered — not that the answer was negative.

This is deliberate. A 404 from the endpoint is indistinguishable from a 404 produced by a proxy, a CDN or a WAF in front of it, and many HTTP clients retry or throw on anything that is not 2xx. Keeping the outcome in the body means a transport error stays a transport error.

The complete list of non-200 codes: 400 for a missing parameter, 429 when rate limited, 502 when the WHOIS upstream fails, 503 when /verify cannot run replay protection. Retry those; never read them as a result.

Rate limits

Counted per client IP in a rolling one-minute window. Exceeding a limit answers 429 with a Retry-After header.

/check, /verify30 / minThe two endpoints most integrations use.
/domains, /blacklist, /legal, /stats30 / minList endpoints. Cache the result rather than polling.
/badge, /widget60 / minEmbedded assets, cached for five minutes downstream.
/dns20 / minLive DNS resolution.
/whois10 / minUpstream WHOIS, the slowest and most fragile of the set.

Responses are sent with Cache-Control: no-store, except the badge and widget assets which are cached for five minutes. If you need volume, mirror /domains on your side and refresh it on a schedule.

Endpoints