Other
GET
/api/v1/website-health-checkWebsite Health Check
DNS, ping, HTTP, SSL, and port checks against a domain in one pass, with a plain verdict.
| Parameter | Type | Required | Description |
|---|---|---|---|
target | string | Yes | Domain or URL to check. |
Example request
curl "https://netsh.io/api/v1/website-health-check?target=example.com&api_key=YOUR_API_KEY"
Example response
{ "ok": true, "data": { "domain": "example.com", "targetUrl": "https://example.com/", "ip": "172.66.147.243", "verdict": { "status": "warning", "headline": "Mostly healthy", "summary": "Worth a look: Security headers." }, "checks": [ { "id": "dns", "label": "IP address", "status": "ok", "summary": "172.66.147.243", "details": { "ip": "172.66.147.243" } }, { "id": "location", "label": "Location", "status": "ok", "summary": "United States", "details": { "countryCode": "US" } }, { "id": "organization", "label": "Organization", "status": "ok", "summary": "Cloudflare, Inc.", "details": { "orgDomain": "cloudflare.com" } }, { "id": "ping", "label": "Ping", "status": "ok", "summary": "32ms average round trip, no packet loss.", "details": { "avgRoundTripMs": 32, "packetLossPercent": 0 } }, { "id": "latency", "label": "Latency", "status": "ok", "summary": "119ms response time.", "details": { "totalMs": 119, "breakdown": { "dnsMs": 11, "tcpMs": 20, "tlsMs": 53, "remainingMs": 35, "totalMs": 119 } } }, { "id": "http", "label": "HTTP response", "status": "ok", "summary": "Server returned 200 OK.", "details": { "statusCode": 200, "statusText": "OK", "cloudflareBlocked": false } }, { "id": "redirects", "label": "Redirects", "status": "ok", "summary": "No redirects — this is the final destination.", "details": { "hops": [] } }, { "id": "ssl", "label": "SSL certificate", "status": "ok", "summary": "Valid — 46 days remaining.", "details": { "daysRemaining": 46, "percentRemaining": 13 } }, { "id": "security", "label": "Security headers", "status": "warning", "summary": "0/5 common security headers present.", "details": { "present": 0, "total": 5 } }, { "id": "protocol", "label": "HTTP protocol", "status": "ok", "summary": "HTTP/2 negotiated.", "details": { "protocol": "HTTP/2" } }, { "id": "compression", "label": "Compression", "status": "ok", "summary": "Brotli enabled.", "details": { "encoding": "br" } }, { "id": "ports", "label": "Ports (80 / 443)", "status": "ok", "summary": "HTTP (80): Open · HTTPS (443): Open", "details": { "ports": [{ "port": 80, "protocol": "http", "status": "open" }, { "port": 443, "protocol": "https", "status": "open" }] } } ] }, "meta": { "tool": "website-health-check", "version": "v1" } }