Domain Connect Checker API Reference
Endpoint reference for GET /v1/tools/domain-connect-checker: parameters, JSON response schema, error codes, and per-IP rate limits. No API key required.
https://api.domainee.dev/v1/tools/domain-connect-checker?domain=example.comCheck whether a domain's DNS provider implements the Domain Connect protocol, read live from the _domainconnect TXT record and the provider's settings endpoint. Reports the provider and whether it offers the synchronous flow (a signed redirect with no token exchanged, the one that works in practice) or only the asynchronous OAuth flow. One-click setup also needs the provider to have synced and enabled the service's template.
Free. No API key required. CORS-enabled. Rate-limited per IP at 30/min and 500/day.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
domainrequired | query | string | Domain to check. The zone apex is used for discovery. example: example.com |
Example request
curl -s "https://api.domainee.dev/v1/tools/domain-connect-checker?domain=example.com" | jqExample response
{
"ok": true,
"data": {
"domain": "example.com",
"supported": true,
"discoveryHost": "api.domainconnect.example-dns.com",
"dnsProvider": "Example DNS",
"providerId": "example-dns.com",
"flows": {
"synchronous": true,
"asynchronous": false
}
}
}Other languages
const res = await fetch("https://api.domainee.dev/v1/tools/domain-connect-checker?domain=example.com");
const { ok, data } = await res.json();import requests
r = requests.get(
"https://api.domainee.dev/v1/tools/domain-connect-checker",
params={"domain":"example.com"},
)
data = r.json()["data"]Rate limits & errors
- 30 requests/minute and 500 requests/day per IP. Exceeding either returns HTTP 429 with a
Retry-Afterheader. - All responses are JSON with the envelope
{ "ok": true, "data": {...} }on success or{ "ok": false, "error": { "code", "message" } }on failure. codevalues are stable; safe to switch on programmatically.messageis human-friendly and may change.
Interpreting supported
supported: true means the domain's DNS provider implements the Domain Connect
protocol. It does not mean a given service can use it: the provider only applies
templates it has already synced from the shared
Domain-Connect/Templates repository, so
the service also needs a published, merged and synced template.
Treat the flows object as the practical answer. synchronous: true is the case worth
building around, since it exchanges no token. It still needs each provider to sync and
enable your template, and some providers (Cloudflare among them) ask for an onboarding
email before they do.
A provider offering only the asynchronous flow requires an explicit OAuth setup with
that provider before one-click works.
See also
- Domain Connect Checker visual tool — UI version that hits this same API.
- DNS Provider Lookup: for the domains where Domain Connect is unavailable.
- Free APIs overview — rate limits, response envelope, error codes.