Google Lighthouse Performance Auditor avatar
Google Lighthouse Performance Auditor

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Google Lighthouse Performance Auditor

Google Lighthouse Performance Auditor

Audit website performance, accessibility, SEO, and best practices using Google Lighthouse. Get detailed scores, metrics, optimization tips, and actionable insights for improving your web pages.

Pricing

from $5.00 / 1,000 results

Rating

5.0

(1)

Developer

Thijs

Thijs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Lighthouse Checker - Apify Actor

Comprehensive web page auditing tool powered by Google Lighthouse

Apify Actor LICENSE

Improve your website's quality with the Google Lighthouse Checker, an open-source automated tool designed to audit any web page. This Actor conducts comprehensive assessments across multiple categories, including performance, accessibility, SEO, and best practices.

πŸš€ Features

Multiple Audit Categories

  • Performance: Metrics including First Contentful Paint, Speed Index, Total Blocking Time, Largest Contentful Paint, and Cumulative Layout Shift
  • Accessibility: WCAG compliance and accessibility best practices
  • SEO: Search engine optimization checks
  • Best Practices: Security, user experience, and modern web standards
  • PWA: Progressive Web App capabilities (optional)

Detailed Reports

  • βœ… Comprehensive scoring for each category (0-100)
  • πŸ“Š Key performance metrics with values
  • ❌ Failed audits with actionable indicators for improvement
  • πŸ’‘ Performance opportunities with potential savings
  • πŸ“„ Full HTML and JSON reports (optional)

Flexible Configuration

  • πŸ“± Mobile or Desktop emulation
  • 🌐 Network and CPU throttling
  • πŸ”„ Automatic retries on failure
  • ⏱️ Configurable timeouts
  • 🎯 Selective category auditing

πŸ“‹ Input

{
"urls": ["https://example.com", "https://another-site.com"],
"categories": ["performance", "accessibility", "best-practices", "seo"],
"device": "mobile",
"throttling": true,
"onlyCategories": true,
"saveHtml": true,
"saveJson": true,
"maxRetries": 2,
"timeout": 90
}

Input Parameters

ParameterTypeRequiredDefaultDescription
urlsArrayYes-List of URLs to audit
categoriesArrayNoAllAudit categories to run: performance, accessibility, best-practices, seo, pwa
deviceStringNomobileDevice emulation: mobile or desktop
throttlingBooleanNotrueEnable network and CPU throttling
onlyCategoriesBooleanNotrueOnly run specified categories
saveHtmlBooleanNotrueSave full HTML report to dataset
saveJsonBooleanNotrueSave detailed JSON report to dataset
maxRetriesIntegerNo2Maximum retry attempts per URL (0-5)
timeoutIntegerNo90Timeout in seconds (30-300)

πŸ“€ Output

The Actor stores results in the default dataset. Each result contains:

{
"url": "https://example.com",
"device": "mobile",
"success": true,
"timestamp": "2025-12-20T12:00:00.000Z",
"fetchTime": "2025-12-20T12:00:30.000Z",
"scores": {
"performance": 85,
"accessibility": 92,
"bestPractices": 88,
"seo": 95,
"pwa": null
},
"metrics": {
"firstContentfulPaint": "1.2 s",
"speedIndex": "2.5 s",
"largestContentfulPaint": "2.8 s",
"totalBlockingTime": "150 ms",
"cumulativeLayoutShift": "0.05",
"timeToInteractive": "3.2 s"
},
"failedAuditsCount": 5,
"failedAudits": [
{
"id": "uses-webp-images",
"title": "Serve images in next-gen formats",
"description": "Image formats like WebP provide better compression...",
"score": 0,
"displayValue": "Potential savings of 250 KB"
}
],
"opportunities": [
{
"id": "unused-css-rules",
"title": "Reduce unused CSS",
"description": "Remove dead CSS rules...",
"savings": "150 KB"
}
],
"htmlReport": "<html>...</html>",
"fullReport": { /* Full Lighthouse JSON */ }
}

Output Fields

  • scores: Category scores (0-100)
  • metrics: Key performance metrics with units
  • failedAudits: Audits that didn't pass with details
  • opportunities: Performance improvement suggestions
  • htmlReport: Full HTML report (if saveHtml is true)
  • fullReport: Complete Lighthouse JSON data (if saveJson is true)

🎯 Use Cases

1. Regular Website Monitoring

Monitor your website's performance, accessibility, and SEO over time:

{
"urls": ["https://mywebsite.com"],
"categories": ["performance", "accessibility", "seo"],
"device": "mobile"
}

2. Competitive Analysis

Compare multiple websites:

{
"urls": [
"https://mysite.com",
"https://competitor1.com",
"https://competitor2.com"
],
"categories": ["performance", "seo"]
}

3. Mobile vs Desktop Testing

Test both mobile and desktop versions:

Run the actor twice with different device settings, or schedule separate runs.

4. CI/CD Integration

Use in continuous integration to prevent regressions:

{
"urls": ["https://staging.mysite.com"],
"categories": ["performance", "accessibility", "best-practices"],
"throttling": false,
"maxRetries": 0,
"timeout": 60
}

πŸ› οΈ How to Use

Option 1: Apify Console

  1. Go to Apify Console
  2. Navigate to Actors β†’ Store β†’ Search for "Lighthouse Checker"
  3. Click Try for free or Buy
  4. Configure input parameters
  5. Click Start to run the Actor

Option 2: Apify API

curl "https://api.apify.com/v2/acts/YOUR_USERNAME~lighthouse-checker/runs?token=YOUR_API_TOKEN" \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"urls": ["https://example.com"],
"categories": ["performance", "accessibility", "seo"]
}'

Option 3: Apify CLI

# Install Apify CLI
npm install -g apify-cli
# Run Actor
apify call YOUR_USERNAME/lighthouse-checker --input '{"urls": ["https://example.com"]}'

Option 4: Scheduled Runs

Set up recurring runs in the Apify Console:

  1. Go to Actors β†’ Your Actor β†’ Schedules
  2. Click Create new schedule
  3. Set frequency (e.g., daily, weekly)
  4. Configure input
  5. Save schedule

πŸ”§ Local Development

Prerequisites

  • Node.js 18+
  • npm or yarn

Setup

# Clone repository
git clone https://github.com/YOUR_USERNAME/lighthouse-checker-actor.git
cd lighthouse-checker-actor
# Install dependencies
npm install
# Run locally
npm start

Testing Locally

Create apify_storage/key_value_stores/default/INPUT.json:

{
"urls": ["https://example.com"],
"categories": ["performance", "accessibility"],
"device": "mobile"
}

Then run:

$npm start

Results will be saved in apify_storage/datasets/default/.

πŸ“Š Example Results

High-Performance Site

{
"url": "https://fast-site.com",
"scores": {
"performance": 98,
"accessibility": 95,
"bestPractices": 100,
"seo": 100
},
"metrics": {
"firstContentfulPaint": "0.6 s",
"speedIndex": "0.8 s",
"largestContentfulPaint": "1.2 s"
}
}

Site Needing Optimization

{
"url": "https://slow-site.com",
"scores": {
"performance": 45,
"accessibility": 78,
"bestPractices": 83,
"seo": 92
},
"failedAudits": [
{
"title": "Eliminate render-blocking resources",
"savings": "720 ms"
},
{
"title": "Properly size images",
"savings": "1,200 KB"
}
]
}

πŸŽ“ Understanding Scores

  • 90-100: Excellent - Keep up the good work!
  • 50-89: Good - Room for improvement
  • 0-49: Poor - Needs attention

πŸ”— Resources

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

Apache-2.0 License - see LICENSE file for details

πŸ’¬ Support

🌟 Keywords

lighthouse performance seo accessibility web-audit page-speed best-practices web-vitals apify actor


Made with ❀️ for better web experiences