Lighthouse Audit Tool — Performance, SEO & Accessibility Scores
Pricing
from $13.00 / 1,000 url auditeds
Lighthouse Audit Tool — Performance, SEO & Accessibility Scores
Run Google Lighthouse audits on any URL. Get performance, accessibility, best practices, and SEO scores. Extract Core Web Vitals, diagnostics, and optimization opportunities. Batch audit multiple URLs.
Google Lighthouse Checker
Run capped Google Lighthouse audits on URLs and get structured, actionable results. This actor returns Performance, Accessibility, Best Practices, and SEO category scores (0-100), plus Core Web Vitals metrics (LCP, FCP, CLS, TBT, Speed Index, TTFB). Process up to 3 URLs in a single run with mobile, desktop, or both device emulations. Set score thresholds for CI/CD pipeline quality gates that fail the run if any URL drops below your acceptable baseline.
Built for SEO professionals monitoring client website performance, developers integrating Lighthouse into CI/CD workflows, DevOps teams tracking production performance regressions, and agencies generating batch audit reports. Uses the latest Lighthouse v12 with Chromium for accurate, real-browser measurements that match what you would get running Lighthouse locally in Chrome DevTools.
Why Use This Actor
Existing Lighthouse actors on Apify are often outdated, return raw unstructured JSON blobs that require parsing, or support only one URL per run. This actor provides clean structured output with scores, ratings, and optional categorized opportunities. Audit up to 3 URLs, including both mobile and desktop in one pass with device: "both". Set performance budgets with threshold gates for automated CI/CD quality checks.
Compared to the PageSpeed Insights API, you get batch processing without rate limits and no GCP API key setup required. Compared to paid tools like GTmetrix or WebPageTest, you pay per use at $13.00 per 1,000 URLs with no monthly subscription.
How to Use
Zero-config quick check — just provide URLs and get all four category scores with Core Web Vitals:
{ "urls": ["https://example.com"] }
CI/CD quality gate — fail the build if performance drops below 90:
{"urls": ["https://example.com"],"performanceThreshold": 90,"accessibilityThreshold": 90,"failOnThreshold": true}
Full audit with both devices:
{"urls": ["https://example.com", "https://example.com/about", "https://example.com/pricing"],"device": "both","includeOpportunities": true,"includeDiagnostics": true,"generateHtmlReport": true}
SEO-only batch audit:
{"urls": ["https://client1.com", "https://client2.com", "https://client3.com"],"categories": ["seo"],"device": "desktop"}
Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
urls | array | Required | URLs to audit (max 3). Must include protocol. |
device | string | "mobile" | "mobile", "desktop", or "both" |
categories | array | All four | Categories to audit: performance, accessibility, best-practices, seo |
throttling | string | "simulated" | "simulated", "devtools", or "none" |
performanceThreshold | integer | 0 | Minimum Performance score (0 = disabled) |
accessibilityThreshold | integer | 0 | Minimum Accessibility score |
bestPracticesThreshold | integer | 0 | Minimum Best Practices score |
seoThreshold | integer | 0 | Minimum SEO score |
failOnThreshold | boolean | false | Exit with error if any threshold breached |
includeOpportunities | boolean | false | Include optimization opportunities |
includeDiagnostics | boolean | false | Include diagnostic details |
generateHtmlReport | boolean | false | Save full HTML report to KV Store |
includeScreenshot | boolean | false | Capture page screenshot |
maxConcurrency | integer | 1 | Concurrent audits (1-3) |
auditTimeout | integer | 90000 | Per-audit timeout in ms |
retryOnFailure | boolean | true | Retry failed audits once |
Output Format
Each URL produces one dataset item (two if device: "both") with this structure:
{"url": "https://example.com","finalUrl": "https://example.com/","device": "mobile","scores": {"performance": 92,"accessibility": 98,"bestPractices": 100,"seo": 91},"coreWebVitals": {"largestContentfulPaint": 1.23,"cumulativeLayoutShift": 0.003,"firstContentfulPaint": 0.89,"totalBlockingTime": 120,"speedIndex": 1.45,"timeToFirstByte": 340},"coreWebVitalsRating": {"lcp": "good","cls": "good","fcp": "good","tbt": "good"},"opportunities": [...],"diagnostics": [...]}
Score interpretation: 90-100 = Good (green), 50-89 = Needs Improvement (orange), 0-49 = Poor (red). Core Web Vitals use Google's official thresholds: LCP < 2.5s good, FCP < 1.8s good, CLS < 0.1 good, TBT < 200ms good.
Tips and Advanced Usage
Mobile scores are typically 20-30 points lower than desktop due to CPU throttling (4x slowdown) and simulated slow 3G network. This reflects real mobile user experience. Desktop mode removes throttling for faster audits focused on server-side performance.
For CI/CD integration, use failOnThreshold: true with your target scores. The actor exits with a non-zero code when thresholds are breached, which fails your pipeline step. Combine with Apify's webhook or API integration to trigger on schedule.
Schedule weekly audits to build trend data in Apify datasets. Compare scores over time to catch performance regressions before they impact users and SEO rankings. Core Web Vitals directly affect Google search ranking since the Page Experience update.
For deeper analysis beyond Lighthouse scores, use our Website Performance Analyzer which adds resource breakdowns, security header audits, and technology detection at $5/1K URLs.
Pricing
This actor uses Pay-Per-Event pricing at $13.00 per 1,000 URLs audited. Each successful Lighthouse audit that produces at least one category score counts as one event.
Pricing includes all platform compute costs — no hidden fees.
| Scenario | Audits | Cost |
|---|---|---|
| Single URL (mobile) | 1 | $0.013 |
| Single URL (both devices) | 2 | $0.026 |
| Three URLs (mobile) | 3 | $0.036 |
| Three URLs (both devices) | 6 | $0.072 |
Note: device: "both" runs two audits per URL and charges two events. The actor preflights each audit before launching Lighthouse so a depleted user budget stops additional browser work.
FAQ
How accurate are the Lighthouse scores?
Scores match what you get running Lighthouse in Chrome DevTools or the Lighthouse CLI. The actor uses the same Lighthouse v12 engine with identical throttling presets. Scores may vary by 3-5 points between runs due to network conditions and server response variability, which is normal Lighthouse behavior.
Why are mobile scores lower than desktop?
Mobile audits apply 4x CPU throttling and simulated slow 3G network conditions to reflect real mobile user experience. Desktop mode removes these constraints. A 20-30 point difference between mobile and desktop is typical and expected.
Can I use this in my CI/CD pipeline?
Yes. Set performanceThreshold, accessibilityThreshold, and failOnThreshold: true. The actor exits with an error when any URL scores below your thresholds, which fails your CI/CD pipeline step. Use the Apify API or CLI to trigger runs from GitHub Actions, GitLab CI, or Jenkins.
What is the difference between this and the Website Performance Analyzer?
This Lighthouse Checker focuses exclusively on Lighthouse scores and Core Web Vitals at $12.00/1K URLs. The Website Performance Analyzer is a comprehensive tool that adds resource breakdowns, page weight analysis, security header audits, SEO metadata extraction, accessibility details, and prioritized recommendations. Use this actor for monitoring and CI/CD; use the Performance Analyzer for deep analysis.
How many URLs can I audit at once?
Up to 3 URLs per run, and up to 6 total audits when device: "both" is selected. Processing is sequential by default (maxConcurrency: 1) since Lighthouse is resource-intensive.
Does it support pages behind authentication?
Lighthouse cannot handle login pages directly. It will audit the login page itself, which typically produces low scores. For authenticated pages, use pre-authenticated URLs with session tokens in query parameters, or configure proxy with cookie injection.
How often should I run audits?
For production monitoring, weekly audits provide good trend data without excessive cost. For CI/CD, run on every deploy or PR. For client reporting, monthly batches work well. Apify's built-in scheduler makes recurring audits easy to set up.
What Lighthouse version is used?
This actor uses Lighthouse v12 (latest stable). The exact version is included in every audit result under the lighthouseVersion field. We update the actor when new Lighthouse versions are released to ensure you always get current, accurate audits.