> For the complete documentation index see https://domscan.net/llms.txt. Markdown versions of every docs page are available by appending .md to the page URL.

Source: https://domscan.net/ko/docs/suggestions

# 도메인 제안

DomScan API로 키워드, 브랜드 또는 비즈니스 설명을 기반으로 AI 기반 도메인 이름 제안을 받습니다.

키워드, 브랜드 또는 비즈니스 설명을 기반으로 AI 기반 도메인 이름 제안을 받습니다.

GET /v1/suggest

#### 쿼리 매개변수

| 매개변수 | 유형 | 설명 |
| --- | --- | --- |
| keywords 필수 | string | 쉼표로 구분된 키워드(예: "tech,cloud") |
| limit 선택 사항 | number | 반환할 최대 제안 수(기본값: 20, 최대: 100) |
| tlds 선택 사항 | string | 사용할 TLD(기본값: "com,ai,app") |
| style 선택 사항 | string 허용된 값 `brandable`, `keyword-rich`, `short`, `pronounceable`, `techy`, `playful`, `professional`, `minimal` 기본값 `brandable` | 스타일: 브랜드 능력, 짧음, 키워드 풍부, 발음 가능 |
| industry 선택 사항 | string 허용된 값 `tech`, `finance`, `health`, `ecommerce`, `education`, `media`, `saas`, `crypto`, `ai`, `gaming` | 생성된 후보에 업계별 접두사와 접미사를 추가합니다. |
| language 선택 사항 | string 허용된 값 `en`, `zh`, `es`, `ja`, `de`, `fr`, `pt`, `it`, `ko`, `ru`, `ar`, `hi`, `bn`, `id`, `ms`, `th`, `vi`, `tr`, `pl`, `nl`, `sv`, `da`, `no`, `fi`, `el`, `cs`, `hu`, `ro`, `uk`, `he` 기본값 `en` | 선택한 언어에 대해 영어 기본값과 함께 접두사와 접미사를 생성합니다. |
| check 선택 사항 | boolean 허용된 값 `true`, `false` 기본값 `true` | false로 설정하여 가용성 조회를 건너뛰고 생성된 이름만 반환합니다. |

#### 예제 요청

```bash
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/suggest?keywords=cloud,sync&limit=10&style=brandable"
```

```javascript
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());
```

```python
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"])
```

```go
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"])
}
```

```ruby
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"]
```

#### 예제 응답

```json
{
                "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 |
| `suggestions[].styles[]` | string[] |
| `suggestions[].checked_at` | 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 |
| `meta.availability_check_ms` | integer |
| `meta.total_ms` | integer |
| `meta.served_by` | string |
