Build on UptimeDown — plain JSON, no key

Every endpoint below answers with JSON over HTTPS. No API key, no signup, no SDK — a curl is the whole integration. Limits are per IP per minute; when they run out, one request credit keeps you going.

Quick start

# Is a site up?
curl -s https://uptimedown.com/api/check \
  -H 'content-type: application/json' \
  -d '{"url":"https://example.com"}'
→ { "status":"online", "statusCode":200, "responseTimeMs":4, ... }

# What's shaking?
curl -s https://uptimedown.com/api/intel/earthquakes
→ { "layer":"earthquakes", "events":[{ "title":"M 5.2 — ...", ... }] }
const r = await fetch(
  "https://uptimedown.com/api/dns?name=example.com&type=MX"
);
const { records, match, asOf } = await r.json();

Endpoints

POST/api/check30/min

Full uptime probe: status, latency, redirect chain, failure explanation.

Params: { "url": "https://example.com", "fullUrl": false }

GET/api/intel/earthquakescached 5 min

M4.5+ seismic events worldwide (USGS), normalized to one event schema.

Params: —

GET/api/intel/weathercached 3 min

Active severe & extreme weather alerts with coordinates (NWS, US).

Params: —

GET/api/dns30/min

Authoritative records plus a resolver cross-check with a match flag.

Params: ?name=example.com&type=A

GET/api/ssl20/min

Certificate issuer, SANs, validity window, days until expiry.

Params: ?host=example.com

GET/api/whois20/min

Registrar, created/updated/expires dates, statuses, nameservers (RDAP).

Params: ?domain=example.com

GET/api/ip30/min

Geolocation, ASN, ISP and timezone for a public IPv4 address.

Params: ?ip=8.8.8.8

GET/api/earthcached

Aggregated check heat by country plus currently failing hosts.

Params: ?country=DE

GET/api/recentcached

The latest checks people ran on the site, newest first.

Params: —

POST/api/link-check30/min

Fetches a page and reports outbound links with their status codes.

Params: { "url": "https://example.com/page" }

Rules of use

Limits. A sliding 60-second window per IP (20–30 requests, shown per endpoint). Hit it and you get 429 with retry-after — or buy request credits (€1 = 4,000 checks) and the same call is served past the free window.

Caching. Feed endpoints (/api/intel/*, /api/earth, /api/recent) are cached server-side for 30 seconds to 5 minutes — poll them freely, upstream sources are never hit per visitor.

CORS. No cross-origin header is set: browser calls must come from a page on this origin. Server-to-server (curl, workers, cron) is unrestricted within the limits.

Stability. Response shapes are stable; new fields may appear without notice — parse defensively. Abuse (scanning, load generation) is edged automatically.

Buy credits — €1 = 4,000 checksUptime monitoring — €10/year ProPublic APIs directory