Bulk Website Performance Audit (Lighthouse, Mobile + Desktop) avatar

Bulk Website Performance Audit (Lighthouse, Mobile + Desktop)

Pricing

from $20.00 / 1,000 audits

Go to Apify Store
Bulk Website Performance Audit (Lighthouse, Mobile + Desktop)

Bulk Website Performance Audit (Lighthouse, Mobile + Desktop)

$0.02 per successful audit, compute included; failed, blocked or timed-out URLs are not charged. Lighthouse audits for up to 5,000 URLs per run, mobile and desktop: performance, accessibility, best-practices and SEO scores, lab LCP, CLS, TBT, FCP and top fixes. Not affiliated with Google.

Pricing

from $20.00 / 1,000 audits

Rating

0.0

(0)

Developer

Batch Pane

Batch Pane

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Bulk Website Performance Audit (Lighthouse lab data, Mobile + Desktop)

Lab data from a single page load, not real-user (CrUX) field data. Not affiliated with Google.

Bulk Lighthouse checker for page speed, SEO and accessibility: give it a list of URLs (or upload a CSV) and get, per page and per device, the four Lighthouse scores, five lab metrics (including the lab Core Web Vitals LCP and CLS; INP cannot be measured in a lab test) and the main improvement suggestions, as flat rows that fit straight into a spreadsheet, a dashboard or an AI agent. You pay per audit that succeeds (plus Apify's small per-run start fee, see Pricing).

What it does

  • Runs the open-source Lighthouse tool (by Google, Apache-2.0) inside this actor, in headless Chromium. No Google API key is needed or used.
  • One page load per URL per device. Links are not followed, nothing is crawled.
  • Mobile and desktop in one run: mobile uses Lighthouse's default mobile emulation with simulated slow 4G and CPU throttling; desktop uses Lighthouse's standard desktop settings.
  • Polite to websites: audits run one at a time, with at least 2 seconds between two pages of the same website. robots.txt is respected by default.
  • Ideal for weekly checks: schedule the actor in Apify and compare the rows over time.

Example input (tested on the platform):

{
"startUrls": [
{ "url": "https://www.iana.org/help/example-domains" },
{ "url": "https://www.w3.org/" }
],
"devices": ["mobile", "desktop"]
}

A public link to a .txt/.csv list of URLs also works: {"requestsFromUrl": "<link>"} in startUrls.

Use with AI agents (MCP)

This actor works as a tool for AI agents through the Apify MCP server (https://mcp.apify.com). Your agent needs an Apify account (API token); audits are charged to that account at the price below.

  • Add only this actor as a tool: https://mcp.apify.com?tools=batchpane/bulk-website-audit
  • Or let the agent find it with search-actors (for example "lighthouse" or "page speed").

Input the agent should send: {"startUrls": [{"url": "https://www.iana.org/help/example-domains"}], "devices": ["mobile", "desktop"]}.

Results: one flat row per URL and device with four scores (0-100), five lab metrics in milliseconds (CLS has no unit) and up to 15 improvement suggestions. Easy to compare in a table. All values are lab data from one page load: there is no INP and no real-user (CrUX) data.

Timing: in our test on the platform an audit took about 27 seconds per attempt at 4 GB, and audits run one at a time. An MCP call waits at most 45 seconds, so the agent should check the run later (get-actor-run) and then read the rows (get-dataset-items).

Example prompt:

Use batchpane/bulk-website-audit to audit https://www.iana.org/help/example-domains and https://www.w3.org/ on mobile and desktop. When the run has finished, show a table with url, device, performance, seo, lcpMs and cls, and list the three improvement suggestions with the largest savingsMs for each page.

Good to know: very heavy news and shop pages can take longer than the 60-second limit. In our test with 10 heavy websites on mobile and desktop, 15 of 20 audits succeeded, 3 timed out and 2 returned an error or a block from the site (HTTP 400/403); none of these 5 was charged as an audit.

Output

One row per URL and device:

{
"url": "https://www.w3.org/",
"device": "desktop",
"fetchedAt": "2026-10-15T18:50:00.000Z",
"dataType": "lab",
"status": "ok",
"performance": 100,
"accessibility": 95,
"bestPractices": 100,
"seo": 92,
"lcpMs": 753,
"cls": 0.022,
"tbtMs": 0,
"fcpMs": 357,
"speedIndexMs": 484,
"improvements": [
{ "id": "cache-insight", "title": "Use efficient cache lifetimes", "savingsMs": 250, "savingsBytes": 0 },
{ "id": "unused-css-rules", "title": "Reduce unused CSS", "savingsMs": 40, "savingsBytes": 31862 }
],
"lighthouseVersion": "13.5.0",
"httpStatus": null,
"error": null
}
  • Scores are 0-100. Metrics: Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), Total Blocking Time (TBT), First Contentful Paint (FCP), Speed Index. All are lab values from this one load.
  • No INP. Interaction to Next Paint needs real user interactions and cannot be measured in a page-load test. TBT is the usual lab stand-in.
  • improvements: up to 15 suggestions from the performance category, with Lighthouse's own title and estimated savings. The output contains no page text, HTML snippets, element labels, screenshots or resource lists.
  • status is ok, failed, blocked or skipped (robots.txt). For anything other than ok, error has a code and a short explanation, and no audit is charged.

Lab data vs. real users

Lab results depend on the test machine, network simulation and the moment of the test, so scores can vary a few points between runs, and can differ from PageSpeed Insights or from Chrome DevTools on your own computer. Real-user "Core Web Vitals" field data (from the Chrome UX Report) is not included.

Pricing

$0.02 per successful audit (one URL on one device), plus Apify's standard actor-start fee of $0.00005 per GB of memory per run. Compute is included: you do not pay platform usage on top.

ExampleCost
100 pages, mobile + desktop200 audits = $4.00
500 pages, mobile only$10.00
50 pages weekly, mobile + desktop$2.00 per week

Failed, blocked, skipped and timed-out URLs are never charged as audits. Every run also has Apify's small start fee (apify-actor-start, $0.00005 per GB of memory: $0.0002 per run at the default 4 GB), also when nothing succeeds.

You can set a maximum cost per run in Apify; the actor stops before it would go over it.

Honest comparison. If you only need a few pages, Google's free PageSpeed Insights website is the easiest. Running Lighthouse yourself, or a free Lighthouse actor where you pay compute, is cheaper for large volumes if you are fine with paying compute and handling the full report. This actor is for when you want bulk, mobile + desktop in one run, flat results and one fixed price per audit.

Limits (on purpose)

  • 60 seconds per audit, then it counts as failed (not charged as an audit).
  • Default memory is 4 GB. You can lower it to 2 GB, but then heavy pages (big news and shop sites) time out more often. Even at 4 GB, some very heavy news and shop pages take longer than 60 seconds: in our own test on 10 heavy sites, about 15% of the audits timed out.
  • Safety stop: the run stops after 20 failed URLs in a row, or if fewer than 25% of the first 50+ URLs succeed (setting "Stop after failures in a row"; 0 switches it off).
  • Up to 5,000 URLs per run. Audits run one after another, so large lists take hours: roughly 10-30 seconds per audit on the platform at 4 GB, so 100 pages x 2 devices is about 0.5-1.5 hours and 5,000 pages x 2 devices about 28-83 hours.
  • Run timeout: the default run timeout of this actor is 6 hours. Everything audited before the timeout is in the dataset and charged; nothing after it. For bigger lists, raise the timeout in the run options or split the list into several runs.
  • No logging in, no cookies or sessions of yours, no form filling, no CAPTCHA solving, no residential proxies. If a site blocks automated browsers (for example HTTP 403 or 429), the URL is reported as failed and not charged as an audit.
  • Only public websites: URLs (and redirects and page resources) that point to private, internal or local network addresses are refused.

Responsible use

You decide which URLs are audited. Use it for sites you own, manage or are allowed to test. The actor keeps nothing: results are stored only in your own Apify storage.

Support

Found a bug or a page that should work but does not? Open an issue in the Issues tab of this actor, with the URL and the run ID. We aim to answer within 7 days. Answers may be drafted with help of an AI assistant and are checked by a person before they are sent.

Lighthouse is an open-source project by Google. This actor is not made, endorsed or supported by Google.

Changelog

  • 0.1: first version (Lighthouse 13.5.0).