Lighthouse Bulk Auditor: Core Web Vitals and SEO for many URLs
Pricing
from $15.00 / 1,000 url auditeds
Lighthouse Bulk Auditor: Core Web Vitals and SEO for many URLs
Bulk Lighthouse audits for a URL list or an entire XML sitemap. One row per page with performance, accessibility, best-practices and SEO scores, Core Web Vitals (LCP, CLS, TBT) and the top fixes. No Google API key, no PageSpeed quota.
Pricing
from $15.00 / 1,000 url auditeds
Rating
0.0
(0)
Developer
Rishad M
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Lighthouse Bulk Auditor: Core Web Vitals, SEO and accessibility for many URLs
Run Google Lighthouse on a list of URLs or a whole XML sitemap and get one clean row per page: performance, accessibility, best-practices and SEO scores, Core Web Vitals (LCP, CLS, TBT), and the top fixes ranked by estimated time saved.
- No API key and no PageSpeed Insights quota. Lighthouse runs inside the Actor in real headless Chrome, so you never hit "Quota exceeded" errors.
- Mobile and desktop, using the same emulation settings as PageSpeed Insights.
- Whole-site audits from a sitemap, including sitemap indexes and
.gzsitemaps. - Pass/fail performance budget so you can filter failing pages or alert on them.
- Pay only for successful audits. Pages that can't be loaded are listed with the reason and aren't charged as audits.
What can this Lighthouse auditor do?
| Use case | How |
|---|---|
| SEO agency monthly client reports | Paste client URLs, export to Excel/Google Sheets |
| Find the slowest pages on a site | Give the sitemap, sort by largestContentfulPaintMs |
| Catch regressions after a release | Schedule a daily run with a performance budget and a webhook / Slack integration |
| Prospecting: find businesses with slow sites | Audit their homepages and pitch the top fixes |
| Accessibility and SEO checks | failedSeoOrA11yAudits lists failing checks per page (missing alt text, missing meta description, low contrast...) |
How much does it cost to run Lighthouse audits?
This Actor uses pay-per-event pricing: you pay a fixed price for each successful audit (one URL on one device). See the Pricing tab for the current price. Auditing 100 pages on mobile is 100 audits; mobile + desktop is 200 audits. Failed pages aren't charged as audits. Apify also adds a tiny run-start event (a fraction of a cent per run), so a run where every page fails still costs almost nothing, but not exactly zero.
Set Maximum cost per run in the run options to cap your spend; the Actor stops cleanly when it reaches the limit.
How to use it
- Click Try for free.
- Add your URLs, or paste a sitemap URL such as
https://www.example.com/sitemap.xml. - Pick Mobile, Desktop, or both.
- Optional: set a Performance budget (for example 70).
- Click Start and download results as JSON, CSV, Excel or HTML, or use the API.
Ready-made setups
Not sure where to start? These saved inputs run as-is, and you can swap in your own URLs:
- Sitemap audit (desktop): read a sitemap and audit the first pages on desktop.
- Mobile Core Web Vitals check: performance only, with a pass/fail budget.
- Accessibility-only pass: accessibility score plus the failing checks per page.
- SEO-only pass: SEO score plus failing checks such as missing meta descriptions.
Input
| Field | Description | Default |
|---|---|---|
startUrls | URLs to audit | – |
sitemapUrl | XML sitemap or sitemap index to read URLs from | – |
maxSitemapUrls | Cap on pages taken from the sitemap | 50 |
strategies | mobile, desktop or both | ["mobile"] |
categories | performance, accessibility, best-practices, seo | all four |
minPerformanceScore | Budget; adds passedPerformanceBudget true/false | 0 (off) |
maxOpportunities | Number of top fixes per page | 5 |
saveHtmlReports | Store the full Lighthouse HTML report per page | false |
pageTimeoutSecs | Max seconds per page | 60 |
Example input:
{"startUrls": [{ "url": "https://www.example.com" }],"sitemapUrl": "https://www.example.com/sitemap.xml","maxSitemapUrls": 100,"strategies": ["mobile", "desktop"],"minPerformanceScore": 70}
Output
One row per URL and device. Example (real output from a test run):
{"url": "https://www.govt.nz/","finalUrl": "https://www.govt.nz/","strategy": "mobile","status": "ok","errorMessage": null,"scores": { "performance": 97, "accessibility": 100, "bestPractices": 100, "seo": 100 },"firstContentfulPaintMs": 934,"largestContentfulPaintMs": 1834,"totalBlockingTimeMs": 152,"cumulativeLayoutShift": 0,"speedIndexMs": 3094,"timeToInteractiveMs": 5280,"serverResponseTimeMs": 1371,"passedPerformanceBudget": true,"topOpportunities": [{ "id": "server-response-time", "title": "Reduce initial server response time", "estimatedSavingsMs": 1271, "estimatedSavingsBytes": 0, "displayValue": "Root document took 1,370 ms" }],"failedSeoOrA11yAudits": [],"lighthouseVersion": "13.6.0","auditedAt": "2026-11-01T01:07:05.765Z","auditDurationSecs": 11.8}
Columns for categories you didn't select are null. For example, an accessibility-only run has no Core Web Vitals.
The Scores and Core Web Vitals view gives a flat table that's ready for spreadsheets. The Top fixes view lists the biggest opportunities per page.
Run it from the API
Start a run and get the results in one call (replace YOUR_TOKEN):
curl -X POST "https://api.apify.com/v2/acts/reflexdev~lighthouse-bulk-auditor/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"sitemapUrl": "https://www.example.com/sitemap.xml", "maxSitemapUrls": 20, "strategies": ["mobile"]}'
Synchronous calls time out after 5 minutes, so use the normal asynchronous run endpoint for large sitemaps.
Tips
- Lighthouse scores naturally vary by a few points between runs (network, ads and third-party scripts). For trend tracking, compare averages over several runs, not single numbers.
- Audits run from Apify's cloud (US data centres). Server response time for sites hosted far away, such as in New Zealand or Australia, will be higher than from a local machine.
- Pages are audited one at a time on purpose. Running audits in parallel in one browser distorts performance scores.
- A single audit usually takes 10–40 seconds, depending on the page and which categories you pick. Performance-only and SEO-only runs are the quickest.
- If you turn on Save full HTML Lighthouse reports, each report includes a screenshot of the page. Keep that in mind for pages that show personal data.
- Lab data (this Actor) is not the same as Chrome UX Report field data shown at the top of PageSpeed Insights. Lab data is reproducible and works for any page, including pages with little traffic.
Further reading: How to run Lighthouse on every page in your sitemap (without a PageSpeed API key), a step-by-step walkthrough on dev.to.
FAQ
Do I need a Google API key? No.
Can it audit pages behind a login? Not in this version.
Is it legal? The Actor loads public pages once, like a normal browser visit, and measures them with Google's open-source Lighthouse (Apache-2.0). It doesn't collect personal data. Only audit sites you own or have permission to test, and keep volumes reasonable.
Something broke or you need a feature? Open an issue on the Issues tab. Every issue gets read.
Did this help?
If this Actor saved you time, a short review on the Store page is much appreciated. It's the main way other people find it, and it tells me what to improve next.