Fast, stateless Network Diagnostics

Other

GET/api/v1/website-health-check

Website Health Check

DNS, ping, HTTP, SSL, and port checks against a domain in one pass, with a plain verdict.

ParameterTypeRequiredDescription
targetstringYesDomain 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" }
}