Find a domain.
Keep it for less.
Cheaper to renew than Namecheap, Gandi and IONOS on every extension we compare. Every renewal is priced from our registrar's cost by the same margin rule, so the price you see is the price you keep paying. See the comparison.
All taken. Try a variation:
Prices per year, in US dollars before VAT. VAT is added at payment where it applies.
Or let your agent search and buy: MCP server · REST APIPress / to search
Checking many names? Use bulk search
Renewal prices
The first year is the hook. Renewal is the bill.
Most registrars win you with a low first year, then charge more every year after. Every renewal is priced from our registrar's cost by the same margin rule, so the price you see is the price you keep paying. Cheaper to renew than Namecheap, Gandi and IONOS on every extension we compare.
| TLD | Us | Namecheap | OVHcloud | IONOS | Gandi |
|---|---|---|---|---|---|
| .com | US$13.99 | US$18.68 | US$15.10 | US$16.79 | US$35.81 |
| .net | US$15.49 | US$18.78 | US$17.01 | US$16.79 | US$44.78 |
| .org | US$14.99 | US$19.18 | US$14.54 | US$16.79 | US$35.81 |
| .fr | US$8.49 | US$20.98 | US$8.72 | US$12.31 | US$26.85 |
| .eu | US$7.99 | US$10.98 | US$9.62 | US$13.43 | US$33.59 |
| .io | US$65.49 | US$75.98 | US$66.93 | US$90.68 | US$72.76 |
| .ai | US$208.49 | US$114.98 | US$134.33 | US$151.13 | US$179.12 |
| .xyz | US$17.99 | US$21.68 | US$16.22 | US$22.39 | US$33.59 |
| .dev | US$15.99 | US$21.18 | US$17.34 | US$27.99 | US$35.81 |
| .app | US$18.49 | US$23.18 | US$20.25 | US$27.99 | US$44.78 |
| .co | US$39.49 | US$45.48 | US$36.71 | US$49.26 | US$67.17 |
Renewal per year, in US dollars before VAT, read on 14 October 2026 from each registrar's public price page. Euro prices at the ECB rate of that day. "Us" is Registrar Domains, at our price read on 23 October 2026; the table shows today's price once the page loads. GoDaddy does not publish renewal prices, so it is only on the full table. The lowest price in each row is in bold. All 11 registrars, Cloudflare and Porkbun included, with first-year prices and sources →
For agents
Everything on this page works for your agent.
One MCP server and a REST API with the same tools. Your agent searches, prices and starts the order, then reads your domains and orders. You pay through the link it gives you. Automatic renewal, if you or your agent turns it on, charges your saved card before expiry.
Claude Code, with a key
claude mcp add --transport http registrar-domains https://registrar-domains.com/mcp --header "Authorization: Bearer apex_…"Cursor, any MCP client, with a key
{
"mcpServers": {
"registrar-domains": {
"type": "http",
"url": "https://registrar-domains.com/mcp",
"headers": {
"Authorization": "Bearer apex_…"
}
}
}
}Plain HTTP
curl -s "https://registrar-domains.com/api/suggest?idea=quietharbor"Same JSON as the MCP tools. Schema at /openapi.json.
suggest_domainsFind me a name for “quiet harbor”.- in
{ "idea": "quiet harbor" }- out
[{ "domain": "quietharbor.fr", "availability": "available", "price": { "price": …, "renewPrice": … } }, …]
check_domainIs quietharbor.io free?- in
{ "domain": "quietharbor.io" }- out
{ "availability": "available", "source": "registrar" }
get_priceWhat does .co cost to keep?- in
{ "tld": "co" }- out
{ "price": …, "renewPrice": …, "cost": …, "renewCost": … }
register_domainRegister it for two years.- in
{ "domain": "quietharbor.fr", "years": 2, "registrant": { … } }- out
{ "status": "awaiting_payment", "total": …, "checkoutUrl": "https://checkout.stripe.com/…" }
get_orderIs it mine yet?- in
{ "orderId": "ord_…" }- out
{ "status": "registered", "registeredAt": "2026-10-14T18:02:11Z" }
list_domainsWhat do I own?- in
{}- out
{ "domains": [{ "name": "quietharbor.fr", "expiresAt": "2028-10-14" }] }
list_ordersWhat did my agents buy this month?- in
{ "limit": 20 }- out
{ "orders": [{ "domain": "quietharbor.fr", "status": "registered" }, …] }
Plus 25 tools to run what you own: DNS records, nameservers, transfer lock and code, renewal and the activity log. Every tool, its arguments, and how to connect →
Real calls to /api/suggest, with live prices. The last step shows what the agent gets back; no order is created.
All 32 tools
check_domainopenIs this exact domain available?
Docs for check_domainsuggest_domainsopenTry one idea across the launch TLDs and rank by availability.
Docs for suggest_domainsget_priceopenFirst-year and renewal price in USD before VAT for one TLD, next to our registrar's costs (cost, renewCost).
Docs for get_priceregister_domainreadStart a registration.
Docs for register_domainget_orderreadFollow an order.
Docs for get_orderlist_domainsreadThe domains of your account, soonest expiry first, with state, expiry, days left and auto-renew.
Docs for list_domainslist_ordersreadThe orders of your account, newest first, from every key and connection, with the amount paid and the invoice link.
Docs for list_ordersget_domainreadOne domain: expiry, auto-renew, nameservers, transfer lock, DNSSEC, what the registry allows, and whether it is managed here.
Docs for get_domainrenew_domainreadStart a renewal for N years.
Docs for renew_domainget_basketreadThe account's basket, priced live: domains, years, options, line totals and the subtotal.
Docs for get_basketset_basketreadReplace the basket with lines of { domain, years, addons }.
Docs for set_basketcheckout_basketreadOne order and one payment link for the whole basket, every domain to the same registrant.
Docs for checkout_basketlist_dns_recordsreadThe DNS records of a domain, each with a stable id, and whether our nameservers serve them.
Docs for list_dns_recordsadd_dns_recordwriteAdd a DNS record: A, AAAA, CNAME, MX, TXT, CAA or SRV.
Docs for add_dns_recordupdate_dns_recordwriteReplace one DNS record by its id.
Docs for update_dns_recorddelete_dns_recordwriteRemove one DNS record by its id.
Docs for delete_dns_recordset_nameserverswriteAsks by email firstAsk to point the domain to other nameservers (two to thirteen), or back to ours with an empty list.
Docs for set_nameserversuse_cloudflarewriteAsks by email firstAsk to move the domain's DNS to Cloudflare: exactly the two nameservers Cloudflare assigned.
Docs for use_cloudflareget_cloudflare_statusreadWhere the move to Cloudflare stands: pending, waiting, live (visible in public DNS), failed with the reason, or replaced, and what public DNS answers now.
Docs for get_cloudflare_statusexport_zone_filereadThe domain's DNS records as a BIND zone file, to import in Cloudflare (DNS → Records → Import and Export) before a move.
Docs for export_zone_fileturn_off_dnssecwriteAsks by email firstAsk to turn DNSSEC off before a move to Cloudflare.
Docs for turn_off_dnssecconnect_cloudflarewriteLink the owner's Cloudflare account with an API token (Zone: Read, Zone: Edit, DNS: Edit), so the one-click move can create the zone and copy the records.
Docs for connect_cloudflareget_cloudflare_connectionreadWhether a Cloudflare account is linked: its id and name, when, and whether the link stays after a move.
Docs for get_cloudflare_connectiondisconnect_cloudflarewriteDelete the stored Cloudflare token.
Docs for disconnect_cloudflareprepare_cloudflare_movewriteCreate the domain's zone on the linked Cloudflare account (Free plan) and copy every DNS record exactly, then read it back.
Docs for prepare_cloudflare_moveswitch_cloudflare_movewriteAsks by email firstPoint a prepared move's nameservers to Cloudflare, after every check again.
Docs for switch_cloudflare_moveget_cloudflare_movereadWhere the one-click move stands: preparing, prepared (with the diff), switching, switched, active, failed or cancelled, and what public DNS shows.
Docs for get_cloudflare_movecancel_cloudflare_movewriteCancel a prepared move.
Docs for cancel_cloudflare_moveset_transfer_lockwriteUnlocking asks by email firstLock the domain against transfers, at once, where the registry allows it.
Docs for set_transfer_lockset_auto_renewwriteTurning on asks by email firstTurn auto-renew off at once, or ask to turn it on.
Docs for set_auto_renewget_auth_codetransferAsks by email firstAsk for the transfer code, to move the domain to another registrar.
Docs for get_auth_codeget_domain_activityreadWho changed what on a domain, newest first: DNS, nameservers, lock, auto-renew, transfer code, renewals.
Docs for get_domain_activity
No tool matches.
How buying works
No password. One payment. Yours in minutes.
Search, and add the names you want to your basket. Sign in with the link we email you. Fill in the registrant once for every name, then pay once by card. Your domains, DNS, renewals and invoices stay in one account.
You pay first, then we buy
We never pay the registrar before your payment clears. An order that is not paid simply expires.
Refund if it fails
If the registry refuses the registration, you get your money back in full.
Our cost is public
The API shows what our registrar charges us next to what we charge you. The gap is our whole margin.
Renewal price up front
You see the renewal price before you pay. It follows our registrar's cost, with the same margin as the first year. Renew from your dashboard, or from the link in the reminder emails we send 30 and 7 days before expiry. Automatic renewal is off by default. Turn it on per domain in the dashboard, or confirm an agent's request from the email we send you, and we charge your saved card 7 days before expiry, then renew. You can turn it off at any time.
Full conditions in the terms of sale.
Your account
One dashboard for you and your agent.
Search and prices need no account. Sign in with the link we email you. No password.
Domains and renewal
Turn auto-renew on or off, or renew a domain now.
DNS records
Add, edit and delete records, or start from a template.
Nameservers and Cloudflare
Use our nameservers or yours, or move the domain to Cloudflare.
Transfer and activity
Lock the domain, get the transfer code, and see who changed what.
Orders & invoices
Every order with its invoice.
Connect agent
Create or revoke API keys, or let Claude.ai, ChatGPT and Claude Code connect by signing in.