Is-it-down API

Everything this site shows is available as JSON from the same endpoints the pages use. No API key, no cookies, CORS enabled, checks run from an independent server in Singapore. There is also an MCP server so AI assistants can run the same checks.

Check a website

GET https://downforjustmeoreveryone.com/api/check?domain=reddit.com

Returns the live verdict. The domain is normalised (scheme, path, port and query are ignored; the host is checked as given, so www.example.com and example.com are two checks).

{
  "domain": "reddit.com",
  "up": true,
  "state": "up",
  "status": 200,
  "latencyMs": 412,
  "checkedAt": "2026-09-11T14:02:11.938Z",
  "reason": "200 OK",
  "ip": "151.101.1.140",
  "scheme": "https",
  "finalUrl": "https://www.reddit.com/",
  "redirected": true,
  "server": "snooserv",
  "tls": null
}
FieldMeaning
uptrue when the host answered with anything below HTTP 500. Bot-blocks and auth walls (401/403/429…) still count as up — the site is alive, it just refused an automated request.
stateOne of up, slow (answered, but over 4 s), error (answered with a genuine 4xx such as 404), maintenance (503), down.
statusFinal HTTP status after redirects, or null when the connection failed.
latencyMsTotal time for the probe, including redirects and any retry as a browser.
reasonHuman-readable explanation (200 OK, Timed out, Domain not found…).
checkedAtISO timestamp. Results are cached for 30 s per domain, so two calls inside that window return the same check.
ip, scheme, finalUrl, redirected, serverDiagnostics: resolved address, protocol that worked, where redirects ended, and the Server header.

Errors come back as { "error": "…" } with HTTP 400 (bad domain) or 429 (rate limit).

TLS certificate

GET https://downforjustmeoreveryone.com/api/cert?domain=reddit.com
→ { "domain": "reddit.com", "tls": { "daysRemaining": 61, "validTo": "…", "issuer": "…" } }

Status badge and feed

MCP server (for AI assistants)

The same checks are available to Claude, ChatGPT, Cursor and any other Model Context Protocol client as a remote server. No key, no sign-up, read-only.

https://downforjustmeoreveryone.com/mcp
ToolWhat it returns
check_siteLive verdict for any public domain: the one-sentence answer, status, latency, redirect target, the other region's view, user reports in the last hour.
list_outagesMonitored sites confirmed down right now (two consecutive failed checks, no region seeing them up), optionally by category.
site_historyUptime over 24 h and up to 7 days, every outage in the window, last seen down, current state — for monitored sites.
check_certificateTLS expiry: days remaining, expiry date, issuer.
list_monitored_sitesThe monitored list by category or text query.

Add it to your assistant:

# Claude Code
claude mcp add --transport http is-it-down https://downforjustmeoreveryone.com/mcp

# Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → paste the URL

# Cursor, Windsurf, VS Code and most others (mcp.json)
{ "mcpServers": { "is-it-down": { "url": "https://downforjustmeoreveryone.com/mcp" } } }

Streamable HTTP transport, stateless, JSON responses (no event streams), same limits as the REST API. Try it by hand:

curl -s https://downforjustmeoreveryone.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_site","arguments":{"domain":"github.com"}}}'

Examples

curl -s "https://downforjustmeoreveryone.com/api/check?domain=github.com" | jq .state
const r = await fetch('https://downforjustmeoreveryone.com/api/check?domain=github.com');
const { up, state, latencyMs } = await r.json();

Limits and terms