
Website Speed Checker
Pricing
$10.00/month + usage

Website Speed Checker
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)
- Open the Actor in your Apify Console
- 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.comhttps://example.com/abouthttps://example.com/contact
- Click Start - That's it! The Actor automatically tests both desktop and mobile
- 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
Parameter | Type | Required | Description |
---|---|---|---|
urls | array | Yes | Array of URLs to test (e.g., ["https://example.com"] ) |
proxyConfiguration | object | No | Apify 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
Field | Description | Values |
---|---|---|
URL | Tested webpage URL | string |
*-statusCode | HTTP response code | 200 (success), 404 (not found), 0 (error) |
*-performanceScore | Overall performance | 0-100 (higher is better) |
*-firstContentfulPaint | First content render time | milliseconds |
*-largestContentfulPaint | Main content load time | milliseconds |
*-totalBlockingTime | Time page is unresponsive | milliseconds |
*-cumulativeLayoutShift | Visual stability score | 0-1+ (lower is better) |
*-speedIndex | Visual display speed | milliseconds |
error | Error message if failed | string (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:
- Go to the Dataset tab in the Apify Console
- 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://
orhttp://
Need Help?
Questions or want to request features? We're here to help!
Contact us: Fill out this form
On this page
Share Actor: