Lighthouse, headlessly, as a service

Lighthouse audits.
As an API.

Trigger audits, get JSON back, store history. Real Chrome via Playwright, three regions, signed webhooks when each snapshot finishes.

POST /v1/audits
curl -X POST https://api.webvitals.sh/v1/audits \
  -H "Authorization: Bearer $WEBVITALS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "device": "mobile",
    "network": "4g",
    "region": "europe-west2"
  }'

What it does

URL-in, audit-out

One POST with a URL. No Site / Page / Device setup first. Batch up to 150 URLs per request.

Three regions

us-central1, europe-west2, asia-northeast1. Pick one or fan out.

Raw LHR, kept

Full Lighthouse JSON in object storage, presigned on read. Retention follows your plan.

Signed webhooks

HMAC-signed callbacks when an audit finishes. Timestamped, replay-safe.

Scheduled monitors

Daily or hourly per page. Same runner fleet; same flat response shape.

OpenAPI spec

Live at /v1/openapi.json. Generate clients however you want.

Built for teams who already know what they're buying

If LCP, CLS, and TBT mean something to you, you don't need a feature tour. Web Vitals is Lighthouse as structured data — behind an API, in three regions, with retention and webhooks. Use it for CI gates, alerting, customer dashboards, or however your stack wants to consume perf numbers.

Pricing →