⚡

Time To First Byte

Performance Auditor

Measures website response time performance

Performance
10 credits
Per check
~30 seconds
Average runtime
Active
Status

Run this auditor

3 of 3 free audits left today

See what Time To First Byte finds on your site. No sign-up needed.

How it works

  1. Sample — sends a GET to the audited URL as 37AuditsBot five times, two seconds apart, downloading at most one byte of each body. A blocked request ends the audit with 590.

  2. Measure — records, for every sample, the time from sending the request (of the last redirect hop) until the response arrived.

  3. Verify — a sample that cannot be fetched (timeout, DNS or TLS failure, HTTP 4xx/5xx other than a block, an empty response, or an interruption between samples) ends the audit with 500: the measurement is incomplete, which is not a verdict on the site.

  4. Summarize — computes the integer average, the fastest and the slowest sample; all samples are kept in the check data (ttfbMs, minTtfbMs, maxTtfbMs, numberOfTests, allMeasurements).

  5. Rules — an average above 1800 ms fails (400); an average above 800 ms but not above 1800 ms warns (300).

  6. Aggregate — FAIL wins over WARNING; an average of 800 ms or less is SUCCESS (200).

What this auditor validates

Every row maps to one checkRule* method and one CheckCode, in the order the auditor runs them. CheckCode suffixes use status ranges: 200 success, 300–399 warning, 400–499 fail, 500–599 error.

CheckCodeStatusWhen it firesRecommendationWhy it matters
37A-TTFBAuditor-400FAILThe average time to first byte over the samples is more than 1800 ms.Bring the average time to first byte of {url} down from {avg} ms to 800 ms or less: cache rendered pages on the server, serve them through a CDN close to your visitors and speed up the backend (slow database queries, heavy middleware, undersized hosting).Every page view waits on the server's first byte before anything renders, so a slow server response delays all other metrics, hurts search rankings and makes visitors leave before the page appears.
37A-TTFBAuditor-300WARNINGThe average time to first byte over the samples is more than 800 ms but not more than 1800 ms.Bring the average time to first byte of {url} down from {avg} ms to 800 ms or less: cache rendered pages on the server, serve them through a CDN close to your visitors and look for slow backend work (database queries, middleware) on this page.The browser cannot start rendering until the first byte arrives, so a slow-ish server adds its delay to every page load and holds back every other speed metric, which costs search rankings and visitor patience.
37A-TTFBAuditor-200SUCCESSAll rules passed. Message is Time to first byte of {url} averaged {avg} ms over {n} requests (min {min} ms, max {max} ms), within the 800 ms target.——
37A-TTFBAuditor-500ERROROne of the samples could not be fetched: timeout, DNS or TLS failure, an HTTP status other than 2xx (other than a block), an empty response body, or an interruption between samples.Make sure {url} answers every request with HTTP 2xx and a body, then run the audit again. Sample {sample} failed with: {error}.—
37A-TTFBAuditor-590ERRORThe audited page answered HTTP 403, HTTP 429 or a Cloudflare challenge, so 37AuditsBot was blocked before it could read the page.Allow 37AuditsBot in your firewall or bot protection: allowlist its user agent, or verify its Web Bot Auth signature. See https://www.37audits.com/bot.While 37AuditsBot is blocked this audit cannot look at the site, so problems on it go unreported.

Output Documentation

StatusDescriptionTest logic
SUCCESSThe server answers fastAverage TTFB of 800 ms or less (200).
WARNINGThe server answer needs improvementAverage TTFB above 800 ms and up to 1800 ms (300).
FAILThe server answers slowlyAverage TTFB above 1800 ms (400).
ERRORThe auditor could not complete the measurementA sample could not be fetched or had an empty body (500); site blocked 37AuditsBot (590).

Risks and Considerations

Why TTFB matters

  • The browser cannot paint anything before the first byte arrives, so every millisecond of TTFB is added to First Contentful Paint and Largest Contentful Paint, two of the metrics search engines use to rank pages.

  • Visitors on slow mobile connections feel a slow server twice: once waiting for the HTML and again waiting for the assets it references.

What drives the number

  • Server-side work dominates: uncached database queries, heavy templating, slow third-party calls made during rendering, or an undersized host.

  • Network distance adds up: a CDN or an edge cache close to your visitors removes the round trips to the origin.

  • Redirect chains count: the measurement covers the last hop only, but every earlier hop delays the visitor before it.

How the measurement is taken

  • Five samples two seconds apart smooth out a single slow answer; the verdict uses the average, and the fastest and slowest samples are reported with it.

  • Requests come from the 37 Audits infrastructure, so the absolute value differs from what a visitor in another region sees. Treat the trend across audits as the signal, not a single run.

  • The first sample may hit a cold cache; later samples usually show the cached answer. A large gap between minTtfbMs and maxTtfbMs points at caching that only works part of the time.

What this auditor does not check

  • Only the audited URL is measured; other pages of the site, and the assets the page loads, may be slower.

  • It does not measure how long the page takes to render in a browser; the Lighthouse Performance auditor covers the lab Core Web Vitals.

This documentation is built and hosted on Mintlify, a developer documentation platform.

Source: docs.37audits.com

Ready to start auditing?

Add this auditor to your monitoring setup and start identifying issues on your websites today.

© 2026 37 Audits. All rights reserved. Audit your websites with confidence.

Supported by

Made with ❤️ in Floripa