Geliştirici Referansı
Toplu Alan Kontrolü
Alan adı analizi için DomScan API: Aynı anda birden çok alan adını kontrol edin. İstek başına 50'ye kadar etki alanını destekler.
Toplu Alan Kontrolü
Aynı anda birden çok alan adını kontrol edin. İstek başına 50'ye kadar etki alanını destekler.
POST
/v1/status/bulk
İstek Gövdesi
| Alan | Tür | Açıklama |
|---|---|---|
| domains gerekli | string[] | Kontrol edilecek tam alan adlarının dizisi |
| options.prefer_cache isteğe bağlı | boolean | Mevcut olduğunda önbelleğe alınmış sonuçları kullanın |
Örnek İstek
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"]
Yanıt Alanları
| Alan | Tür |
|---|---|
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 |
Örnek Yanıt
{
"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
}
}