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.
If a keyword or branded search exhausts its original candidates below the requested limit, it tries additional prefix + brand + suffix combinations, such as getlistkithq.com. These keep the requested TLDs and share the same check and time limits. Generic AI searches do not use this extra layer. Generation checks up to 300 unique candidates in batches of 100, stopping once the requested limit is filled, the candidate pool is exhausted, or the request budget is reached (15 seconds for keywords, 25 for AI). The response includes partial: true when fewer names than requested were returned. Registrar checks allow up to five seconds each, shortened when the request budget is nearly spent. AI requests have a 25-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 150 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. Google Workspace rejects any domain whose name contains gmail or google, including those letters spanning joined words (bozmarketingmail.com contains gmail). Partner generate drops those names from suggestions without calling the registrar or tenant providers, so a keyword of google can return an empty set. This search rule is independent of later order provider mix.

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. Names that contain gmail or google return available: false with reason: "unsupported_domain_name" and usable_for: [] without calling the registrar or tenant providers.

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 September 28, 2026