Référence Développeur
Recherche DNS Documentation de l'API
Recherche DNS Documentation de l'API: Effectuez des recherches DNS pour n'importe quel type d'enregistrement.
Recherche DNS
Effectuez des recherches DNS pour n'importe quel type d'enregistrement.
GET
/v1/dns
Paramètres de Requête
| Paramètre | Type | requis |
|---|---|---|
| domain | string | requis |
| type | string | optionnel |
Champs de Réponse
| Champ | Type |
|---|---|
domain |
string |
record_type |
string |
records[] |
object[] |
records[] |
object |
records[].type |
string |
records[].name |
string |
records[].data |
string |
records[].ttl |
integer |
records[].priority |
integer |
records[].classification |
string |
status |
string |
dnssec_validated |
boolean |
query_time_ms |
integer |
checked_at |
string |
warnings[] |
object[] |
warnings[] |
object |
warnings[].code |
string |
warnings[].message |
string |
warnings[].severity |
string |
Exemple de Requête
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns?domain=example.com&type=example.com"
Exemple de Réponse
{
"domain": "google.com",
"record_type": "TXT",
"records": [
{
"type": "TXT",
"name": "google.com",
"data": "v=spf1 include:_spf.google.com ~all",
"ttl": 300,
"classification": "spf"
},
{
"type": "TXT",
"name": "google.com",
"data": "google-site-verification=abc123",
"ttl": 300,
"classification": "verification"
}
],
"status": "success",
"dnssec_validated": false,
"query_time_ms": 37,
"checked_at": "2026-04-18T21:00:00Z",
"warnings": [
{
"code": "TXT_MULTIPLE_RESPONSES",
"message": "Domain publishes multiple TXT records; use classification to isolate the security ones.",
"severity": "info"
}
]
}
POST
/v1/dns/bulk
Corps de la requête
| Champ | Type | Description |
|---|---|---|
| domains requis | string[] | Tableau de noms de domaines complets à vérifier |
| type requis | string | Type d'enregistrement DNS (A, AAAA, MX, TXT, NS, etc.) |
Utilisez POST /v1/dns/bulk pour interroger un type d'enregistrement sur plusieurs domaines dans une seule requête. Envoyez un corps JSON avec domains et type. Prend en charge jusqu'à 25 domaines par requête.
Exemple de Requête
curl -X POST "https://domscan.net/v1/dns/bulk" -H "Content-Type: application/json" -d '{
"domains": ["example.com", "github.com", "cloudflare.com"],
"type": "MX"
}'
Exemple de Réponse
{
"results": [
{
"domain": "example.com",
"record_type": "MX",
"records": [
{"type": "MX", "name": "example.com", "data": "mx.example.com", "ttl": 300, "priority": 10}
],
"status": "success",
"dnssec_validated": true,
"query_time_ms": 22,
"checked_at": "2024-01-15T12:00:00Z"
},
{
"domain": "bad domain",
"record_type": "MX",
"records": [],
"status": "error",
"dnssec_validated": false,
"query_time_ms": 0,
"checked_at": "2024-01-15T12:00:00Z",
"error": {
"code": "INVALID_DOMAIN",
"message": "Invalid domain format"
}
}
],
"summary": {
"total": 2,
"successful": 1,
"nxdomain": 0,
"errors": 1,
"query_time_ms": 31
},
"meta": {
"served_by": "pop=MAD country=ES",
"worker_version": "2.0.0",
"record_type": "MX"
}
}
Champs de Réponse
| Champ | Type |
|---|---|
results[] |
object[] |
results[] |
object |
results[].domain |
string |
results[].record_type |
string |
results[].records[] |
object[] |
results[].records[] |
object |
results[].records[].type |
string |
results[].records[].name |
string |
results[].records[].data |
string |
results[].records[].ttl |
integer |
results[].records[].priority |
integer |
results[].records[].classification |
string |
results[].status |
string |
results[].dnssec_validated |
boolean |
results[].query_time_ms |
integer |
results[].checked_at |
string |
results[].error |
object |
results[].error.code |
string |
results[].error.message |
string |
summary |
object |
summary.total |
integer |
summary.successful |
integer |
summary.nxdomain |
integer |
summary.errors |
integer |
summary.query_time_ms |
integer |
meta |
object |
meta.served_by |
string |
meta.worker_version |
string |
meta.record_type |
string |
GET
/v1/dns/all
Paramètres de Requête
| Paramètre | Type | requis |
|---|---|---|
| domain | string | requis |
| wildcard_probe | string | optionnel |
Champs de Réponse
| Champ | Type |
|---|---|
domain |
string |
records |
object |
summary |
object |
summary.has_a |
boolean |
summary.has_aaaa |
boolean |
summary.has_ns |
boolean |
summary.has_mx |
boolean |
summary.has_txt |
boolean |
summary.has_https |
boolean |
summary.has_svcb |
boolean |
summary.ipv6_parity |
string |
warnings[] |
object[] |
warnings[] |
object |
warnings[].code |
string |
warnings[].message |
string |
warnings[].severity |
string |
wildcard |
object |
wildcard.suspected |
boolean |
wildcard.probe_label |
string |
query_time_ms |
integer |
checked_at |
string |
Exemple de Requête
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/all?domain=example.com&wildcard_probe=example.com"
Exemple de Réponse
{
"domain": "openai.com",
"records": {
"A": [
{
"type": "A",
"name": "openai.com",
"data": "104.18.33.45",
"ttl": 300
}
],
"AAAA": [
{
"type": "AAAA",
"name": "openai.com",
"data": "2606:4700::6812:212d",
"ttl": 300
}
],
"MX": [
{
"type": "MX",
"name": "openai.com",
"data": "aspmx.l.google.com",
"ttl": 300,
"priority": 1
}
],
"NS": [
{
"type": "NS",
"name": "openai.com",
"data": "ns1-02.azure-dns.com",
"ttl": 172800
},
{
"type": "NS",
"name": "openai.com",
"data": "ns2-02.azure-dns.net",
"ttl": 172800
}
],
"TXT": [
{
"type": "TXT",
"name": "openai.com",
"data": "v=spf1 include:_spf.google.com ~all",
"ttl": 300,
"classification": "spf"
},
{
"type": "TXT",
"name": "openai.com",
"data": "v=TLSRPTv1; rua=mailto:tlsrpt@openai.com",
"ttl": 300,
"classification": "tls_rpt"
}
]
},
"summary": {
"has_a": true,
"has_aaaa": true,
"has_ns": true,
"has_mx": true,
"has_txt": true,
"has_https": false,
"has_svcb": false,
"ipv6_parity": "full"
},
"warnings": [
{
"code": "MX_PRIORITY_SHARED",
"message": "Multiple MX hosts share the same priority.",
"severity": "info"
}
],
"wildcard": {
"suspected": false,
"probe_label": "_domscan-probe-4f6a2c.openai.com"
},
"query_time_ms": 82,
"checked_at": "2026-04-18T21:00:00Z"
}