🔍 Use this endpoint to generate domain name suggestions based on a keyword and check their availability in real time. Results are paginated.
| Field | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Base keyword or full domain (e.g. "acme" or "acme.com"). The TLD portion is stripped automatically. |
tlds | array of strings | No | TLDs to generate suggestions for. Leading dot is optional ("com" and ".com" both work). Defaults to [".com", ".io", ".net", ".co", ".org"]. |
| Field | Description |
|---|---|
total | Total number of domain suggestions generated |
page | Current page |
limit | Results per page |
total_pages | Total number of pages |
domains | Array of domain availability objects for the current page |
domain | Full domain name (e.g. "acme.com") |
status | "available", "taken", or "error" |
price | Registration price in USD (with markup). null if taken or error |
renewPrice | Renewal price in USD (with markup). null if taken or error |
| Limit | Window | Scope |
|---|---|---|
| 15 requests | 1 minute | Per user / per IP |
{
"message": "Too many critical operations, please try again later.",
"retryAfter": 1748000000,
"limit": "15 requests per minute"
}| Status | Body | Reason |
|---|---|---|
| 400 | { "error": "domain is required" } | domain field missing or not a string |
| 400 | { "error": "Invalid domain" } | Base name could not be extracted |
| 401 | { "message": "Unauthorized" } | Missing or invalid API token |
| 429 | { "message": "Too many critical operations..." } | Rate limit exceeded |
| 500 | { "error": "Internal server error" } | Unexpected server error |
"acme.com" is passed, only "acme" is used as the keyword.limit is capped at 50 regardless of what you send.curl --location 'https://server.scaledmail.com/api/v1/suggest-domains?organization_id=undefined&page=undefined&limit=undefined' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"domain": "acme",
"tlds": [".com", ".io", ".net"]
}'{
"total": 320,
"page": 1,
"limit": 50,
"total_pages": 7,
"domains": [
{
"domain": "acme.com",
"status": "available",
"price": 12.99,
"renewPrice": 14.99,
"originalPrice": 15.30
},
{
"domain": "acme.io",
"status": "taken",
"price": null,
"renewPrice": null
}
]
}