PageSpeed Insights & Core Web Vitals Checker (Bulk Lighthouse)
Pricing
Pay per usage
PageSpeed Insights & Core Web Vitals Checker (Bulk Lighthouse)
Bulk PageSpeed checker: run Google PageSpeed Insights on hundreds of URLs and get Lighthouse scores (performance, SEO, accessibility), real-user Core Web Vitals (LCP, INP, CLS), a pass/fail verdict and top fixes. Mobile + desktop. Use your free Google API key.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
PewterDesk
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Bulk PageSpeed Insights checker: test hundreds of URLs at once for Core Web Vitals and Lighthouse scores, the same data you see on Google's PageSpeed Insights page.
Audit a list of URLs, from 10 to thousands, with Google's official PageSpeed Insights API and get one clean row per URL and device:
- Lighthouse scores (0–100): Performance, SEO, Accessibility and Best Practices. You choose which ones.
- Lab metrics: FCP, LCP, Total Blocking Time, CLS, Speed Index, Time to Interactive and server response time.
- Real-user Core Web Vitals from Chrome UX Report (CrUX) field data at the 75th percentile: LCP, INP, CLS, plus FCP and TTFB, with Google's FAST/AVERAGE/SLOW rating for each. You get both URL-level and origin-level data.
- A clear "Core Web Vitals passed?" verdict, using Google's thresholds (LCP ≤ 2.5 s, INP ≤ 200 ms, CLS ≤ 0.1). The verdict uses URL data when Google has it and falls back to origin data otherwise, and the row says which one it used.
- Top fix opportunities with estimated savings, for example "Eliminate render-blocking resources: 450 ms" or "Reduce unused JavaScript: 120 KiB".
- Mobile, desktop or both.
Failed audits are free. That covers pages that can't load, invalid URLs and Google errors.
Who uses this
- SEO agencies. Audit every client page, or every competitor homepage, in one run and export to Sheets.
- E-commerce and content teams. Track Core Web Vitals across product and category templates. Schedule weekly runs to catch regressions.
- Developers. Check performance before and after a release across many routes.
- Prospecting. Find businesses with failing Core Web Vitals, a strong opener for web-performance services.
Your free Google API key (1 minute)
Without a key, the tool uses Google's shared anonymous quota, which is often used up. When that happens the run ends quickly with one free row per URL explaining what happened (error + howToFix), and you are not charged. Your own key is free and gives you 25,000 audits a day:
- Open Google's PageSpeed Insights API "Get Started" page and click Get a Key.
- Pick an existing Google Cloud project or create a new one. The PageSpeed Insights API is enabled for you.
- Copy the key (it starts with
AIza) and paste it into the Google API key field.
The key is stored encrypted as a secret input and is never written to logs or output. If you prefer the Cloud Console, go to APIs & Services → Library → enable PageSpeed Insights API, then Credentials → Create credentials → API key. You can optionally restrict the key to that API.
If something is wrong with your key (it's invalid, the API is disabled, or its daily quota is used up), the run stops at once and is marked as failed so schedules notice. The status message and each row's howToFix field explain the fix in plain English.
Input example
{"urls": ["https://web.dev/", "example.com", "https://www.apify.com/pricing"],"googleApiKey": "AIza…","strategies": ["mobile", "desktop"],"categories": ["performance", "seo"],"includeOpportunities": true,"maxConcurrency": 4}
Output example (shortened)
{"url": "https://web.dev/", "strategy": "mobile", "finalUrl": "https://web.dev/","scores": { "performance": 87, "seo": 100, "accessibility": null, "bestPractices": null },"lab": { "fcpMs": 1534, "lcpMs": 2951, "tbtMs": 180, "cls": 0.012, "speedIndexMs": 2100, "ttiMs": 3900, "serverResponseMs": 320 },"field": { "overallCategory": "FAST", "lcpP75": 1900, "lcpCategory": "FAST", "inpP75": 120, "clsP75": 0.05, "fcpP75": 1200, "ttfbP75": 600, "coreWebVitalsPassed": true, "isOriginFallback": false },"originField": { "overallCategory": "AVERAGE", "lcpP75": 2700, "inpP75": 180, "clsP75": 0.12, "coreWebVitalsPassed": false },"coreWebVitalsPassed": true, "coreWebVitalsSource": "url","opportunities": [{ "id": "render-blocking-resources", "title": "Eliminate render-blocking resources", "savingsMs": 450, "savingsKiB": 0 },{ "id": "unused-javascript", "title": "Reduce unused JavaScript", "savingsMs": 300, "savingsKiB": 120 }],"lighthouseVersion": "12.x", "error": null}
The numbers above illustrate the format. The Overview table view flattens scores and vitals into columns for one-click CSV or Excel export. Pages with too little traffic for CrUX return field: null, and Google provides real-user data only for sufficiently popular pages and origins.
Pricing (pay per event)
| Event | Price |
|---|---|
| Audit completed (one URL × one device) | $0.003 |
Example: 500 URLs on mobile and desktop is 1,000 audits, which costs $3. Failed audits are free. Set a maximum cost per run and the tool stops cleanly at your limit.
Notes
- Each audit takes Google 10–40 seconds. Concurrency 4 is safe within Google's per-key rate limits, and the tool retries 429/5xx responses automatically with backoff.
- If your key is invalid or out of quota, the run stops right away with a clear message, so you don't burn time on doomed requests.
- Data comes only from Google's official PageSpeed Insights API, run under your own key, with no scraping.
Questions or feature requests? Use the Issues tab.
Built by PewterDesk (pewterdesk.pages.dev). More tools: apify.com/pewterdesk.