Skip to main content

Generate domain names

POST /domains/generate supports deterministic keyword generation and two AI types:
  • A keyword request runs the Buy Domains keyword search engine with Partner-safe neutral prefixes and suffixes. It does not call Spider or AI.
  • type: "branded" requires a website URL. Spider reads the website and concurrent AI workers generate brand-led names.
  • type: "generic" accepts a website URL or a description. URLs use Spider. Descriptions skip Spider. Generic names do not use the brand.
AI requests have a 15-second end-to-end ceiling. If Spider or AI fails, times out, or returns nothing usable, the request falls back to deterministic keyword generation inside that same ceiling. GET /domains/tlds is the authoritative live TLD allowlist and pricing catalog. It currently returns all 22 active pricingTlds rows. Do not hardcode that count. If you omit tlds, generate uses .com only.
Keyword request:
Branded AI request:
Generic AI request from a description:
Every request type returns the same shape:
Defaults: limit accepts 1 through 100 and is the total number of domain names across all requested TLDs, not a per-TLD count. If the candidate pool does not have that many qualifying names, the response contains fewer. Fastly registrar availability is always required. Google and Microsoft tenant probes run only for names Fastly says are available. If those probes fail or time out, generation falls back to Fastly availability. A confirmed Google or Microsoft tenant claim is still excluded. TLD group keys have no leading dot and empty groups are omitted. limited keys can call this endpoint.

Check names you already have

POST /domains/availability accepts up to 50 domains. Each result says whether the domain is free to register and which mailbox types it can take.

How to use the response

For POST /domains/generate, use the names in each TLD array. They are registrar-available. Tenant checks are best effort during generation, with the Fastly fallback described above. For POST /domains/availability, show rows where available is true and usable_for includes the mailbox type you are buying. An uncached provider lookup can take several seconds. Show a loading state and avoid a short client timeout.

Sandbox results

Sandbox keys use active Peeker TLD pricing but make no registrar or tenant provider calls. Results are deterministic:
  • Names containing premium return reason: "premium".
  • Names containing taken or unavailable return reason: "unavailable".
  • Names containing google-only or microsoft-only limit usable_for.
  • Other names on a supported TLD are available for both mailbox types.
  • Unsupported TLDs return reason: "unsupported_tld".
Premium domains are not orderable through the standard API. If one reaches an order, Peeker returns domains_not_submittable and lists the domain in error.details.domains_not_submittable.
Matrix and inventory rules: How domains work.

Buying domains and ordering

Use available domains in an order to an existing workspace target.

Importing domains and ordering

Use domains the customer already owns.
Last modified on August 25, 2026