Référence Développeur

Vérificateur de propagation DNS Documentation de l'API

Vérificateur de propagation DNS Documentation de l'API: Vérifiez la propagation des enregistrements DNS sur 13 serveurs DNS mondiaux. Essentiel pour vérifier les modifications DNS après les migrations, résoudre les problèmes DNS ou surveiller l'expiration du TTL. Les serveurs couvrent l'Amérique du Nord, l'Europe, l'Asie-Pacifique et d'autres régions pour une couverture complète.

Vérificateur de propagation DNS

Vérifiez la propagation des enregistrements DNS sur 13 serveurs DNS mondiaux. Essentiel pour vérifier les modifications DNS après les migrations, résoudre les problèmes DNS ou surveiller l'expiration du TTL. Les serveurs couvrent l'Amérique du Nord, l'Europe, l'Asie-Pacifique et d'autres régions pour une couverture complète.

GET /v1/dns/propagation

Paramètres de Requête

ParamètreTypeDescription
domain requis string Domaine à vérifier (par exemple, "example.com" ou "subdomain.example.com")
type optionnel string Type d'enregistrement : A, AAAA, CNAME, MX, TXT, NS, SOA (par défaut : A)
expected optionnel string Valeur attendue pour vérifier la propagation contre (par exemple, nouvelle adresse IP)

Champs de Réponse

ChampTypeDescription
propagation_percentagenumberPourcentage de serveurs retournant la valeur attendue (0-100)
fully_propagatedbooleanVrai si tous les serveurs retournent des valeurs cohérentes
consistentbooleanVrai si toutes les réponses réussies ont la même valeur
unique_valuesarrayToutes les valeurs d'enregistrements uniques vues sur les serveurs
resultsarrayRésultats par serveur avec localisation, enregistrements, TTL, temps de réponse

Exemple de Requête

# Check A record propagation
curl "https://domscan.net/v1/dns/propagation?domain=example.com&type=A"

# Check MX record with expected value
curl "https://domscan.net/v1/dns/propagation?domain=example.com&type=MX&expected=mail.example.com"
const url = new URL("https://domscan.net/v1/dns/propagation");
url.searchParams.set("domain", "example.com");
url.searchParams.set("type", "A");

const response = await fetch(url);
const data = await response.json();

console.log(`Propagation: ${data.propagation_percentage}%`);
console.log(`Fully propagated: ${data.fully_propagated}`);

// Check which servers are still showing old values
data.results
  .filter(r => !r.success || r.records[0] !== data.expected)
  .forEach(r => console.log(`${r.server.name}: ${r.records}`));
import requests

response = requests.get(
    "https://domscan.net/v1/dns/propagation",
    params={"domain": "example.com", "type": "A"}
)
data = response.json()

print(f"Propagation: {data['propagation_percentage']}%")
print(f"Fully propagated: {data['fully_propagated']}")

# Show servers with different values
for result in data['results']:
    print(f"{result['server']['name']}: {result['records']}")
package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    resp, _ := http.Get("https://domscan.net/v1/dns/propagation?domain=example.com&type=A")
    defer resp.Body.Close()

    var data map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&data)

    fmt.Printf("Propagation: %.0f%%\n", data["propagation_percentage"])
    fmt.Printf("Fully propagated: %v\n", data["fully_propagated"])
}
require 'net/http'
require 'json'

uri = URI("https://domscan.net/v1/dns/propagation?domain=example.com&type=A")
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)

puts "Propagation: #{data['propagation_percentage']}%"
puts "Fully propagated: #{data['fully_propagated']}"

Exemple de Réponse

{
  "domain": "example.com",
  "record_type": "A",
  "propagation_percentage": 100,
  "fully_propagated": true,
  "consistent": true,
  "unique_values": ["93.184.216.34"],
  "results": [
    {
      "server": {
        "name": "Cloudflare",
        "ip": "1.1.1.1",
        "location": "Global Anycast"
      },
      "success": true,
      "records": ["93.184.216.34"],
      "ttl": 86400,
      "response_time_ms": 12
    },
    {
      "server": {
        "name": "Google",
        "ip": "8.8.8.8",
        "location": "Global Anycast"
      },
      "success": true,
      "records": ["93.184.216.34"],
      "ttl": 86400,
      "response_time_ms": 15
    }
  ],
  "summary": {
    "total_servers": 13,
    "successful": 13,
    "failed": 0
  }
}
GET /v1/dns/servers

Obtenez la liste des serveurs DNS utilisés pour les vérifications de propagation. Retourne les 13 serveurs mondiaux avec leurs emplacements et adresses IP.

Exemple de Réponse

{
  "servers": [
    {"name": "Cloudflare", "ip": "1.1.1.1", "location": "Global Anycast"},
    {"name": "Google", "ip": "8.8.8.8", "location": "Global Anycast"},
    {"name": "Quad9", "ip": "9.9.9.9", "location": "Global Anycast"},
    {"name": "OpenDNS", "ip": "208.67.222.222", "location": "US"},
    {"name": "Comodo", "ip": "8.26.56.26", "location": "US"}
  ],
  "total": 13
}

Champs de Réponse

Champ Type
servers[] object[]
servers[] object
servers[].name string
servers[].location string
servers[].country string
servers[].ip string
servers[].provider string
total integer
GET /v1/dns/history

Paramètres de Requête

Paramètre Type requis
domain string requis
type string optionnel
from string optionnel
to string optionnel
limit integer optionnel

Champs de Réponse

Champ Type
domain string
history[] object[]
history[] object
history[].date string
history[].record_type string
history[].changes[] object[]
history[].changes[] object
history[].changes[].action string
history[].changes[].value string
current_records object
first_seen string | null
last_seen string | null
total_changes integer
record_types_tracked[] string[]
beta_notice string
meta object
meta.note string
meta.data_source string

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/history?domain=example.com&type=A&from=2026-01-01&to=2026-04-15&limit=10"

Exemple de Réponse

{
  "domain": "example.com",
  "history": [
    {
      "date": "2026-04-13",
      "record_type": "A",
      "changes": [
        {
          "action": "added",
          "value": "104.20.23.154"
        },
        {
          "action": "added",
          "value": "172.66.147.243"
        },
        {
          "action": "removed",
          "value": "104.18.26.120"
        }
      ]
    }
  ],
  "current_records": {
    "A": [
      "104.20.23.154",
      "172.66.147.243"
    ]
  },
  "first_seen": "2026-01-01",
  "last_seen": "2026-04-13",
  "total_changes": 3,
  "record_types_tracked": [
    "A"
  ],
  "beta_notice": "This endpoint is in beta. History data accumulates from API usage over time and does not include external historical sources.",
  "meta": {
    "note": "History data recorded from prior API lookups.",
    "data_source": "internal"
  }
}

Utilisé par les gens des meilleures entreprises

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel