> 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/ja/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 |
