Network & DNS

GET/api/v1/is-site-down

PacketFlo Is My Site Down API

Cost: 2 credits per request

Check whether a public website responds from PacketFlo's server, with its HTTP status, response time, redirects and failure stage. Costs 2 credits per check.

ParameterTypeRequiredDescription
urlstringYesAbsolute public HTTP or HTTPS URL, including the scheme. Credentials and private network targets are rejected.

Website Up (200 OK)

Target server responds with a successful HTTP status code.

Example request

curl "https://packetflo.io/api/v1/is-site-down?url=https://example.com&api_key=YOUR_API_KEY"

Example response

{
  "ok": true,
  "data": {
    "requestedUrl": "https://example.com",
    "finalUrl": "https://example.com/",
    "status": "up",
    "statusCode": 200,
    "statusText": "OK",
    "responseTime": 184,
    "reason": null,
    "failedStage": null,
    "redirectHops": null,
    "cloudflareBlocked": false
  },
  "meta": { "tool": "is-site-down", "version": "v1" }
}

Website Down (DNS / Connect failure)

Target fails to resolve or connect. The check returns ok: true with diagnostic failure details.

Example request

curl "https://packetflo.io/api/v1/is-site-down?url=https://nonexistent-domain-test.org&api_key=YOUR_API_KEY"

Example response

{
  "ok": true,
  "data": {
    "requestedUrl": "https://nonexistent-domain-test.org",
    "finalUrl": null,
    "status": "down",
    "statusCode": null,
    "statusText": null,
    "responseTime": null,
    "reason": "DNS resolution failed — the domain doesn't currently resolve to any IP address.",
    "failedStage": "dns",
    "redirectHops": null,
    "cloudflareBlocked": false
  },
  "meta": { "tool": "is-site-down", "version": "v1" }
}

Reading the result

An API response with ok: true means the check completed. Read data.status to see whether the target responded successfully.

ResultMeaning
upThe server returned a response below 500 and is no longer redirecting. A 401, 403 or 404 still means reachable; check statusCode to understand the page response.
downA server error, unresolved redirect, DNS or TLS failure, connection failure, or timeout prevented a successful check. This is a diagnostic finding, so the API still returns HTTP 200.

Response fields

FieldWhat it tells you
finalUrlThe last URL checked. Null when no HTTP response was received.
statusCode / statusTextThe target's HTTP response, such as 200 / OK. Both are null when no response was received.
responseTimeElapsed milliseconds from PacketFlo's server, including redirects. Null when no HTTP response was received.
reasonA short explanation of a down result; otherwise null.
failedStagedns, connect, tls, http, or null. Network failure stages are inferred from errors rather than measured as separate probes.
redirectHopsAn ordered array of { url, status } for a redirected request; null for a direct response.
cloudflareBlockedTrue when a 4xx/5xx response carries Cloudflare headers. It may indicate a challenge or restriction; it does not prove the origin is down.

Scope and limits

Checks run from PacketFlo's server, with at most five HTTP requests and a six-second fetch timeout per request. Results describe reachability from that server; they do not establish a worldwide outage or measure the visitor's connection.

Authentication and errors

Send your key in the x-api-key header, or the supported api_key query parameter. Each request uses 2 credits from the key's shared 300-credit rolling 24-hour budget. Credits are charged before parameter validation. Successful responses and quota errors include usage headers; GET and OPTIONS support CORS.

API statusMeaning
200The diagnostic returned a result in data, with ok: true and version information in meta. Read the diagnostic fields to determine the target's condition.
400Missing or invalid URL, or a blocked target.
401Missing, invalid or revoked API key.
429The request would exceed the key's available credit budget.
500PacketFlo could not complete the check.
Ping