URL Health Check API ==================== Check HTTP status, redirect chains, SSL, soft-404 detection, and security headers for any URL. No account required — get a free key at the payment page. Endpoints --------- GET /check?url= Check a single URL. Query params: url (required) URL to check — must be http or https timeout (optional) timeout in ms, default 10000, max 30000 Response fields: reachable false if connection failed or timed out status HTTP status code of the final response finalUrl URL after following all redirects urlChanged true if URL changed during redirect responseTime ms from request start to first byte redirectCount number of redirects followed redirectChain[] each hop: { url, status, location } softError.is404 true if page returned 200 but content signals "not found" ssl.enabled true if final URL is HTTPS ssl.downgradedFromHttps true if started HTTPS but ended up HTTP content { type, charset, title, description, canonical, byteSize } headers server, cache-control, last-modified, etag, security headers security { missingHeaders[], score } — score 0-100 POST /batch Check up to 10 URLs in parallel. Body: { "urls": ["https://..."], "timeout": 10000 } Response: { "count": N, "results": [...] } Auth ---- Pass your API key via header (preferred) or query param: Header: X-API-Key: Param: ?api_key= The response includes X-Credits-Remaining so you can track usage in code. Examples -------- curl "https://api.michaelnovotny.dev/url-health/check?url=https://example.com" \ -H "X-API-Key: YOUR_KEY" curl -X POST "https://api.michaelnovotny.dev/url-health/batch" \ -H "Content-Type: application/json" \ -H "X-API-Key: YOUR_KEY" \ -d '{"urls":["https://example.com","https://httpbin.org/redirect/3"]}'