開発者向けリファレンス

一括ドメインチェック

DomScan APIで複数のドメイン名の可用性を一度にチェックします。リクエストあたり最大 50 ドメインをサポートしています。

一括ドメインチェック

複数のドメイン名の可用性を一度にチェックします。リクエストあたり最大 50 ドメインをサポートしています。

POST /v1/status/bulk

リクエストボディ

フィールドタイプ説明
domains 必須 string[] チェックする完全なドメイン名の配列
options.prefer_cache オプション boolean 利用可能な場合はキャッシュされた結果を使用

リクエスト例

curl -H "X-API-Key: your-api-key" -X POST "https://domscan.net/v1/status/bulk" \
-H "Content-Type: application/json" \
-d '{"domains": ["mybrand.com", "mybrand.io"], "options": {"prefer_cache": true}}'
const domscanFetch = (url, options = {}) =>
  fetch(url, {
    ...options,
    headers: { ...options.headers, "X-API-Key": "your-api-key" },
  });

const response = await domscanFetch("https://domscan.net/v1/status/bulk", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
domains: ["mybrand.com", "mybrand.io"],
options: { prefer_cache: true }
})
});
const data = await response.json();
console.log(data.results);
import requests

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

payload = {
"domains": ["mybrand.com", "mybrand.io"],
"options": {"prefer_cache": True}
}
response = domscan.post(
"https://domscan.net/v1/status/bulk",
json=payload,
timeout=10
)
print(response.json()["results"])
package main

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

func domscanPost(url, contentType string, body io.Reader) (*http.Response, error) {
  request, err := http.NewRequest(http.MethodPost, url, body)
  if err != nil {
    return nil, err
  }
  request.Header.Set("Content-Type", contentType)
  request.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
  return http.DefaultClient.Do(request)
}

func main() {
  payload := map[string]any{
    "domains": []string{"mybrand.com", "mybrand.io"},
    "options": map[string]bool{"prefer_cache": true},
  }
  body, _ := json.Marshal(payload)
  resp, err := domscanPost("https://domscan.net/v1/status/bulk", "application/json", bytes.NewReader(body))
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()
  fmt.Println(resp.Status)
}
require 'net/http'
require 'json'

uri = URI("https://domscan.net/v1/status/bulk")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
request["Content-Type"] = "application/json"
request.body = {
domains: ["mybrand.com", "mybrand.io"],
options: { prefer_cache: true }
}.to_json

response = http.request(request)
data = JSON.parse(response.body)
puts data["results"]

レスポンスフィールド

フィールド タイプ
results[] object[]
results[] object
results[].domain string
results[].tld string
results[].available boolean | null
results[].source string
results[].confidence string
results[].checked_at string
results[].latency_ms integer
results[].error string
confidence_summary object
confidence_summary.scope string
confidence_summary.requested_count integer
confidence_summary.result_count integer
confidence_summary.invalid_count integer
confidence_summary.available_count integer
confidence_summary.registered_count integer
confidence_summary.authoritative_count integer
confidence_summary.heuristic_count integer
confidence_summary.cached_count integer
confidence_summary.error_count integer
confidence_summary.ambiguous_count integer
confidence_summary.source_counts object
confidence_summary.primary_source string | null
confidence_summary.cache_status string
confidence_summary.rdap_calls integer
confidence_summary.refreshes integer
confidence_summary.cache_preference_misses integer
confidence_summary.fallback_chain[] string[]
confidence_summary.confidence_level string
confidence_summary.determinacy_rate number
confidence_summary.ambiguity_reason string | null
meta object
meta.total_checked integer
meta.available_count integer
meta.duration_ms integer

レスポンス例

{
  "results": [
    {
      "domain": "example.com",
      "tld": "com",
      "available": false,
      "source": "rdap",
      "latency_ms": 45
    },
    {
      "domain": "startup.io",
      "tld": "io",
      "available": true,
      "source": "rdap",
      "latency_ms": 67
    },
    {
      "domain": "brand.ai",
      "tld": "ai",
      "available": true,
      "source": "cache",
      "latency_ms": 2
    }
  ],
  "meta": {
    "total_checked": 3,
    "available_count": 2,
    "duration_ms": 120
  }
}