Data

Daily uptime

GET /api/v1/projects/{id}/uptime/daily

Scheduled uptime checks summed per UTC day, for charts and reports: uptime %, average response time and TTFB, plus totals for the range. Days without checks are included with null values. The range defaults to the last 7 days and starts no earlier than your plan keeps history (retentionDays).

API key access
Read only or read and write
Project permission
View health
Success
200 — OK

Parameters

Path

ParameterTypeNotes
id required string Project id

Query string

ParameterTypeNotes
from string (date) First day, YYYY-MM-DD (UTC)
to string (date) Last day, YYYY-MM-DD (UTC), inclusive

Example request

Replace tk_live_YOUR_KEY with your API key and the ids with your own.

curl 'https://trackerv2.marketingplanet.global/api/v1/projects/6650a4c2e1b3d5f7a9c1e301/uptime/daily?from=2026-10-04&to=2026-10-06' \
  -H 'Authorization: Bearer tk_live_YOUR_KEY'

Example response

200 OK
{
  "data": {
    "from": "2026-10-04",
    "to": "2026-10-06",
    "retentionDays": 90,
    "days": [
      {
        "date": "2026-10-04",
        "checks": 288,
        "up": 288,
        "down": 0,
        "uptimePct": 100,
        "avgMs": 240,
        "avgTtfbMs": 180
      },
      {
        "date": "2026-10-05",
        "checks": 288,
        "up": 285,
        "down": 3,
        "uptimePct": 99,
        "avgMs": 263,
        "avgTtfbMs": 190
      },
      {
        "date": "2026-10-06",
        "checks": 0,
        "up": 0,
        "down": 0,
        "uptimePct": null,
        "avgMs": null,
        "avgTtfbMs": null
      }
    ],
    "summary": {
      "checks": 576,
      "up": 573,
      "down": 3,
      "uptimePct": 99.5,
      "avgMs": 251,
      "avgTtfbMs": 185
    }
  }
}

Response fields

FieldTypeNotes
data object
data.from string (date) First day actually covered
data.to string (date) Last day actually covered
data.retentionDays integer Days of history your plan keeps
data.summary object Rate-limited (429) answers count as up: the site responded.
data.summary.checks integer
data.summary.up integer
data.summary.down integer
data.summary.uptimePct number or null Null when there were no checks
data.summary.avgMs integer or null Average total response time
data.summary.avgTtfbMs integer or null
data.days array of object
data.days[].date string (date)
data.days[].checks integer
data.days[].up integer
data.days[].down integer
data.days[].uptimePct number or null Null when there were no checks
data.days[].avgMs integer or null Average total response time
data.days[].avgTtfbMs integer or null

Errors

Besides the errors any request can return (bad or missing key, plan, scope, rate limit), this endpoint can return:

Statuserror.codeMeaning
400invalid-requestA parameter or body field is missing or invalid; error.message says which.
404not-foundThe resource does not exist or you cannot open it. Tracker does not reveal which.
403flag-viewHealthYour project membership does not include viewing health.

Errors always look like { "error": { "code": "…", "message": "…" } }. See Errors & limits.