Referência de Programador

Verificador de propagação de DNS Documentação da API

Verificador de propagação de DNS Documentação da API: Verificar DNS record propagation across 13 global DNS servers worldwide. Essential for verifying DNS changes after migrations, troubleshooting DNS issues, or monitoramento TTL expiration. Servers span North America, Europe, Asia-Pacific, and other regions for comprehensive coverage.

Verificador de propagação de DNS

Verificar DNS record propagation across 13 global DNS servers worldwide. Essential for verifying DNS changes after migrations, troubleshooting DNS issues, or monitoramento TTL expiration. Servers span North America, Europe, Asia-Pacific, and other regions for comprehensive coverage.

GET /v1/dns/propagation

Parâmetros de Consulta

ParâmetroTipoDescrição
domain obrigatório string Domínio to verificar (e.g., "example.com" or "subdomain.example.com")
type opcional string Tipo de registro: A, AAAA, CNAME, MX, TXT, NS, SOA (padrão: A)
expected opcional string Expected valor to verificar propagation against (e.g., new IP address)

Campos de Resposta

CampoTipoDescrição
propagation_percentagenumberPercentage of servers returning expected valor (0-100)
fully_propagatedbooleanVerdadeiro se todos os servidores retornarem valores consistentes
consistentbooleanTrue if all successful responses have the same valor
unique_valuesarrayTodos os valores de registro exclusivos vistos nos servidores
resultsarrayResultados por servidor com localização, registros, TTL, tempo de resposta

Pedido de Exemplo

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

Resposta de Exemplo

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

Obtenha a lista de servidores DNS usados para verificações de propagação. Retorna todos os 13 servidores globais com suas localizações e endereços IP.

Resposta de Exemplo

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

Campos de Resposta

Campo Tipo
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

Parâmetros de Consulta

Parâmetro Tipo obrigatório
domain string obrigatório
type string opcional
from string opcional
to string opcional
limit integer opcional

Campos de Resposta

Campo Tipo
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

Pedido de Exemplo

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"

Resposta de Exemplo

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

Usado por pessoas em empresas incríveis

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel