Website Speed Checker avatar
Website Speed Checker

Pricing

$10.00/month + usage

Go to Apify Store
Website Speed Checker

Website Speed Checker

Developed by

One Scales

One Scales

Maintained by Community

Easily get Website Speed Data with Google Lighthouse performance metrics & Core Web Vitals (Performance Score, FCP, LCP, TBT, CLS, Speed Index) from any webpage/URL, whether you're analyzing or testing a single URL or thousands in bulk. Run scraper in seconds for one time, on a schedule, or via API.

5.0 (1)

Pricing

$10.00/month + usage

1

58

17

Issues response

0.69 hours

Last modified

11 days ago

Analyze website performance using Google Lighthouse. Get detailed speed metrics for both desktop and mobile devices automatically—no external APIs required, runs Lighthouse directly in this Apify app.

Perfect for: SEO audits, performance monitoring, competitor analysis, site optimization, and development testing.

Important Note: Lighthouse will provide results only for status code 200 - If any pages are 404, 301, 302, etc, the output result will show the status code along with 0's. Please make sure to provide valid pages.

What You Get

This Actor runs Google Lighthouse performance audits and delivers comprehensive metrics for every URL you test:

  • Performance Score - Overall score from 0-100
  • Core Web Vitals - FCP, LCP, TBT, and CLS metrics
  • Speed Index - How quickly content appears
  • Both Desktop & Mobile - Automatically tests both devices with realistic throttling

Test one URL or thousands in a single run. Each URL takes approximately 30-60 seconds to analyze completely.

Use Cases

  • Performance Monitoring - Track speed metrics over time to maintain optimal user experience
  • Site Optimization - Identify performance bottlenecks across your entire website
  • Competitor Analysis - Benchmark your speed against competitors
  • Development Testing - Validate performance improvements before going live
  • Client Reporting - Generate detailed speed reports with hard data
  • SEO Audits - Core Web Vitals are ranking factors—monitor them continuously

How It Works

The Actor launches a real Chrome browser and runs Google Lighthouse with industry-standard configurations:

  • Desktop testing - Simulated fast connection with desktop viewport (1920x1080)
  • Mobile testing - Simulated 4G connection with mobile viewport (375x667)
  • Realistic throttling - CPU and network throttling matches real-world conditions
  • Automatic status codes - Captures HTTP responses including error pages

Quick Start (Using the UI)

  1. Open the Actor in your Apify Console
  2. Add your URLs:
    • Click + Add URL to add one URL at a time
    • Or use Bulk edit to paste multiple URLs (one per line)
    • Example URLs:
      https://example.com
      https://example.com/about
      https://example.com/contact
  3. Click Start - That's it! The Actor automatically tests both desktop and mobile
  4. View results in the Dataset tab when complete with the option to export to csv, excel (or google sheets) or json.

Optional Settings

  • Proxy Configuration - Use Apify proxies to avoid rate limiting

Understanding Your Results

Each URL returns these metrics for both desktop and mobile:

Performance Score (0-100)

  • 90-100 - Excellent, fast site
  • 50-89 - Needs improvement
  • 0-49 - Poor, significant optimization needed

Core Web Vitals

First Contentful Paint (FCP)

  • Time until first text or image appears
  • Good: < 1,800ms | Poor: > 3,000ms

Largest Contentful Paint (LCP)

  • Time until main content loads
  • Good: < 2,500ms | Poor: > 4,000ms

Total Blocking Time (TBT)

  • How long the page is unresponsive
  • Good: < 200ms | Poor: > 600ms

Cumulative Layout Shift (CLS)

  • Visual stability (lower is better)
  • Good: < 0.1 | Poor: > 0.25

Speed Index

  • How quickly content becomes visible
  • Good: < 3,400ms | Poor: > 5,800ms

Using the API (JSON Input)

For programmatic usage, send JSON input to the Actor:

Basic Example

{
"urls": [
"https://example.com"
]
}

Multiple URLs Example

{
"urls": [
"https://example.com",
"https://example.com/about",
"https://example.com/contact"
]
}

With Proxy Configuration

{
"urls": [
"https://example.com"
],
"proxyConfiguration": {
"useApifyProxy": true
}
}

Input Parameters

ParameterTypeRequiredDescription
urlsarrayYesArray of URLs to test (e.g., ["https://example.com"])
proxyConfigurationobjectNoApify proxy settings

Output Format

Results are saved to the dataset with this structure:

{
"URL": "https://example.com",
"Desktop-statusCode": 200,
"Desktop-performanceScore": 95,
"Desktop-firstContentfulPaint": 820,
"Desktop-largestContentfulPaint": 1450,
"Desktop-totalBlockingTime": 45,
"Desktop-cumulativeLayoutShift": 0.012,
"Desktop-speedIndex": 1200,
"Mobile-statusCode": 200,
"Mobile-performanceScore": 78,
"Mobile-firstContentfulPaint": 1650,
"Mobile-largestContentfulPaint": 2890,
"Mobile-totalBlockingTime": 380,
"Mobile-cumulativeLayoutShift": 0.089,
"Mobile-speedIndex": 2450,
"error": ""
}

Field Reference

FieldDescriptionValues
URLTested webpage URLstring
*-statusCodeHTTP response code200 (success), 404 (not found), 0 (error)
*-performanceScoreOverall performance0-100 (higher is better)
*-firstContentfulPaintFirst content render timemilliseconds
*-largestContentfulPaintMain content load timemilliseconds
*-totalBlockingTimeTime page is unresponsivemilliseconds
*-cumulativeLayoutShiftVisual stability score0-1+ (lower is better)
*-speedIndexVisual display speedmilliseconds
errorError message if failedstring (empty if successful)

All time values are in milliseconds. All metrics are captured for both Desktop and Mobile devices.

Exporting Your Data

After the Actor completes:

  1. Go to the Dataset tab in the Apify Console
  2. Click Export and choose your format:
    • CSV - Best for Excel/spreadsheet analysis
    • JSON - Best for programmatic use
    • Excel - Formatted spreadsheet
    • XML/RSS - For feed integrations

For API access, retrieve results programmatically using the Apify API.

Tips for Best Results

Batch Processing

  • Testing 100 URLs takes approximately 50-100 minutes
  • For large batches (1,000+ URLs), consider breaking into smaller runs
  • Keep maxConcurrency at 1-2 for accurate results

Timing Considerations

  • Each URL requires ~30-60 seconds for both desktop and mobile tests
  • Budget ~1 minute per URL when planning runs
  • Add buffer time for slower websites

Troubleshooting

  • If you see status code 0, check if the URL is accessible
  • Error messages appear in the error field
  • Ensure URLs include https:// or http://

Need Help?

Questions or want to request features? We're here to help!

Contact us: Fill out this form