Lighthouse Bulk Speed Auditor - PageSpeed & Core Web Vitals avatar

Lighthouse Bulk Speed Auditor - PageSpeed & Core Web Vitals

Pricing

$30.00 / 1,000 audit completeds

Go to Apify Store
Lighthouse Bulk Speed Auditor - PageSpeed & Core Web Vitals

Lighthouse Bulk Speed Auditor - PageSpeed & Core Web Vitals

Run open-source Lighthouse on hundreds of URLs at once. Get performance, SEO, accessibility & best-practices scores, Core Web Vitals (LCP, CLS, TBT), top fixes with savings and full HTML reports. Mobile & desktop. No API key needed.

Pricing

$30.00 / 1,000 audit completeds

Rating

0.0

(0)

Developer

Jean Swiegers

Jean Swiegers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Bulk Lighthouse Audit – PageSpeed, Core Web Vitals & SEO Scores for Many URLs

Run Google's open-source Lighthouse on a whole list of URLs and get one clean row per page: Performance, Accessibility, Best Practices and SEO scores (0–100), Core Web Vitals lab metrics (LCP, CLS, TBT, plus FCP, Speed Index and TTI), the top page speed fixes ranked by estimated savings, and optional full Lighthouse HTML reports you can share. Mobile, desktop or both. No API key, no PageSpeed Insights quota, no start fee – $0.03 per successful audit. Export to JSON, CSV or Excel, or pull results into your own dashboards via the Apify API.

Lighthouse (Apache-2.0) runs inside the Actor in headless Chrome, using the same simulated throttling as the lab section of PageSpeed Insights. This is an independent tool, not affiliated with or endorsed by Google.

What you get

One dataset row per URL per device:

FieldWhat it contains
url, finalUrlThe URL you gave and the URL Lighthouse ended on after redirects
devicemobile or desktop
statussucceeded or failed
scoresperformance, accessibility, best-practices, seo (0–100, for the categories you selected)
metricslcpMs, fcpMs, cls, tbtMs, siMs (Speed Index), ttiMs (Time to Interactive)
opportunitiesTop fixes sorted by estimated savings: id, title, displayValue, savingsMs, savingsKb
diagnosticsfailedAuditCount, failedAudits (first 15 IDs), totalByteWeightKb, numRequests, numScripts, domSize, serverResponseTimeMs, mainThreadWorkMs, bootupTimeMs
warningsLighthouse run warnings, if any
lighthouseVersion, throttling, fetchTime, durationMsHow and when the audit ran
reportJsonUrl, reportHtmlUrlLinks to the full Lighthouse JSON and shareable HTML report (when saveFullReport is on, otherwise null)
errornull on success, otherwise { code, message }

Ready-made dataset views in Apify Console: Scores & Core Web Vitals, Top opportunities and Errors. A RUN_SUMMARY record in the key-value store holds the succeeded/failed totals.

How much does it cost?

$0.03 per successful audit (one URL on one device). You only pay for successful results: failed audits and invalid URLs are free, there is no start fee, and there are no extra platform usage charges. "device": "both" counts as 2 audits per URL.

AuditsPrice
100 URLs, mobile$3.00
100 URLs, mobile + desktop$6.00
1,000 URLs, mobile$30.00

Set a maximum cost per run in Apify Console and the Actor stops starting new audits once it is reached.

Use cases

  • 📈 Core Web Vitals & SEO monitoring – schedule weekly audits of your key landing pages and spot regressions early.
  • 🏁 Competitor benchmarking – compare page speed and SEO scores against competitors' home and product pages.
  • 🧾 Agency reports & lead generation – audit a list of prospect websites and show each one what to fix, with a shareable HTML report.
  • 🚀 Pre/post-release QA – audit production URLs after each deploy by calling the Actor from CI via the Apify API.
  • ♿ Accessibility sweeps – find pages with failing accessibility audits across a site.

How to run a bulk Lighthouse audit

  1. Paste your URLs (or upload a text file of URLs) into URLs to audit. URLs without https:// get it added, and duplicates are removed.
  2. Pick the device (mobile, desktop or both) and the categories you need. Fewer categories make audits faster.
  3. Click Start, then download the results as JSON, CSV or Excel, or fetch them via the API.

Example input

