For developers

The Domains API

Open JSON, no key, readable from any site (CORS). Prices come from registrars' public price lists with the date each was read; nothing is sponsored.

Endpoints

GET /api/v1/search?q=sushitruck
A name: whether it is free (the registry's answer) and every ending's prices with 1, 3 and 5-year totals, cheapest over three years first.
GET /api/v1/tlds?sort=renew
Every ending OpenVibe prices (sort popular, tld, register or renew; q, kind and page narrow it).
GET /api/v1/tlds/dev
One ending: every registrar's prices with totals, and the price changes recorded.
GET /api/v1/domains/example.com
One domain: status, registrar, expiry, its public history and its ending's prices.

Try it

Price a name
curl "https://openvibe.domains/api/v1/search?q=sushitruck"
JavaScript
const r = await fetch('https://openvibe.domains/api/v1/tlds/dev').then((x) => x.json());
console.log(r.tld.prices[0]);

Limits: 120 requests a minute from one address. Errors are problem+json (RFC 9457). llms.txt describes the site for agents.