Core Web Vitals Checker - Bulk PageSpeed & CrUX Reports
Pricing
from $8.00 / 1,000 vitals reports
Core Web Vitals Checker - Bulk PageSpeed & CrUX Reports
Bulk Core Web Vitals audits via the official PageSpeed Insights API: score, LCP, CLS, TBT + real-user CrUX assessment per URL. $0.01/report, no start fee. Failed URLs are free.
Pricing
from $8.00 / 1,000 vitals reports
Rating
0.0
(0)
Developer
Broke to Built
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
4
Monthly active users
14 hours ago
Last modified
Categories
Share
Core Web Vitals Checker — Bulk PageSpeed & CrUX Reports
Send a list of URLs, get the Google PageSpeed performance score, LCP, CLS and TBT, and the real-user Chrome UX Report verdict for each.
| You give it | You get back | You pay (Free plan) |
|---|---|---|
| Page URLs; mobile or desktop strategy | Per URL: score 0-100, lab LCP/CLS/TBT/FCP, field LCP/INP/CLS and FAST/AVERAGE/SLOW verdict, top fixes | $0.01 per URL report |
Pay per result only: no subscription, no start fee. URLs that fail are recorded and not charged. Paid Apify plans get Store discounts on the price above.
Try it in one click
The input form is already filled in with this example. Press Start and you get the output below.
{"urls": ["https://apify.com","https://example.com"]}
Real output from that exact input (run on 2026-09-24; long arrays shortened to a few entries and long text cut for display):
[{"ok": true,"url": "https://example.com/","strategy": "mobile","performanceScore": 100,"lab": {"lcpMs": 790,"cls": 0,"tbtMs": 0,"fcpMs": 790,"speedIndexMs": 790},"field": {"available": true,"coreWebVitalsAssessment": "FAST","lcpMs": 940,"inpMs": 80,"cls": 0},"topOpportunities": [],"source": "Google PageSpeed Insights API v5"},{"ok": true,"url": "https://apify.com/","strategy": "mobile","performanceScore": 33,"lab": {"lcpMs": 14934,"cls": 0.000045796677059048346,"tbtMs": 2512,"fcpMs": 2551,"speedIndexMs": 11660},"field": {"available": true,"coreWebVitalsAssessment": "AVERAGE","lcpMs": 2569,"inpMs": 381,"cls": 0.01},"topOpportunities": [{"id": "unused-javascript","title": "Reduce unused JavaScript","estimatedSavingsMs": 2250}],"source": "Google PageSpeed Insights API v5"}]
Audit Core Web Vitals for up to 100 URLs in one run. Each URL gets a client-ready report with the Lighthouse performance score (0–100), lab metrics (LCP, CLS, TBT, FCP, Speed Index), real-user CrUX field data (LCP, INP, CLS percentiles) with Google's own pass/fail Core Web Vitals assessment, and the top 5 speed opportunities ranked by estimated savings.
Data comes straight from the official Google PageSpeed Insights API v5 — the same engine behind pagespeed.web.dev — on our own provisioned API quota, so runs don't fail on the shared anonymous limit.
Who uses it
- SEO agencies producing a mobile Core Web Vitals report for 100 client URLs in one run
- Performance engineers comparing lab LCP and CLS against real-user CrUX data per page
- E-commerce teams checking product templates pass Google's field assessment after a theme update
- Developers reading the top speed opportunities to decide what to fix first
- Consultants benchmarking a prospect's key pages against their competitors' before a pitch
Why this one
- $0.01 per report, flat. No actor-start fee, no per-metric micro-charges. Comparable actors charge a $0.10 start fee plus $0.02–$0.08 per URL before extras.
- Failed URLs are free. You pay only for delivered reports — an unreachable page is recorded with its error and never billed.
- Field + lab in one row. Lab scores tell you what Lighthouse simulated; CrUX field data tells you what real Chrome users experienced, including the assessment Google actually ranks with.
Input
{"urls": ["https://example.com", "https://example.com/pricing"],"strategy": "mobile","maxUrls": 25}
strategy is mobile (Google's ranking basis, default) or desktop.
Output (one dataset item per URL)
{"ok": true,"url": "https://example.com","performanceScore": 84,"lab": { "lcpMs": 2100, "cls": 0.01, "tbtMs": 150, "fcpMs": 900, "speedIndexMs": 1800 },"field": {"available": true,"coreWebVitalsAssessment": "FAST","lcpMs": 1900, "inpMs": 140, "cls": 0.02},"topOpportunities": [{ "id": "render-blocking-resources", "title": "Eliminate render-blocking resources", "estimatedSavingsMs": 780 }],"source": "Google PageSpeed Insights API v5"}
field.available is false for low-traffic pages Google has no real-user data for — the lab metrics still come through.
Common uses
- Agency reporting: monthly vitals rows for every client page, exportable as JSON/CSV/Excel from the dataset.
- Site migration QA: audit the top-100 URLs before and after a redesign and diff the scores.
- Monitoring: schedule a weekly run and alert when a page's assessment leaves "FAST".
Works well with
- SEO Audit Tool — title, meta, schema, robots and sitemap checks for the same URLs.
- Page Weight Analyzer — byte-level breakdown of what makes a page heavy.
- Redirect Chain Checker — where every URL actually lands before you audit it.
- Complete Site Audit — the whole-site grade in one run.
Pricing
$0.01 per vitals report. One charge per URL per strategy, so auditing a page on both mobile and desktop is two reports. A URL that PageSpeed cannot analyse is returned with an error and is not charged.
100 URLs on mobile is $1.00. maxUrls caps the run, so it doubles as your budget cap.
FAQ
Is this the same data as pagespeed.web.dev? Yes — the official PageSpeed Insights API v5, called with your chosen device strategy.
What's the difference between lab and field data? Lab (Lighthouse) is a controlled simulation run at audit time; field (CrUX) is aggregated from real Chrome users over the past 28 days. Google's ranking systems use field data — that's the coreWebVitalsAssessment value.
How long does a run take? PageSpeed audits take 30–60 seconds per URL on Google's side; this actor runs three in parallel, so 25 URLs finish in roughly 7 minutes.
Why did a URL come back ok: false? The page was unreachable or PageSpeed couldn't analyze it — the error is in the record and the URL was not charged.
Changelog
-
2026-09-24: New summary at the top of this page: what you send, what you get, the price, and a real output from the prefilled example.
-
2026-09-14 — Default run memory lowered from 1024 MB to 256 MB. The actor calls Google's API and never used more than 66 MB, so the extra memory only added platform compute to your bill. Output, price ($0.01 per report) and behaviour are unchanged. You can still pick more memory per run.
For AI agents
This Actor is built to be called by software, not just by people.
- Mount it directly as an MCP tool — no Store search, no ranking, just this one tool:
https://mcp.apify.com/?actors=eliai/core-web-vitals-checker - Or call it over HTTP and get the results in the same request:
POST https://api.apify.com/v2/acts/eliai~core-web-vitals-checker/run-sync-get-dataset-items - Pay with x402, without an Apify account. This Actor is whitelisted for agentic payments, so an agent holding USDC on Base can buy a prepaid token and spend it here. The minimum purchase is $1, the token balance is an absolute spending cap, and it expires 14 days after purchase.
- Costs are predictable before you call. Pricing is pay-per-event (see Pricing above), so an agent can budget a run in advance instead of discovering the bill afterwards.
- Send only the field you mean. If you pass the bulk field, it is used on its own; the single-value field is a fallback, never merged into your request. You are charged for the items you sent and nothing else.