{
"urls": [{ "url": "https://example.com" }, { "url": "https://apify.com" }],
"device": "both",
"categories": ["performance", "accessibility", "best-practices", "seo"],
"throttling": "simulate",
"saveFullReport": true,
"maxOpportunities": 5,
"maxConcurrency": 1
}

All input options:

FieldDefaultWhat it does
urlsexample.com, apify.comPages to audit (one audit per URL per device)
devicemobilemobile (Moto G Power, slow 4G), desktop or both
categoriesall fourperformance, accessibility, best-practices, seo
throttlingsimulatesimulate (Lighthouse default), devtools (applied throttling) or none
saveFullReportfalseSave full Lighthouse JSON + HTML reports and link them from each row
maxOpportunities5How many top fixes to list per URL (0–30)
maxConcurrency1Parallel audits (1–4). Use 1 per ~4 GB memory for stable scores
timeoutSecs120Per-audit timeout (20–300 s)
maxRetries1Retries per failed audit (0–3). Retries are never charged

Example output

A real mobile audit of apify.com from a test run (opportunities and failed audits shortened):

{
"url": "https://apify.com/",
"finalUrl": "https://apify.com/",
"device": "mobile",
"status": "succeeded",
"scores": { "performance": 31, "accessibility": 100, "best-practices": 75, "seo": 85 },
"metrics": { "lcpMs": 13371, "fcpMs": 2830, "cls": 0, "tbtMs": 28423, "siMs": 11305, "ttiMs": 42340 },
"opportunities": [
{ "id": "unused-javascript", "title": "Reduce unused JavaScript", "displayValue": "Est savings of 1,362 KiB", "savingsMs": 1970, "savingsKb": 1361.6 },
{ "id": "duplicated-javascript", "title": "Remove duplicate modules in JavaScript bundles", "displayValue": "Est savings of 93 KiB", "savingsMs": 0, "savingsKb": 92.7 }
],
"diagnostics": {
"failedAuditCount": 25,
"failedAudits": ["largest-contentful-paint", "speed-index", "total-blocking-time"],
"totalByteWeightKb": 4857.2,
"numRequests": 250,
"numScripts": 111,
"domSize": 1641,
"serverResponseTimeMs": 82,
"mainThreadWorkMs": 41286,
"bootupTimeMs": 27303
},
"warnings": [],
"lighthouseVersion": "12.8.2",
"throttling": "simulate",
"fetchTime": "2026-10-18T07:16:55.450Z",
"durationMs": 43072,
"reportJsonUrl": null,
"reportHtmlUrl": null,
"error": null
}

Failed URLs get "status": "failed" and an error object with a code (INVALID_URL, NAVIGATION_FAILED, TIMEOUT, …) and a message.

Tips

  • Lighthouse is CPU-sensitive. Keep maxConcurrency at 1 per ~4 GB of memory (Apify gives 1 CPU core per 4 GB). Less memory makes pages look slower (higher TBT).
  • In our test runs one audit took about 10 seconds for a light page (example.com) and about 45 seconds for a heavy JavaScript page (apify.com). Raise the run timeout for long URL lists.
  • Scores vary a few points between runs (in PageSpeed Insights too). Track trends, not single values.
  • Use Schedules in Apify Console for daily or weekly monitoring, and Integrations (Slack, Google Sheets, webhooks) to get the results where you work.

FAQ

Is this the same as Google PageSpeed Insights? It uses the same open-source Lighthouse engine and the same simulated throttling as PageSpeed Insights' lab data, but runs on Apify's servers, so absolute numbers can differ slightly. It does not include CrUX field data from real users.

Do I need a Google API key? No. Lighthouse runs inside the Actor, so there is no key and no PageSpeed Insights API quota.

What am I charged for? Only successful audits, at $0.03 each. Failed audits, invalid URLs and retries are free, and there is no start fee.

Can I audit pages behind a login? Not currently – only publicly reachable URLs.

Can I get the full Lighthouse report? Yes. Turn on saveFullReport and each row links to the full JSON and the shareable HTML report in the run's key-value store.

Is it legal? You audit public pages the way any browser loads them. Only audit sites you own or have a legitimate reason to test, and respect their terms. No personal data is collected.

Something broke? Open an issue on the Actor's Issues tab with the run ID.