API reference

TLD Coverage API

Lists TLDs with RDAP mappings and representative endpoint health. This is not a complete list of TLDs that can be checked; some lookups use traditional WHOIS fallback. Use this reference to choose an operation and integrate its documented response contract.

Operations

GET /v1/coverage View API reference

GET /v1/coverage

Operation: getCoverage Credits and authentication: Free Authentication optional
GET /v1/coverage Credits: 0

Query parameters

Parameter Type required
live string
Allowed values 1
optional

Response fields

Field Type
gtlds[] string[]
cctlds[] string[]
total_tlds integer
all_tlds[] string[]
rdap_health[] object[]
rdap_health[] object
rdap_health[].tld string
rdap_health[].endpoint string
rdap_health[].measurement_status string
rdap_health[].ok boolean | null
rdap_health[].p50_ms number | null
rdap_health[].error_rate number | null
bootstrap_source string
bootstrap_last_updated string
meta object
meta.served_by string
meta.bootstrap_ttl_s integer
meta.live boolean

Example request

curl "https://domscan.net/v1/coverage?live=1"
const response = await fetch("https://domscan.net/v1/coverage?live=1");
const data = await response.json();
console.log(data);
import requests

response = requests.get(
    "https://domscan.net/v1/coverage?live=1",
)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/coverage?live=1", nil)
	if err != nil {
		panic(err)
	}

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/coverage?live=1")
request = Net::HTTP::Get.new(uri)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))

Example response

{
  "gtlds": [
    "example"
  ],
  "cctlds": [
    "example"
  ],
  "total_tlds": 1,
  "all_tlds": [
    "com"
  ],
  "rdap_health": [
    {
      "tld": "com",
      "endpoint": "https://example.com",
      "measurement_status": "single_probe",
      "ok": true,
      "p50_ms": 1.5,
      "error_rate": 0
    }
  ],
  "bootstrap_source": "iana",
  "bootstrap_last_updated": "2026-08-27T12:00:00Z",
  "meta": {
    "served_by": "example",
    "bootstrap_ttl_s": 1,
    "live": false
  }
}

HTTP status codes

  • 200 OK
  • 429 Too Many Requests

Reference resources