Referencia para desarrolladores
Comprobación de Dominio en Lotes
API de DomScan: Comprueba disponibilidad para múltiples nombres de dominio de una vez. Soporta hasta 50 dominios por solicitud.
Comprobación de Dominio en Lotes
Comprueba disponibilidad para múltiples nombres de dominio de una vez. Soporta hasta 50 dominios por solicitud.
POST
/v1/status/bulk
Cuerpo de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| domains obligatorio | string[] | Array de nombres de dominio completos a comprobar |
| options.prefer_cache opcional | boolean | Utiliza resultados en caché cuando estén disponibles |
Solicitud de ejemplo
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 respuesta
| 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 |
Respuesta de ejemplo
{
"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
}
}