DNS & Network 3 Endpoints 8 Key Features

DNS Resolver Comparison API

Compare answers from Cloudflare and Google through their independent DNS-over-HTTPS endpoints. Both are global-anycast recursive services. The result shows what those two providers returned from the request path, not what every network or region sees.

Category DNS & Network
Endpoints 3
Key Features 8
Frequently Asked Questions 4

Used by people at amazing companies

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel

Trust signals before you integrate

Transparent docs, authenticated requests, and visible reliability details make it easier to evaluate DomScan before you ship.

Live Service status

Check live service health and documented failure responses before you integrate.

OpenAPI API artifacts

OpenAPI, Swagger, Postman, CLI, SDK, and MCP links are one click away.

API keys Protected access

Authenticated endpoints use API keys with clear credit costs before you call them.

10,000 Free allowance

Start with 10,000 monthly credits and upgrade only when usage grows.

What this API helps you ship

Use this page as a production brief: endpoints, examples, response shape, and the workflow pieces needed to plug DomScan into your own product.

Product workflows

Embed domain checks, DNS intelligence, risk signals, or enrichment into onboarding, search, and internal tools.

Analyst automation

Replace repeated manual lookups with scheduled jobs, alerting, and reproducible investigation steps.

Clean JSON data

Use predictable fields, documented status codes, and credit costs instead of scraping provider pages.

AI and ops tooling

Feed agents, dashboards, SOAR playbooks, and CRMs through OpenAPI, SDK, Postman, or MCP.

Integration workflow

A simple path from first request to repeatable production usage.

1
Authenticate once

Send your API key with the documented header and keep requests consistent across services.

2
Query with examples

Start from the curl and HTTP samples, then map the parameters into your application code.

3
Operate and monitor

Use status codes, credit costs, and response fields to build retries, logs, and alerts.

Developer kit

Jump from this page into machine-readable docs, request collections, SDKs, or agent tooling.

Parameters and response map

Scan the inputs, output fields, and status codes before wiring the endpoint into your client.

Request parameters

Parameter

domaintypeexpecteddomains
Response fields

Example Response

domainrecord_typemeasurement_scopepercentage_basispropagation_percentagefully_propagatedconsistentunique_valuesresultssummarysummary.total_serverssummary.successful
Status coverage

HTTP Status Codes

200400401402429

Endpoints

GET /v1/dns/propagation
Credits: 2Authentication: Authentication required
domaintypeexpected
POST /v1/dns/propagation/bulk
Credits: 2/itemAuthentication: Authentication required
domainstypeexpected
GET /v1/dns/servers
Credits: 0Authentication: Authentication required

Trust signals before you integrate

Transparent docs, authenticated requests, and visible reliability details make it easier to evaluate DomScan before you ship.

Service status API artifacts

OpenAPI, Swagger, Postman, CLI, SDK, and MCP links are one click away.

API keys Protected access

Authenticated endpoints use API keys with clear credit costs before you call them.

Free allowance Sign Up for Free

Start with 10,000 monthly credits and upgrade only when usage grows.

Active Example Request

Start from the curl and HTTP samples, then map the parameters into your application code.

Key Features

Two Independent Resolver Providers

Query Cloudflare and Google separately with no provider fallback.

Multiple Record Types

Compare A, AAAA, CNAME, MX, TXT, NS, and SOA records.

Comparison Percentage

See the largest matching answer cohort, or exact expected-value matches when expected is supplied.

Resolver Convergence

See whether both configured resolvers returned the same canonical answer set.

Expected-Value Match

Optionally make an exact expected record value the basis of the percentage.

Observed TTLs

Inspect the TTL returned by each resolver, which can reflect its current cache state.

Request-Path Timings

Measure response time from the request path, not latency from geographic regions.

Resolver Provenance

See the provider, anycast scope, DoH endpoint, and provider documentation for each resolver.

Example Request

GET /v1/dns/propagation bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/propagation?domain=example.com&type=A"

Example Response

200 OK json
{
  "domain": "example.com",
  "record_type": "A",
  "measurement_scope": "configured_recursive_resolvers",
  "percentage_basis": "resolver_convergence",
  "propagation_percentage": 100,
  "fully_propagated": true,
  "consistent": true,
  "unique_values": ["93.184.216.34"],
  "results": [
    {
      "server": {
        "name": "Cloudflare 1.1.1.1",
        "ip": "1.1.1.1",
        "provider": "Cloudflare",
        "location": "Global anycast",
        "country": "GLOBAL",
        "scope": "global-anycast",
        "doh_endpoint": "https://cloudflare-dns.com/dns-query"
      },
      "success": true,
      "records": ["93.184.216.34"],
      "ttl": 86400,
      "response_time_ms": 12
    },
    {
      "server": {
        "name": "Google Public DNS",
        "ip": "8.8.8.8",
        "provider": "Google",
        "location": "Global anycast",
        "country": "GLOBAL",
        "scope": "global-anycast",
        "doh_endpoint": "https://dns.google/resolve"
      },
      "success": true,
      "records": ["93.184.216.34"],
      "ttl": 86400,
      "response_time_ms": 15
    }
  ],
  "summary": {
    "total_servers": 2,
    "successful": 2,
    "failed": 0,
    "matching_expected": 0
  }
}

Frequently Asked Questions

What does this resolver comparison measure?

Without expected, the percentage is the largest identical-answer cohort divided by both configured resolvers. With expected, it is the number of exact matches divided by both resolvers. fully_propagated only means both converge, or both match expected.

Why can Cloudflare and Google return different answers?

Recursive resolvers keep separate caches. Differences can come from TTL expiry, cache timing, staged authoritative changes, load balancing, DNS policy, or intentional answer variation. A mismatch is not automatically an error.

Which DNS services are queried?

The API independently queries Cloudflare 1.1.1.1 and Google Public DNS through their JSON DoH endpoints. Both are global-anycast recursive providers, not two geographic locations.

Can this prove that a DNS change propagated worldwide?

No. It compares two public recursive providers from the request path. For broader evidence, also query the authoritative nameservers directly and test from the networks or regions that matter to you.

Related Tools & Resources

HTTP Status Codes

We document the HTTP status codes you should handle so you can distinguish successful responses, auth issues, credits, rate limits, missing data, and upstream failures.

OK 200

Request successful

Bad Request 400

Invalid parameters

Unauthorized 401

Missing or invalid API key/session.

Payment Required 402

Not enough credits to run this request.

Too Many Requests 429

Rate limit exceeded

Compare DNS Resolver Answers