API
Developers
The tools on this site run on two small public APIs. They need no key. Please keep request rates low; they run on a personal Cloudflare Workers account.
Discovery
- API catalog (RFC 9727):
/.well-known/api-catalog - OpenAPI 3.1 spec:
/api/openapi.json - Health:
/api/health/returns{"status":"pass"}
Endpoint URLs end in a slash. Requests without one get a permanent redirect.
DNS / HTTPS check
GET /api/dns-check/?host=example.com looks up A, AAAA, MX, and TXT records over Cloudflare DNS-over-HTTPS and makes one HTTPS request to the host's root page. host accepts a hostname or a full URL. Bad input returns 400; a failed lookup returns 502. The browser version is the DNS / HTTPS check tool.
curl "https://robmcd.name/api/dns-check/?host=example.com"
{
"host": "example.com",
"checkedAt": "2026-10-23T12:00:00.000Z",
"dns": {
"a": [{ "type": "A", "ttl": 300, "data": "93.184.215.14" }],
"aaaa": [...], "mx": [...], "txt": [...]
},
"https": { "ok": true, "status": 200, "finalUrl": "https://example.com/", "ms": 120 }
}Status board
GET /api/status/ probes each product and homelab service shown on the status page and reports whether it answered, its HTTP status, and response time. Results are cached for 60 seconds.
curl "https://robmcd.name/api/status/"
{
"checkedAt": "2026-10-23T12:00:00.000Z",
"results": [
{ "id": "robmcd", "name": "robmcd.name", "href": "https://robmcd.name/",
"group": "products", "ok": true, "status": 200, "ms": 85, ... }
]
}The contact and triage forms also post to APIs, but those need a Turnstile token and aren't meant for scripts. Use the contact form instead.