Ontwikkelaarsreferentie

DNS Propagation Checker API-documentatie

DNS Propagation Checker API-documentatie: Controleer DNS-recordverspreiding over 13 mondiale DNS-servers wereldwijd. Essentieel voor het verifiëren van DNS-wijzigingen na migraties, het oplossen van DNS-problemen of het controleren van TTL-verlopen. Servers beslaan Noord-Amerika, Europa, Azië-Stille Oceaan en andere regio's voor uitgebreide dekking.

DNS Propagation Checker

Controleer DNS-recordverspreiding over 13 mondiale DNS-servers wereldwijd. Essentieel voor het verifiëren van DNS-wijzigingen na migraties, het oplossen van DNS-problemen of het controleren van TTL-verlopen. Servers beslaan Noord-Amerika, Europa, Azië-Stille Oceaan en andere regio's voor uitgebreide dekking.

GET /v1/dns/propagation

Queryparameters

ParameterTypeBeschrijving
domain vereist string Domein om te controleren (bijv. "example.com" of "subdomain.example.com")
type optioneel string Recordtype: A, AAAA, CNAME, MX, TXT, NS, SOA (standaard: A)
expected optioneel string Verwachte waarde om verspreiding tegen te verifiëren (bijv. nieuw IP-adres)

Antwoordvelden

VeldTypeBeschrijving
propagation_percentagenumberPercentage servers dat verwachte waarde retourneert (0-100)
fully_propagatedbooleanWaar als alle servers consistente waarden retourneren
consistentbooleanWaar als alle succesvolle reacties dezelfde waarde hebben
unique_valuesarrayAlle unieke recordwaarden die over servers heen zijn gezien
resultsarrayResultaten per server met locatie, records, TTL, responstijd

Voorbeeldverzoek

# 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']}"

Voorbeeldantwoord

{
  "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

Ontvang de lijst met DNS-servers die voor verspreidsingscontroles worden gebruikt. Retourneert alle 13 mondiale servers met hun locaties en IP-adressen.

Voorbeeldantwoord

{
  "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
}

Antwoordvelden

Veld 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

Queryparameters

Parameter Type vereist
domain string vereist
type string optioneel
from string optioneel
to string optioneel
limit integer optioneel

Antwoordvelden

Veld 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

Voorbeeldverzoek

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"

Voorbeeldantwoord

{
  "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"
  }
}

Gebruikt door mensen bij geweldige bedrijven

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel