Core Web Vitals Checker - Bulk PageSpeed & CrUX Reports avatar

Core Web Vitals Checker - Bulk PageSpeed & CrUX Reports

Pricing

from $8.00 / 1,000 vitals reports

Go to Apify Store
Core Web Vitals Checker - Bulk PageSpeed & CrUX 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

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

4

Monthly active users

14 hours ago

Last modified

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 itYou get backYou pay (Free plan)
Page URLs; mobile or desktop strategyPer 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

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.