Bulk PageSpeed Insights Test: Lighthouse & Core Web Vitals avatar

Bulk PageSpeed Insights Test: Lighthouse & Core Web Vitals

Pricing

$3.00 / 1,000 successful audits

Go to Apify Store
Bulk PageSpeed Insights Test: Lighthouse & Core Web Vitals

Bulk PageSpeed Insights Test: Lighthouse & Core Web Vitals

Bulk PageSpeed Insights test for many URLs via Google's official API: Lighthouse 13 scores, Core Web Vitals (LCP, INP, CLS), real-user CrUX data and top fixes. Mobile and desktop. No API key needed. $3 per 1,000 audits, failures free.

Pricing

$3.00 / 1,000 successful audits

Rating

0.0

(0)

Developer

Hill Country Bots

Hill Country Bots

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Features

Limited permissions

Share

Run a bulk PageSpeed Insights test on a whole list of URLs in one click. This is a website speed test that returns Lighthouse scores, lab speed metrics, real-user Core Web Vitals (LCP, INP, CLS) and the top fixes. Results are ready for an SEO audit, a CSV export, or an AI agent. It uses Google's official PageSpeed Insights API, for mobile, desktop or both. $3.00 per 1,000 successful audits. Failed audits are free.

What does this bulk PageSpeed Insights checker do?

You give it URLs. For each URL and device, Google runs Lighthouse 13 on its own servers, and you get one clean row with:

  • Lighthouse scores (0-100): Performance, Accessibility, Best Practices, SEO
  • Lab metrics: LCP, CLS, TBT, FCP, Speed Index, server response time (TTFB)
  • Real-user Core Web Vitals from the Chrome UX Report (CrUX): p75 LCP, INP, CLS, FCP and TTFB, each rated FAST/AVERAGE/SLOW, for the page and for the whole origin, when Google has enough traffic data
  • Top 5 opportunities, sorted by estimated time savings
  • A clear status and errorCode for any URL that could not be tested

Who is it for?

  • SEO agencies and consultants: a bulk Core Web Vitals check across every client page, exported to CSV, Excel or Google Sheets
  • Developers: compare Lighthouse performance before and after a release, or schedule a daily run
  • AI agents and automations: stable JSON through the Apify API, MCP server, Make, Zapier or n8n, with a predictable price per result

Quick start

  1. Paste your URLs. A domain without https:// is fine. The form comes prefilled, so Start works right away.
  2. Choose Device (mobile, desktop, or both) and the Lighthouse categories you want. The price is the same whether you pick one category or all four.
  3. Click Start, then download the results as JSON, CSV or Excel, or read them through the API.

To audit a whole site, first extract URLs with the Sitemap URL Extractor, then paste the url column here. Each audit takes Google about 15 seconds (median). Slow pages can take up to 2 minutes. Six audits run in parallel by default.

Sample output

This table is from a real run on November 10, 2026, at 9:35 PM CT (America/Chicago), using the prefilled Wikipedia and web.dev URLs on mobile. You pay about $3 per 1,000 successful audits. Failed audits are free.

Sample output from a real Bulk PageSpeed Insights Test run

URLPerfA11yBPSEOLab LCPLab CLSCrUX
wikipedia.org100941001001.23 s0.001FAST
web.dev659096922.55 s0.112SLOW

If a URL cannot be tested, the run writes a row with status: "error", errorCode and errorMessage instead of finishing as a silent success with empty data. Those rows are not charged.

Example inputs

Mobile Core Web Vitals and Lighthouse scores for a short URL list:

{
"urls": ["https://www.wikipedia.org/", "https://web.dev/"],
"strategy": "mobile",
"categories": ["performance", "accessibility", "best-practices", "seo"]
}

Compare a page speed test on mobile and desktop (two rows, two charges per URL):

{
"urls": ["https://www.wikipedia.org/"],
"strategy": "both",
"categories": ["performance", "accessibility", "best-practices", "seo"]
}

Performance-only bulk audit (same $0.003 price per successful audit):

{
"urls": ["https://www.wikipedia.org/", "https://web.dev/", "https://www.example.com/"],
"strategy": "mobile",
"categories": ["performance"]
}

Desktop SEO and accessibility audit:

{
"urls": ["https://www.wikipedia.org/", "https://web.dev/"],
"strategy": "desktop",
"categories": ["accessibility", "seo"]
}

