Page timing

GET /api/v1/page-timing

Measure how fast a server responds: DNS lookup, TCP connect, TLS handshake, time to first byte (TTFB), download and total time — plus the transfer size and whether the response is compressed. A lightweight, no-browser alternative to a full Lighthouse run.

Query parameters

NameTypeDescription
url requiredstringThe URL to time.

Request

Response

200 · application/json
  1. {
  2. "url": "https://example.com",
  3. "statusCode": 200,
  4. "contentEncoding": "br",
  5. "contentType": "text/html",
  6. "transferSize": 71978,
  7. "contentLength": null,
  8. "timings": {
  9. "dnsMs": 4,
  10. "connectMs": 22,
  11. "tlsMs": 26,
  12. "ttfbMs": 194,
  13. "downloadMs": 42,
  14. "totalMs": 236
  15. }
  16. }

Response fields

FieldTypeDescription
contentEncodingstringCompression used (gzip, br…), or null if uncompressed.
transferSizeintegerBytes received over the wire (compressed).
contentLengthintegerThe Content-Length header, if the server sent one.
timings.dnsMsintegerDNS lookup time.
timings.connectMsintegerTCP connection time.
timings.tlsMsintegerTLS handshake time (HTTPS only).
timings.ttfbMsintegerTime to first byte — server processing latency.
timings.downloadMsintegerTime to download the response body.
timings.totalMsintegerTotal request time.

For full rendered performance (Core Web Vitals), use Lighthouse. See Errors for status codes.