Appearance
Inspect
Public, rate-limited per IP
No auth required. Held to the shared public budget (600 requests/min per IP, 429 over). Inspect fans out to several primitives per call, so calls are heavier; authenticate for sustained use. See rate limits.
Everything known about a host, in a single call. Inspect powers the search box in our app and the public /inspect page: a domain or an IP goes in, and Inspect composes DNS, geo, the catalog, and crowd incidents into one answer.
- Base path:
https://ws.latency.app/v1/inspect - Auth: none (public)
Request
bash
curl "https://ws.latency.app/v1/inspect?target=cloudflare.com"| Parameter | Meaning |
|---|---|
target | Domain or IP to inspect. Required. |
ip | Optional pre-resolved IP (skips server-side DNS). |
locale | Optional locale for place names. |
A bare domain with no ip gets resolved through the DNS primitive.
Response
json
{
"target": "cloudflare.com",
"type": "domain",
"ip": "104.16.132.229",
"geo": { "ip": "…", "geo": { }, "asn": { "number": 13335, "org": "CLOUDFLARENET" } },
"statusPage": { "indicator": "…", "status": { "condition": "operational", "summary": "All systems operational.", "display": { "label": "Operational", "tone": "ok" } } },
"infrastructure": { "provider": "cloudflare", "status": { "condition": "operational", "display": { "label": "Operational", "tone": "ok" } } },
"incidents": null,
"verdict": { "label": "Operational", "tone": "ok" },
"crowdVerdict": { "label": "No Reports", "tone": "neutral" }
}| Field | Meaning |
|---|---|
geo | Location + operating network (see Geo). |
statusPage | The host's own status page, if it's a tracked provider. |
infrastructure | The cloud the host runs on, discovered by ASN, with that provider's status. Shown alongside, never merged into, the host's own status. |
incidents | Crowd-reported or confirmed outages, if any. |
verdict | The overall, ready-to-display verdict: a label, a tone (critical | warning | info | ok | neutral) and, when the provider's page is the voice, a phaseLabel ("Incident" with "Monitoring"). |
crowdVerdict | A user-reports-only verdict, kept separate from the official one. |
Read the verdict, not the raw indicator
The verdict and each status.condition / status.summary are computed by our systems to be internally consistent and staleness-aware. A provider's own indicator/description pass through verbatim for reference, but can mislead: a large provider's status page may read "Minor Service Outage" purely because a handful of edge nodes are degraded, with no real incident. Always color UIs from status.display.tone and show status.summary, not the raw indicator. The catalog explains why.
Infrastructure inheritance
If example.com is hosted on Cloudflare and Cloudflare is having an incident, Inspect surfaces that under infrastructure, a heads-up that the host's upstream is affected even when the host's own page is green. The section is advisory and always shown separately, so one provider's blip never masquerades as thousands of hosts having an outage.