Bulk Lighthouse Site Audit: Speed, SEO & Accessibility
Pricing
from $8.00 / 1,000 page audits
Bulk Lighthouse Site Audit: Speed, SEO & Accessibility
Lighthouse scores, Core Web Vitals and a fix list for every page you list, or for a whole site read from its sitemap. Mobile and desktop. No API key, no PageSpeed quota. Pay only for pages audited.
Pricing
from $8.00 / 1,000 page audits
Rating
0.0
(0)
Developer
Jeremy DONALDSON
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Features
Share
What does Bulk Lighthouse Site Audit do?
Bulk Lighthouse Site Audit runs Google's open-source Lighthouse on every page you list, or on a whole site read from its sitemap, and returns performance, accessibility, best-practice and SEO scores, Core Web Vitals with good / needs-improvement / poor ratings, and a ranked list of fixes for each page. It runs mobile, desktop or both.
It runs Lighthouse in its own Chrome, so there is no Google API key to set up and no PageSpeed Insights quota to hit. You only pay for pages that were audited. Pages that are blocked, missing, broken or not HTML are listed free with the reason.
To try it, paste your home page into Pages to audit, tick Read the sitemap, and press Start.
Why use it?
- 🌐 Whole-site audits from one address. Give a home page and it reads
robots.txtandsitemap.xml(including sitemap indexes and.gzsitemaps) to find the pages. - 📱 Mobile and desktop in one run, using the same device profiles Google's PageSpeed Insights uses.
- 🧭 A site summary, not just rows: average scores per device, the five slowest pages, and the checks that fail on the most pages.
- 🛠️ Fixes, not just scores. Each page lists its biggest speed wins (with estimated time and size savings) and every failed accessibility, best-practice and SEO check, with how many page elements fail it.
- 💸 Failures are free. 404s, DNS errors, non-HTML files and pages that
robots.txtblocks cost nothing. - 🤖 Agent-ready. Works as a tool in the Apify MCP server, so AI assistants such as Claude or ChatGPT can call it.
- ⏱️ Everything the Apify platform gives you: schedules (weekly site checks), API access, webhooks, and exports to JSON, CSV, Excel or Google Sheets.
Who is it for?
- SEO and web agencies checking client sites before and after changes, or prospecting with a speed report.
- Site owners and developers tracking Core Web Vitals across every template, not just the home page.
- Accessibility reviews: Lighthouse's accessibility checks are built on the axe-core engine and catch common WCAG issues such as missing labels, low contrast and broken heading order.
How to audit a website
- Open the Actor and paste one or more page addresses into Pages to audit.
- To audit the whole site, tick Read the sitemap and audit the whole site and set Most pages to audit.
- Choose Mobile, Desktop or Both.
- Press Start. Each audit takes about 10 to 30 seconds.
- Open the Output tab: Scores for the overview, Speed fixes and Failed checks for the detail, and Site summary for the roll-up. Download as CSV or Excel, or send it to Google Sheets.
How much does a Lighthouse audit cost?
You pay per page audit: one page on one device. A page on Both devices is two audits.
| Price | |
|---|---|
| Page audit | $0.012 each ($12 per 1,000), lower on Apify's Silver and Gold plans |
| Run start | Apify's standard tiny start fee |
| Failed, blocked or skipped pages | Free |
Examples: a 50-page site on mobile is about $0.60. The same site on both devices is about $1.20. Apify's free plan includes monthly credit, enough for many test audits.
You can set a maximum cost per run when you start it. The Actor stops cleanly before it would go over, and you keep every result it finished.
Input example
{"startUrls": ["https://docs.apify.com", "https://www.python.org"],"crawlSitemap": true,"maxPages": 4,"device": "both","maxOpportunities": 3}
Output example
One row per page per device (shortened):
{"url": "https://www.python.org/","device": "mobile","status": "ok","performanceScore": 88,"accessibilityScore": 75,"bestPracticesScore": 100,"seoScore": 92,"lcpMs": 3673,"lcpRating": "needs-improvement","cls": 0.027,"clsRating": "good","tbtMs": 0,"tbtRating": "good","pageWeightKb": 464,"requestCount": 23,"opportunities": [{ "id": "render-blocking-insight", "title": "Render-blocking requests", "displayValue": "Est savings of 1,390 ms", "savingsMs": 1400, "savingsKb": null }],"failedChecks": [{ "id": "color-contrast", "category": "accessibility", "title": "Background and foreground colors do not have a sufficient contrast ratio.", "itemCount": 10 }],"failedCheckCount": 8,"lighthouseVersion": "13.5.0","errorCode": null}
A page that could not be audited comes back free, with the reason:
{ "url": "https://example.com/this-page-does-not-exist", "device": "mobile", "status": "failed", "errorCode": "ERRORED_DOCUMENT_REQUEST", "errorMessage": "Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 404) Not charged." }
The Site summary (key-value store record OUTPUT) holds average scores per device, the five slowest pages, and the ten most common failed checks.
Output fields
| Field | Meaning |
|---|---|
performanceScore, accessibilityScore, bestPracticesScore, seoScore | Lighthouse scores, 0 to 100 |
lcpMs, cls, tbtMs, fcpMs and their ...Rating | Core Web Vitals and First Contentful Paint, rated against Google's published thresholds |
speedIndexMs, serverResponseMs, pageWeightKb, requestCount | Load detail |
opportunities | Speed fixes, biggest estimated saving first |
failedChecks | Failed accessibility, best-practice and SEO checks, with element counts |
status, errorCode, errorMessage | ok rows are charged; failed and skipped rows are not |
reportUrl | Link to the full Lighthouse HTML report, if you turned that on |
FAQ
Why do my scores differ a little from PageSpeed Insights? Lighthouse scores move a few points between runs on any machine, PageSpeed Insights included. This Actor uses the same Lighthouse engine and device profiles. It reports lab data: it does not include the Chrome UX Report field data (real-visitor data) that PageSpeed Insights shows above its lab section.
Where is INP? INP needs real visitors clicking. Lighthouse lab tests report Total Blocking Time (TBT) as the stand-in, as PageSpeed Insights does.
Can it audit pages behind a login? No. It audits public pages only.
Does it respect robots.txt?
Yes. Pages a site's robots.txt asks bots not to load are skipped and not charged. Each site is loaded at most once every 2 seconds, one page at a time.
Is it legal? The Actor loads each public page once, as a browser would, and measures it. Audit sites you own, manage, or have permission to test.
Can I run it on a schedule? Yes. Save your input as a task and add an Apify schedule, for example every Monday. Add a webhook or the Google Sheets integration to get the results where you work.
Something went wrong.
Open an issue on the Actor's Issues tab with the run link. Rows with status: "failed" include Lighthouse's own error code, which usually explains it: the page timed out, returned an error, or isn't a web page.