Public API and AI integration
Lowest published standard prices among connected registrars with fresh offers matching the query; coverage is not the whole market.
Free, read-only public endpoints. No account or API key. CORS supports external browser applications. Registration, purchases, transfers, and availability checking are not supported.
OpenAPI 3.1 contract · Complete Markdown guide · llms.txt · Name discovery guidance
REST endpoints
Base URL: https://cheapest.domains/api/v1. All endpoints below use GET.
/api/v1/prices
Find affordable domain extensions and registrar offers, sorted by annual renewal by default. Fresh covered offers only by default. Returns prices, citation links, timestamps, coverage, and pagination. Does not check exact-name availability.
Parameters
q: TLD search: .com is exact; com is partial. Separate alternatives with commas or spaces.registrar: Connected registrar ID from the registrars endpoint. Omit to compare all.sort: Ranking metric. Total uses a conservative new-registration estimate.years: Planning horizon in years, including initial registration.maxRenewalCents: Maximum annual renewal in integer USD cents; 1000 means USD 10.hideCountryCodes: Exclude two-letter country-code extensions.hideJumps: Exclude current renewal prices greater than twice registration.view: Best returns one winner per TLD; all returns every matching registrar offer.includeStale: Include outdated offers only with view=all. Outdated offers never win best comparisons.limit: Maximum number of results, up to 200.offset: Result offset. Follow pagination.next for additional results; the feed can change between requests.name: Optional domain label, without extension, used only to construct registrar links. No availability lookup is performed.
/api/v1/tlds/{tld}
Compare all covered registrars for one extension. Inspect source failures and minimum terms; availability is not checked.
Parameters
tld(required): One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered.registrar: Connected registrar ID from the registrars endpoint. Omit to compare all.sort: Ranking metric. Total uses a conservative new-registration estimate.years: Planning horizon in years, including initial registration.includeStale: Include outdated offers only with view=all. Outdated offers never win best comparisons.limit: Maximum number of results, up to 200.offset: Result offset. Follow pagination.next for additional results; the feed can change between requests.name: Optional domain label, without extension, used only to construct registrar links. No availability lookup is performed.
/api/v1/registrars
Get connected registrar coverage, timestamps, fresh counts, failures, and registrars not compared.
No parameters.
/api/v1/estimate
Estimate new registration plus subsequent renewals for one TLD at a registrar. Returns null for unknown multi-year term totals. Not a transfer or existing-domain renewal quote.
Parameters
tld(required): One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered.registrar(required): Connected registrar ID from the registrars endpoint. Omit to compare all.years(required): Planning horizon in years, including initial registration.name: Optional domain label, without extension, used only to construct registrar links. No availability lookup is performed.
/api/v1/registrar-link
Construct a verified registrar search destination for a proposed name and extension. Does not navigate, check availability, or purchase. NameBright uses an explicit copy/paste fallback.
Parameters
tld(required): One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered.registrar(required): Connected registrar ID from the registrars endpoint. Omit to compare all.name(required): Optional domain label, without extension, used only to construct registrar links. No availability lookup is performed.
/api/v1/naming-guide
Read the workflow for suggesting creative domain names based on the user’s project, then compare renewal prices. The visiting assistant generates the ideas; availability remains unchecked.
No parameters.
Try a request
curl 'https://cheapest.domains/api/v1/prices?maxRenewalCents=1000&limit=10'
curl 'https://cheapest.domains/api/v1/tlds/com?name=myproject'
curl 'https://cheapest.domains/api/v1/estimate?tld=com®istrar=porkbun&years=5'
curl 'https://cheapest.domains/api/v1/prices?format=csv&limit=200'Renewals under USD 10 · Compare .com · Source status
Results, errors, and freshness
Amounts are integer USD cents: 1000 means USD 10. Responses carry coverage, source timestamps, stale flags, terms, and citation links. Defaults: renewal ranking, one fresh winner per extension, three-year estimates, 50 results. Maximum 200 results per page. Follow pagination.next or the HTTP Link header. CSV and Markdown are also paginated.
Price endpoints accept format=json, csv, or markdown, plus corresponding Accept headers. Unknown, repeated, or malformed parameters return 400; missing covered offers return 404; unavailable fresh pricing returns 503 with Retry-After: 60. A 200 response can have partial source coverage. Inspect coverage.partial and sources. Outdated offers require explicit includeStale=true with view=all for search.
The service refreshes each source when its cache expires, normally after six hours. Reuse responses until their source expiry. Avoid continuous polling and forced refreshes. Cold requests may take a minute. GET /api/v1/health checks service liveness; /api/v1/registrars reports upstream health.
MCP and WebMCP
Connect a compatible MCP client to https://cheapest.domains/mcp using Streamable HTTP. No credentials are needed. The same six tools listed above are available through REST, MCP, and WebMCP. MCP requires client connection; hosting a server does not automatically list it in a directory.
In browsers implementing WebMCP, our pages register structured, read-only tools. Browser support varies; REST works independently. Tools return prices and links without navigating, purchasing, or changing the workbench. get_naming_guidance explains how your assistant should suggest names from the user’s project context before comparing costs.
Domain links and privacy
Pass a single label such as myproject in name; the tool appends the selected extension. The link endpoint constructs a destination without querying the registrar. API query parameters may appear in hosting logs. Names typed in the workbench stay in the browser until a registrar link is opened. NameBright requires copying the returned domain into its search page.
Pricing conditions
- Amounts are integer cents in USD per year. Registration and renewal are different prices.
- Prices apply to standard non-premium names, not a quote for an exact domain. Availability is not checked.
- Taxes, billing country, eligibility, minimum terms, and optional services can change checkout totals.
- Estimates use registration plus later renewals at the highest disclosed current, announced, or regular renewal rate. Future prices are not guaranteed.
- Multi-year minimum terms have no planning estimate. Inspect retained term quotes and confirm at the registrar.
- Fetched timestamps record retrieval, not when a registrar changed its price. Inspect stale flags and source failures.
- Converted prices retain original currency and exchange-rate provenance; currency conversion is approximate.
Use “cheapest among covered fresh offers” when reporting results. Always label suggested names as availability not checked. See the naming workflow.