Generate brandable domain names and check availability programmatically. Two endpoints, no authentication required, JSON in and out.
https://Namegrid.coapplication/jsonNone required
/api/v1/searchGenerate domain name ideas from a text prompt and check their availability across the specified extensions. Returns AI-ranked results sorted by brand quality.
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | A description of your product, company, or idea. Max 2000 characters. |
| extensions | string[] | No | TLDs to check (e.g. [".com", ".io"]). Up to 4. Defaults to [".com", ".io", ".ai", ".co"]. |
| count | number | No | Number of domain prefixes to generate. 1–100. Defaults to 100. |
| style | string | No | "balanced" (default) for clean exact-match names, or "com_workarounds" for tasteful modifiers like get, try, labs. |
curl -X POST https://Namegrid.co/api/v1/search \
-H "Content-Type: application/json" \
-d '{
"prompt": "AI-powered code review tool for teams",
"extensions": [".com", ".io"],
"count": 10,
"style": "balanced"
}'{
"results": [
{
"prefix": "codeowl",
"lane": "brandable_blends",
"domains": {
".com": { "status": "unavailable", "detail": "Taken via DNS delegation." },
".io": { "status": "available" }
}
},
{
"prefix": "reviewpilot",
"lane": "functional_compounds",
"domains": {
".com": { "status": "unavailable", "detail": "Taken via DNS delegation." },
".io": { "status": "available" }
}
}
],
"rankings": [
{
"domain": "codeowl.io",
"prefix": "codeowl",
"lane": "brandable_blends",
"score": 94,
"reason": "Short, memorable, and evokes wisdom."
}
],
"meta": {
"prompt": "AI-powered code review tool for teams",
"extensions": [".com", ".io"],
"count": 10,
"total_checked": 20,
"available_count": 7,
"duration_ms": 45200,
"timed_out": false
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
| results | array | Yes | Generated domain prefixes with availability status per extension. |
| results[].prefix | string | Yes | The generated domain prefix. |
| results[].lane | string | Yes | Naming style: problem_descriptive, adjacent_words, functional_compounds, brandable_blends, abstract_brands, or premium_names. |
| results[].domains | object | Yes | Map of TLD to { status, detail? }. Status is "available", "unavailable", or "error". |
| rankings | array | Yes | AI-ranked available domains sorted by brand quality score (1–100). |
| meta | object | Yes | Request metadata including count, total checked, available count, duration, and timeout status. |
/api/v1/checkCheck availability for a list of specific domain names. No AI generation or ranking \u2014 just fast availability checks.
| Parameter | Type | Required | Description |
|---|---|---|---|
| domains | string[] | Yes | Array of full domain names to check (e.g. ["example.com", "acme.io"]). Up to 100. |
curl -X POST https://Namegrid.co/api/v1/check \
-H "Content-Type: application/json" \
-d '{
"domains": [
"google.com",
"xyznotreal123.com",
"acme.io",
"trynamegrid.dev"
]
}'{
"results": [
{ "domain": "google.com", "status": "unavailable", "detail": "Taken via DNS delegation." },
{ "domain": "xyznotreal123.com", "status": "available" },
{ "domain": "acme.io", "status": "unavailable", "detail": "Taken via DNS delegation." },
{ "domain": "trynamegrid.dev", "status": "available" }
],
"meta": {
"total": 4,
"available": 2,
"unavailable": 2,
"error": 0,
"duration_ms": 3200
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
| results | array | Yes | Availability results in the same order as the input. |
| results[].domain | string | Yes | The domain name that was checked. |
| results[].status | string | Yes | "available", "unavailable", or "error". |
| results[].detail | string | No | Additional context (e.g. how the domain was detected as taken). |
| meta | object | Yes | Summary counts (total, available, unavailable, error) and duration_ms. |
Errors return a JSON object with an error field and an appropriate HTTP status code.
// 400 Bad Request
{ "error": "\"prompt\" is required: a short description of your product or company." }
// 504 Gateway Timeout
{ "error": "Search timed out after 3 minutes." }
// 500 Internal Server Error
{ "error": "Search failed." }| Parameter | Type | Required | Description |
|---|---|---|---|
| 400 | Bad Request | No | Invalid or missing parameters. |
| 504 | Gateway Timeout | No | Search exceeded the timeout (3 min for search, 2 min for check). |
| 500 | Server Error | No | Unexpected server-side failure. |
/api/v1/search endpoint uses AI to generate and rank names, so responses typically take 30\u2013120 seconds depending on the count and number of extensions./api/v1/check endpoint only performs availability lookups and usually responds in a few seconds."error" means availability could not be determined (e.g. rate limiting from registries). It does not mean the domain is taken.