Lighthouse audits, as a simple API.
Point VitalsBeacon at any URL and get a real Google Lighthouse run back as clean JSON - overall score, category breakdowns and the six performance metrics that matter.
Reading the metrics
Explain the metrics
Every metric lamp reads green for good, amber for needs work and red for poor - the same bands Chrome DevTools uses.
Largest Contentful Paint and Cumulative Layout Shift are rated by the audit server against Google's Core Web Vitals thresholds. The other four (FCP, Speed Index, Time to Interactive, Total Blocking Time) are graded here from Lighthouse's documented lab thresholds, shown on each row.
Scores are cached for 24h per URL, strategy and category set, so a repeat run returns the same snapshot instantly.
API reference
GET https://api.vitalsbeacon.com/audit
?url=https://example.com
&strategy=mobile
&quick=true
&categories=performance,seo
&runs=3
&fields=scores,opportunities - url required
- The page to audit. A missing scheme becomes https://
- strategy optional
- desktop (default) or mobile
- quick optional
- Performance-only run, ~15–20s
- categories optional
- Comma-separated subset: performance, accessibility, best-practices, seo
- runs optional
- 1 (default) or 3. runs=3 takes the median of 3 performance runs and returns a variance object. Counts as 3 requests.
- fields optional
- Project the response: comma-separated subset of scores, coreWebVitals, opportunities, variance
When performance is audited the response also carries an opportunities
array (Lighthouse's top 3 fixes by estimated savings). Cached responses include an
age field (seconds). Response headers: X-Cache,
X-RateLimit-Remaining, X-RateLimit-Reset. Errors return
{ error, code, hint } with stable codes.
Results cached 24h · rate limit 50 requests / hr / IP · CORS open.
MCP server
The same audit as a tool in any client that speaks the Model Context Protocol. One tool,
audit_performance, returning the scores, every Core Web Vital with a good,
needs-improvement or poor reading, and the fix list ordered by time saved. It is marked
read-only, so a client can run it without asking you first.
Claude Code
claude mcp add --transport http vitalsbeacon https://api.vitalsbeacon.com/mcp Codex
codex mcp add vitalsbeacon --url https://api.vitalsbeacon.com/mcp
Any other client: add https://api.vitalsbeacon.com/mcp as a remote streamable
HTTP server. No key, no account, no callback. Allow a generous timeout: a cold audit is 20 to
60 seconds and audits run one at a time.
FAQ
Are these real Lighthouse scores?
Yes. Each request runs Lighthouse against your URL in a headless Chromium instance, so the numbers match what you'd see in Chrome DevTools.
How long does an audit take?
Most audits finish in 20–40 seconds; quick mode (performance only) runs in about 15–20s. Every result then caches for 24 hours, so a repeat audit of the same URL returns instantly.
Do you support both mobile and desktop?
Both. Pass strategy=desktop (the default) or strategy=mobile to control the emulated device and throttling profile; each is cached separately.
Is there a rate limit?
Yes, 50 requests per hour per IP. Because every result is cached for 24 hours, repeated audits of the same URL return instantly without spending another request.