Skip to content

CSV exports

Two GET endpoints return CSV attachments for offline analysis, board reporting or a warehouse. Both work with any credential that can read the underlying data.

ExportEndpointRow cap
Check resultsGET /http/job/{job_id}/results/export50,000
Monitor uptime summaryGET /monitors/exportnone

Logs, metrics and traces export through telemetry exports instead, as CSV or NDJSON.

Every recorded check run for one uptime monitor (HTTP, TCP port or ping), oldest first. In the dashboard, open the monitor and choose Export CSV from its actions menu; it exports the range currently selected. Through the API, with the monitor’s id as JOB_ID:

Terminal window
curl -G "https://api.siteqwality.com/http/job/$JOB_ID/results/export" \
-H "Authorization: Bearer $SITEQWALITY_API_KEY" \
--data-urlencode "from=2026-07-01T00:00:00Z" \
--data-urlencode "to=2026-08-01T00:00:00Z" \
-o checks.csv

Columns, in order:

timestamp, region, status, http_code, total_ms,
dns_ms, tcp_connect_ms, tls_ms, ttfb_ms, download_ms, failure_reason,
packets_sent, packets_received, rtt_min_us, rtt_avg_us, rtt_max_us, rtt_mdev_us

from and to are optional: to defaults to now, from to 30 days before it. from must be before to. Check runs are kept for 90 days, so an older range returns only what is left of it.

The per-phase timing columns (dns_ms, tcp_connect_ms, tls_ms, ttfb_ms, download_ms) are empty for results recorded before mid-2026. total_ms is empty on a TCP port check that never connected and on a ping check that got no reply. The last six columns are the ping statistics, round trips in microseconds, and are empty except on ping checks.

One row per uptime monitor (HTTP, TCP port or ping), summarizing the range. API only.

Terminal window
curl -G "https://api.siteqwality.com/monitors/export" \
-H "Authorization: Bearer $SITEQWALITY_API_KEY" \
--data-urlencode "from=2026-07-01T00:00:00Z" \
--data-urlencode "to=2026-08-01T00:00:00Z" \
-o monitors-uptime.csv

Columns, in order:

monitor_id, name, url, check_type, state, uptime_percentage,
avg_response_time_ms, days_with_data, range_from, range_to
  • Uptime monitors only, despite the endpoint name: check_type is http, tcp or ping. Browser, cron, DNS and TLS monitors are not included. Paused monitors are, with empty metrics.
  • uptime_percentage is the unweighted average of daily uptime percentages, from the same daily figures as the SLA report, so the current day counts with the checks so far.

If a range matches more rows than the cap, the check results export returns no file, only a message with the actual count:

Range matches 91240 rows; the export cap is 50000. Narrow the date range.

Split the request into smaller windows and concatenate the results, keeping one header row.