개발자 참고자료
도메인 제안
DomScan API로 키워드, 브랜드 또는 비즈니스 설명을 기반으로 AI 기반 도메인 이름 제안을 받습니다.
도메인 제안
키워드, 브랜드 또는 비즈니스 설명을 기반으로 AI 기반 도메인 이름 제안을 받습니다.
GET
/v1/suggest
쿼리 매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| keywords 필수 | string | 쉼표로 구분된 키워드(예: "tech,cloud") |
| limit 선택 사항 | number | 반환할 최대 제안 수(기본값: 20, 최대: 100) |
| tlds 선택 사항 | string | 사용할 TLD(기본값: "com,ai,app") |
| style 선택 사항 |
string
허용된 값
brandablekeyword-richshortpronounceabletechyplayfulprofessionalminimal
기본값
brandable
|
스타일: 브랜드 능력, 짧음, 키워드 풍부, 발음 가능 |
| industry 선택 사항 |
string
허용된 값
techfinancehealthecommerceeducationmediasaascryptoaigaming
|
생성된 후보에 업계별 접두사와 접미사를 추가합니다. |
| language 선택 사항 |
string
허용된 값
enzhesjadefrptitkoruarhibnidmsthvitrplnlsvdanofielcshuroukhe
기본값
en
|
선택한 언어에 대해 영어 기본값과 함께 접두사와 접미사를 생성합니다. |
| check 선택 사항 |
boolean
허용된 값
truefalse
기본값
true
|
false로 설정하여 가용성 조회를 건너뛰고 생성된 이름만 반환합니다. |
예제 요청
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"]
예제 응답
{
"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
}
응답 필드
| 필드 | 유형 |
|---|---|
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 |

