Bulk

API + CLI

Put live domain checks inside your own workflow.

Reuse DomainFast registry-backed checks in your app, automation script, or terminal routine.

One endpoint for your agent

Add this URL to a remote MCP client using Streamable HTTP. No API key required. Clients discover three tools with typed inputs and outputs.

https://www.domainfast.ai/mcp
check_domains
Check 1–50 complete domains, with registration status, source, and observation time.
search_domains
Send one name and explicit suffixes. Expansion and lookup happen in one call.
suggest_domain_names
Generate candidate names, then verify them with a lookup tool.

Statuses are available, registered, and unknown. Unknown has available: null. Cached results preserve the original checked_at rather than claiming a fresh observation.

Read-only research. No registrations or purchases. Queries are logged for reliability and abuse prevention. Availability does not guarantee purchasability; live prices are unavailable.

The same tools over HTTP

OpenAPI 3.1 ↗

POST JSON from your server. No API key or special User-Agent required. Use ASCII or punycode and at most 50 domains per lookup. Arbitrary browser origins are not supported.

curl --request POST "https://www.domainfast.ai/api/v1/domain-searches" \
  --header "Content-Type: application/json" \
  --data '{"name":"fastagi","suffixes":["com","ai","io"]}'
HTTPMCP
POST /api/v1/domain-checkscheck_domains
POST /api/v1/domain-searchessearch_domains
POST /api/v1/domain-suggestionssuggest_domain_names

Errors include request_id, error.code, and retryable. Fix invalid inputs before retrying. For retryable failures, respect retry_after_seconds and use backoff. MCP failures return isError.

Compatible endpoints and legacy curl examples

Lookup endpoints work without sign-in or an API key from server-side scripts. Status is available, registered, or unknown; unknown does not mean available.

Set an explicit User-Agent, such as DomainFast-Integration/1.0. Some default clients may receive an edge-protection 403. The streaming endpoint returns SSE; the other examples return JSON.

The live pricing endpoint /domains/quotes is currently unavailable. Prices marked as reference on the website are not live purchase quotes.

GET

Single domain check

Look up one fully qualified domain and get status, dates, registrar, and source authority.

/domains/check
POST

Batch domain check

Submit multiple domains and receive item-level results with aggregate counts.

/domains/batch-check
POST

Streaming batch check

Receive each result over SSE as it completes instead of waiting for the slowest domain.

/domains/batch-check/stream
POST

Variant suggestions

Turn one seed into naming candidates before the final availability check.

/domains/variant-suggestions

REST base

https://www.domainfast.ai/v1

Single check

curl "https://www.domainfast.ai/v1/domains/check?domain=openai.com"

Batch check

curl --request POST "https://www.domainfast.ai/v1/domains/batch-check" \
  --header "content-type: application/json" \
  --data '{"domains":["openai.com","openai.ai","openai.dev"]}'

SSE streaming batch check

curl --no-buffer --request POST "https://www.domainfast.ai/v1/domains/batch-check/stream" \
  --header "content-type: application/json" \
  --data '{"domains":["openai.com","openai.ai","openai.dev"]}'

CLI style

Use curl, pipes, and shell loops.

printf "domainfast\nopenai\nanthropic\n" | while read seed; do
  curl --request POST "https://www.domainfast.ai/v1/domains/variant-suggestions" \
    --header "content-type: application/json" \
    --data "{\"seed\":\"$seed\",\"limit\":6}"
done

Web checks and automation share the same public host and result sources.

Generate variants when you need more naming options, then send the shortlist to batch check.

Link to the matching domain detail page when one result needs a readable page.