Ready-to-run example tasks (pre-filled inputs on this Actor's Store page):

Input

FieldTypeDefaultWhat it does
urlsarray of strings(required)Public http(s) pages. Private, local and internal addresses are refused and not charged.
strategymobile / desktop / bothmobileboth gives two rows and two charges per URL.
categoriesarray["performance"]Any of performance, accessibility, best-practices, seo.
googleApiKeysecret string(none)Optional. Your own free Google PageSpeed Insights API key, used instead of the built-in key. Stored encrypted, sent only to Google, never logged.
maxConcurrencyinteger 1-106Audits in parallel.
maxResultsinteger1000Most audits per run. Spend is capped at maxResults × $0.003.
requestTimeoutSecsinteger 30-180120Seconds to wait on one audit. A timed-out audit is retried once, then marked TIMEOUT (free).

Output example

Here is a real row from a test run on Nov 10, 2026, shortened to the first opportunity and the first field metric:

{
"url": "https://www.wikipedia.org/",
"strategy": "mobile",
"finalUrl": "https://www.wikipedia.org/",
"lighthouseVersion": "13.6.0",
"scores": {
"performance": 100,
"accessibility": 94,
"bestPractices": 100,
"seo": 100
},
"lab": {
"lcpMs": 1221,
"cls": 0.0005,
"tbtMs": 0,
"fcpMs": 1150,
"speedIndexMs": 2521.7069,
"ttfbMs": 5
},
"opportunities": [
{
"id": "cache-insight",
"title": "Use efficient cache lifetimes",
"estimatedSavingsMs": 250,
"metricSavings": {
"LCP": 250,
"FCP": 0
},
"displayValue": "Est savings of 28 KiB"
}
],
"fieldData": {
"overallCategory": "FAST",
"lcpMs": {
"p75": 1302,
"category": "FAST"
}
},
"status": "ok",
"errorCode": null,
"errorMessage": null,
"durationMs": 15548,
"attempts": 1,
"fetchedAt": "2026-11-10T20:44:34.016Z"
}

A failed audit is not charged and looks like this:

{"url": "https://httpbin.org/status/404", "strategy": "mobile", "status": "error", "errorCode": "LIGHTHOUSE_FAILED", "errorMessage": "Lighthouse returned error: NO_FCP. The page did not paint any content. Please ensure you k…"}

The key-value store also gets a RUN_SUMMARY record with totals (audited, failed, skipped, durationSecs).

Output fields (for AI agents and integrations)

  • status: ok means audited and charged. error means not audited and not charged.
  • errorCode is one of:
    • INVALID_URL or PRIVATE_URL: bad or internal address
    • LIGHTHOUSE_FAILED: Google could not load or render the page, e.g. a 404 page or a block
    • TIMEOUT, NETWORK_ERROR or HTTP_<code>: the request to Google failed
    • INVALID_API_KEY or QUOTA_EXCEEDED_DAILY: the run stops cleanly
  • scores.performance|accessibility|bestPractices|seo: 0-100
  • lab.lcpMs, cls, tbtMs, fcpMs, speedIndexMs, ttfbMs: lab measurements
  • fieldData / originFieldData: real-user p75 values plus a category. Null when Google has no CrUX data.
  • opportunities[]: id, title, estimatedSavingsMs, metricSavings, displayValue

Use it from the API, MCP or an AI agent

  • Actor ID: hillcountrybots/bulk-pagespeed-checker
  • One API call runs the audit and returns the rows. It waits up to 5 minutes, so use the async run endpoints for big batches:
curl -X POST "https://api.apify.com/v2/acts/hillcountrybots~bulk-pagespeed-checker/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls":["https://www.wikipedia.org/"],"strategy":"mobile"}'
  • MCP (Claude, Cursor, ChatGPT and other MCP clients): add https://mcp.apify.com?tools=hillcountrybots/bulk-pagespeed-checker as an MCP server. The tool takes the same input as above.
  • For agents: branch on status (ok or error). scores.performance is 0-100. Every row costs $0.003 when status is ok and nothing otherwise.

Use with n8n, Make, Zapier or on a schedule

You can run this Actor from the tools you already use. No extra plugin is required. Apify's official integrations start a run with your own Apify token and pass the results to the next step.

A typical setup is: schedule a weekly run → export the dataset to Google Sheets or Slack → review the new rows. The input is the same as on this page.

How much does it cost?

$3.00 per 1,000 successful audits, which is $0.003 per url-audited event (one URL on one device). You pay nothing for:

  • failed audits
  • invalid or private URLs
  • timeouts
  • the run summary

The Actor's compute is included, so there's no separate platform usage charge. For example, 500 URLs on mobile and desktop is 1,000 audits, or $3.00. To cap spend, use maxResults or the run's maximum charge setting.

Limits

  • Google limits how many tests the built-in key can run per day. If that quota runs out, the run stops cleanly and the remaining URLs are not charged. For very large or daily jobs, add your own free key in googleApiKey.
  • Lighthouse scores vary a few points between runs. That is normal for Lighthouse.
  • Real-user Core Web Vitals appear only for pages and origins with enough Chrome traffic.
  • The Actor cannot test pages behind a login, and it does not crawl. It audits exactly the URLs you give it.

FAQ

Do I need a Google API key? No. A built-in key is included. Your own key only matters for very high volume.

Is this legal? Yes. It calls Google's public PageSpeed Insights API under Google's API terms, and it tests only the URLs you supply.

Does it collect personal data? No. It returns page performance metrics only.

Are the scores the same as pagespeed.web.dev? Yes. This uses the same Google PageSpeed Insights API, so the results match. Lighthouse lab scores still move a few points from one run to the next, on the website too.

Can I test a whole website (a sitemap)? Paste or upload the list of URLs. The Actor doesn't crawl, so you control exactly which pages get tested and charged.

Why did one URL fail? Check errorCode and errorMessage. LIGHTHOUSE_FAILED usually means the page returned an error, painted nothing, or blocked Google's tester.

More tools from Hill Country Bots

  • Bulk Domain Availability Checker: Bulk available/taken checks from official registry RDAP, with registrar and expiry dates. $1 per 1,000 domains, invalid inputs and errors free.
  • Sitemap URL Extractor: Every URL from a site's XML sitemaps (robots.txt, indexes, gzip). $0.50 per 1,000 URLs, failures free.
  • Tech Stack Detector: CMS, ecommerce, analytics, CDN and frameworks for many websites. $0.50 per 1,000 sites, failures free.
  • SEO Audit Tool: 0-100 SEO score per page, top 5 fixes and a client-ready HTML report. $2 per 1,000 pages, failures free.

Support

Found a bug or need a field added? Open an issue on this Actor's Issues tab with the run ID and the URL. We reply within 2 business days (US Central time), and we fix confirmed bugs as fast as we can. Built and maintained by Hill Country Bots.