Hill Country Bots

Bulk Core Web Vitals Checker


Check LCP, INP and CLS for a whole list of URLs in one run, instead of pasting pages into PageSpeed Insights one at a time. You get Google's real user ratings when they exist, plus lab scores for every page, in one table you can sort.

Check your URLs on Apify $3 per 1,000 checks, failed checks free.

Try one page free, right here

Free, no account. Google loads the page for real, so it takes 20 to 60 seconds. You get mobile and desktop scores plus LCP, INP and CLS. A few checks per person per hour. Our free site check page has the same tool.

How to check Core Web Vitals for many URLs

  1. Collect the URLs you care about. Your top landing pages are a good start. For a whole site, pull every address from the sitemap with our sitemap to CSV extractor.
  2. Open the Bulk PageSpeed Checker on Apify and paste the list, one URL per line.
  3. Pick mobile, desktop, or both. Google ranks the mobile version of a site, so mobile is the one to watch.
  4. Start the run. Google loads each page on its own servers, so expect a few seconds per URL.
  5. Download the results as CSV, Excel or JSON and sort by LCP, INP or CLS to see which pages fail.

What you get for each URL

  • Field data from real visitors. The 75th percentile LCP, INP and CLS from the Chrome UX Report, each rated FAST, AVERAGE or SLOW by Google, for the page and for the whole origin.
  • Lab data from Lighthouse. LCP, CLS, Total Blocking Time, First Contentful Paint, Speed Index and server response time, measured in Google's own test.
  • Scores. Lighthouse Performance, plus Accessibility, Best Practices and SEO if you ask for them.
  • The top fixes. Up to five opportunities, sorted by how much time Google estimates each one would save.

Lab and field numbers often disagree. Lab data is one test on a simulated phone. Field data is what real Chrome users saw over the last 28 days. When both exist, start with field data and use the lab numbers to work out why.

A real sample

We ran these five public sites on mobile on November 11, 2026. The numbers are copied from the output, rounded to the nearest millisecond. A sixth URL with a made up domain came back as a free error row.

URLField LCPField INPField CLSLab performance
python.org1,319 ms (FAST)89 ms (FAST)0 (FAST)90
developer.mozilla.org1,979 ms (FAST)164 ms (FAST)0.04 (FAST)100
gov.uk707 ms (FAST)107 ms (FAST)0 (FAST)99
wikipedia.org1,301 ms (FAST)100 ms (FAST)0 (FAST)100
web.dev3,047 ms (AVERAGE)235 ms (AVERAGE)0.01 (FAST)46

Field values are the 75th percentile from the Chrome UX Report for each URL. web.dev was the only page in this run outside Google's good range, on both LCP and INP, and its top suggested fixes were in the full row.

Here is one row as the tool returns it, shortened:

{
  "url": "https://www.python.org/",
  "strategy": "mobile",
  "scores": { "performance": 90 },
  "lab": { "lcpMs": 3301, "tbtMs": 0, "fcpMs": 2109 },
  "fieldData": {
    "lcpMs": { "p75": 1319, "category": "FAST" },
    "inpMs": { "p75": 89, "category": "FAST" },
    "cls": { "p75": 0, "category": "FAST" }
  },
  "opportunities": [
    { "title": "Render-blocking requests", "estimatedSavingsMs": 1600 }
  ],
  "status": "ok"
}

How it compares

There are good free ways to check Core Web Vitals, and you should use them when they fit. Here is how the main options line up.

OptionHow many URLsReal user dataPrice
PageSpeed Insights (Google)One at a timeYesFree
SpeedVitals batch checkerUp to 500 per run, sitemap importYes, from CrUXFree plan, paid plans on their site
Your own script on the PageSpeed Insights APIAs many as your quota allowsYesFree within Google's daily quota, but you write and maintain the code
Bulk PageSpeed Checker (we built it)No small cap, you set your own limitYes, page and whole site$3 per 1,000 checks, failed checks free

Prices and limits are from each company's public page, checked November 11, 2026. If one has changed, email [email protected] and we will fix it.

Our honest take: for a handful of pages, PageSpeed Insights or the free check above is all you need. For a one time look at a few hundred pages, a batch web tool is fine. Ours is built for the next step: the raw numbers and top fixes as CSV or JSON, on a schedule through n8n, Google Sheets or the Apify API, with no Google key to set up and no charge for pages that fail.

What it costs

$3 per 1,000 successful checks, which is $0.003 for one URL on one device. Checking 200 URLs on mobile costs $0.60. Mobile plus desktop counts as two checks. Failed checks are free. New Apify accounts get a small free monthly credit, which covers a first test.

Open the Bulk PageSpeed Checker

Questions

What are the three Core Web Vitals?

Largest Contentful Paint (LCP) measures how fast the main content shows up. Interaction to Next Paint (INP) measures how fast the page reacts to a tap, click or key press. Cumulative Layout Shift (CLS) measures how much the layout jumps while it loads. Google calls a page good when LCP is 2.5 seconds or less, INP is 200 ms or less, and CLS is 0.1 or less.

Why do some URLs have no field data?

Field data comes from the Chrome UX Report, which only covers pages with enough real Chrome visitors over the last 28 days. New or quiet pages often have none. You still get lab numbers from Lighthouse for every URL that loads, and the origin level data for the whole site when Google has it.

How many URLs can I check at once?

There is no small fixed limit like the free web checkers have. Paste a few dozen URLs or a whole sitemap list. You can cap the number of URLs or the maximum charge.

Do I need a Google API key?

No. The checker calls Google's official PageSpeed Insights API for you. You can add your own key if you want to.

Are failed checks charged?

No. If a URL does not load, times out or is not valid, you get an error row that explains why, and it costs nothing.

Is there a free bulk Core Web Vitals checker?

Yes. SpeedVitals has a batch checker for up to 500 URLs, and Google's PageSpeed Insights API is free within its daily quota if you are comfortable writing a script. Our checker is paid, at $3 per 1,000 checks, and is meant for repeat or automated runs where you want every metric in a spreadsheet.

Related