Referência para desenvolvedores
Verificação de Domínios em Massa
API da DomScan: Verifique disponibilidade para vários nomes de domínios ao mesmo tempo. Suporta até 50 domínios por pedido.
Verificação de Domínios em Massa
Verifique disponibilidade para vários nomes de domínios ao mesmo tempo. Suporta até 50 domínios por pedido.
POST
/v1/status/bulk
Corpo do Pedido
| Campo | Tipo | Descrição |
|---|---|---|
| domains obrigatório | string[] | Matriz de nomes de domínios completos a verificar |
| options.prefer_cache opcional | boolean | Utilize resultados em cache quando disponível |
Pedido de Exemplo
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"]
Campos de Resposta
| Campo | Tipo |
|---|---|
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 |
Resposta de Exemplo
{
"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
}
}