Developer Reference

Domain Suggestions

DomScan API: Get AI-powered domain name suggestions based on your keywords, brand, or business description.

Domain Suggestions

Get AI-powered domain name suggestions based on your keywords, brand, or business description.

GET /v1/suggest

Query Parameters

ParameterTypeDescription
keywords required string Comma-separated keywords (e.g., "tech,cloud")
limit optional number Max suggestions to return (default: 20, max: 100)
tlds optional string TLDs to use (default: "com,ai,app")
style optional string
Allowed values brandablekeyword-richshortpronounceabletechyplayfulprofessionalminimal
Default brandable
Style: brandable, short, keyword-rich, pronounceable
industry optional string
Allowed values techfinancehealthecommerceeducationmediasaascryptoaigaming
Adds industry-specific prefixes and suffixes to the generated candidates.
language optional string
Allowed values enzhesjadefrptitkoruarhibnidmsthvitrplnlsvdanofielcshuroukhe
Default en
Generates prefixes and suffixes for the chosen language alongside the English defaults.
check optional boolean
Allowed values truefalse
Default true
Set to false to skip the availability lookup and return generated names only.

Example Request

curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/suggest?keywords=cloud,sync&limit=10&style=brandable"
const domscanFetch = (url, options = {}) =>
  fetch(url, {
    ...options,
    headers: { ...options.headers, "X-API-Key": "your-api-key" },
  });

const params = new URLSearchParams({
keywords: "cloud,sync",
limit: "10",
style: "brandable"
});
const response = await domscanFetch("https://domscan.net/v1/suggest?" + params);
console.log(await response.json());
import requests

domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})

params = {"keywords": "cloud,sync", "limit": 10, "style": "brandable"}
data = domscan.get("https://domscan.net/v1/suggest", params=params).json()
print(data["suggestions"])
package main

import (
  "encoding/json"
  "fmt"
  "net/http"
  "os"
)

func domscanGet(url string) (*http.Response, error) {
  request, err := http.NewRequest(http.MethodGet, url, nil)
  if err != nil {
    return nil, err
  }
  request.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
  return http.DefaultClient.Do(request)
}

func main() {
  url := "https://domscan.net/v1/suggest?keywords=cloud,sync&limit=10&style=brandable"
  resp, _ := domscanGet(url)
  defer resp.Body.Close()

  var data map[string]any
  json.NewDecoder(resp.Body).Decode(&data)
  fmt.Println(data["suggestions"])
}
require 'net/http'
require 'json'

uri = URI("https://domscan.net/v1/suggest?keywords=cloud,sync&limit=10&style=brandable")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
data = JSON.parse(response.body)
puts data["suggestions"]

Example Response

{
                "suggestions": [
                {
                "name": "cloudsync",
                "domain": "cloudsync.io",
                "tld": "io",
                "score": 95,
                "styles": ["brandable", "pronounceable"],
                "method": "combination",
                "available": true
                }
                ],
                "keywords": ["cloud", "sync"],
                "generated_count": 10,
                "available_count": 4
                }

Response Fields

Field Type
suggestions[] object[]
suggestions[] object
suggestions[].name string
suggestions[].domain string
suggestions[].tld string
suggestions[].score integer
suggestions[].available boolean | null
suggestions[].method string
keywords[] string[]
tlds[] string[]
styles[] string[]
industry string | null
language string
generated_count integer
available_count integer | null
generation_summary object
generation_summary.requested_limit integer
generation_summary.candidate_count integer
generation_summary.returned_count integer
generation_summary.availability_checked boolean
generation_summary.availability_check_count integer
generation_summary.available_count integer | null
generation_summary.tld_count integer
generation_summary.language string
generation_summary.method_counts object
generation_summary.style_counts object
generation_summary.top_method string | null
generation_summary.average_score integer | null
meta object
meta.total_generated integer
meta.available_count integer
meta.generation_ms integer

Used by people at amazing companies

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeMotionElementsLLM Pulse