Cloudflare Registrar launched a decade ago with domains sold at cost, transparent pricing, and no upsells at checkout. The new domain search extends that approach to the process of finding a domain: it shows every supported extension, responds as you type, and supports sorting, filtering, and transparent pricing.

The same surface is designed to work with agents through the Registrar API, MCP, and the cf CLI, so an agent can find, buy, or transfer a domain on a user's behalf.

Registrar API and agent access

The Registrar API beta, launched in April, let developers and agents search, check, and register domains programmatically. It has since gained a sandbox for testing registrar workflows without purchasing a domain or triggering a real transaction; an extensions endpoint that returns relevant information for each of the 420+ supported extensions, accounting for differing registry requirements; and transfers, so domains can be brought into Cloudflare from another registrar without manual steps. MCP exposes the API to agents without a separate integration, and the cf CLI brings the same capabilities into the terminal. Typical prompts include:

  • "Is example.com available?"
cf registrar registrations check example.com
  • "Buy example.com."
cf registrar registrations create example.com
  • "Transfer example.com from my current registrar."
cf registrar registrations transfer-in example.com \
  --auth-code "$(echo -n 'YOUR_EPP_CODE' | base64)" \
  --auto-renew

The previous search page returned roughly 20 available results drawn from a subset of extensions and sometimes altered the search term to suggest related names, so an exact name could not be checked against every supported extension. The new search returns the exact term across all supported extensions, loading results as you type and as you scroll, and includes already-registered domains for a fuller picture — filterable down to only names that are available to buy. Sorting and filtering narrow the list. The experience is the same logged in or logged out, on phone or desktop.

Balancing registry lookups

With 420+ extensions, a single search can spawn more than 420 separate availability questions, each answered authoritatively by the registry that maintains its registration records. Querying every registry at once would be slow and wasteful: registries respond at different speeds, impose rate limits, and much of the work would cover results a user never views.

Search instead gathers evidence from several sources — prepared availability datasets such as zone files and cached answers, DNS answers, and live registry lookups. A hit against a dataset or DNS can show a domain is already in use, but a miss does not prove availability, since a domain can be registered without DNS configuration or sit on a blocked list. A recent registry-derived answer is stronger but goes stale; a live registry check is authoritative and freshest but slower and consumes limited upstream capacity. The search probes these sources progressively while trading off speed, freshness, and certainty per result, updating only the affected result as better information arrives.

Architecture

Search runs on the same Cloudflare developer platform available to customers. Workers serve the public search entry point and the services that gather availability evidence; Durable Objects give each active search a single coordinator; Workers KV stores prepared data reusable across searches.

A pipeline converts registry zone files and other bulk sources into compact availability datasets in Workers KV before searches begin. Large datasets are split into smaller pieces so a lookup retrieves only the data needed for that domain, answering many questions without a new live registry request.

Each search session is a Durable Object that coordinates that interaction: it orders results from query, sort, and filters without waiting on network lookups, tracks the best evidence received per domain, and monitors which results are visible so lookup work follows attention. WebSockets carry a bidirectional connection with an application protocol layered on top — an initial snapshot establishes the ordered list, and delta messages carry only changed fields so the browser updates one domain rather than re-downloading the full result set. Before sending a delta, the Durable Object compares new evidence against the current answer: stronger evidence can replace it, weaker evidence cannot.

A separate Worker gathers additional evidence, querying DNS through Cloudflare's 1.1.1.1 resolver, making a live Registrar check, or reusing a recently cached answer to avoid repeated upstream requests. Because an available domain can be registered at any moment, an "available" answer has a shorter useful cache life than evidence that a domain is taken.

Cost visibility and discounts

Cloudflare Registrar has sold domains at cost since launch. The new search and pricing page show both the initial registration price and the renewal price for every domain, and discounted names display the original at-cost registration price crossed out next to the promotional price. As part of Birthday Week, first-year registration discounts are available on select extensions including .io, .dev, .app, and .tech, visible from the search page and the pricing page.

Ways to start

  • Browser: explore every available extension on the search page.
  • Agent: install cf CLI, then prompt your agent to search for, register, or transfer a domain.
  • API: use the Registrar API to bring domain search and registration into your own application or workflow.