PageSpeed Insights - Core Web Vitals & Real User Metrics avatar

PageSpeed Insights - Core Web Vitals & Real User Metrics

Pricing

from $0.01 / 1,000 results

Go to Apify Store
PageSpeed Insights - Core Web Vitals & Real User Metrics

PageSpeed Insights - Core Web Vitals & Real User Metrics

PageSpeed Insights actor uses Google's PageSpeed Insights API to get: Real-World Field Data from Chrome UX Report (CrUX) Lab Data from Lighthouse Core Web Vitals - LCP, FID/INP, CLS, FCP, TTFB, TBT Performance Scores - 0-100 scores for Performance, Accessibility, Best Practices, SEO Mobile & Desktop

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

1

Bookmarked

94

Total users

7

Monthly active users

5 days ago

Last modified

Features

Limited permissions

Share

Get Google PageSpeed Insights data including real-user experience from Chrome UX Report (CrUX) and Lighthouse lab data. Core Web Vitals: LCP, FID/INP, CLS. Performance scores for mobile and desktop. Supports batch URL analysis.

For real results you need your own free Google PageSpeed Insights API key.


Before You Start

Real runs need a Google PageSpeed Insights API key. The key is free: open https://developers.google.com/speed/docs/insights/v5/get-started, click Get a Key, pick or create a Google Cloud project, and paste the key into the Google API Key field (apiKey).

The actor has no shared key set up yet, and Google currently answers every PageSpeed Insights call without a key with "429 quota exceeded". So until a shared key is set up, a run without your own key does not call Google: it saves one notice row that explains how to get a key, and stops. No analysis is charged for it. Once a shared key is set up, runs without your key will use it, within a daily Google quota shared by everyone who runs the actor without a key. When that quota is used up, the run also stops with one notice row and charges no analysis.


Quick Start

See the output format with demo mode

{
"demoMode": true
}

The run returns two sample rows for example.com, each marked demo: true.

Run with real data

{
"urls": [
"https://example.com"
],
"url": "https://example.com",
"strategy": "mobile",
"categories": [
"performance",
"accessibility",
"seo",
"best-practices"
],
"apiKey": "YOUR_API_KEY_HERE",
"includeFieldData": true,
"includeLabData": true,
"includeOpportunities": true,
"includeDiagnostics": true,
"includeScreenshots": false
}

Input Parameters

ParameterTypeDefaultRequiredDescription
urlsarray-NoList of URLs to analyze with PageSpeed Insights
urlstring-NoSingle URL to analyze (use this OR urls array)
strategystring"mobile"NoDevice strategy for analysis
categoriesarray["performance","accessibility","seo","best-practices"]NoWhich Lighthouse categories to run
demoModebooleanfalseNoReturn two labeled sample rows (no API calls) to see the output format
apiKeystring-Yes, for real resultsYour free Google PageSpeed Insights API key. Until the actor's shared key is set up, a run without it returns one notice row instead of results
includeFieldDatabooleantrueNoInclude Chrome UX Report real-user data when available
includeLabDatabooleantrueNoInclude Lighthouse lab test results
includeOpportunitiesbooleantrueNoInclude performance improvement suggestions
includeDiagnosticsbooleantrueNoInclude detailed diagnostic information
includeScreenshotsbooleanfalseNoInclude visual screenshots from the audit
webhookUrlstring-NoURL to POST results when analysis completes (Zapier, Make, n8n, custom endpoint)

Pricing

This actor uses pay-per-event billing:

EventWhen it is chargedPrice
Actor startOnce when the run starts, one event per GB of memory (minimum one). At the default 1 GB of memory a run starts at $0.10$0.10 per GB
URL AnalysisAnalyze a single URL with Google PageSpeed Insights API (includes scores and Core Web Vitals)$0.02
ResultEach item written to the default dataset$0.00001

URL Analysis is charged once per URL and device (mobile or desktop) that PageSpeed Insights analyzed. A row that comes back with an error from PageSpeed Insights is not charged, and neither are notice rows or demo rows.

The actor start fee applies to every run, including demo runs and runs that stop with a notice row: $0.10 at the default 1 GB of memory. Each row, sample and notice rows included, also counts as one result at $0.00001.


Troubleshooting

"A Google PageSpeed Insights API key is needed"

The run had no key to use, so it saved this notice row instead of calling Google, and no analysis was charged. Get a free key at https://developers.google.com/speed/docs/insights/v5/get-started (click Get a Key), paste it into the Google API Key field (apiKey) and run again.

"Google rejected your API key"

The run stops at the first rejection, because every other URL would fail the same way. Check the key, and that the PageSpeed Insights API is enabled for its Google Cloud project.

"API error 403" or "Unauthorized"

Your API key is invalid, expired, or doesn't have access to this specific API endpoint. Double-check your key and account permissions.

"429 quota exceeded"

The key has used up its PageSpeed Insights quota. The run stops with one notice row, and the OUTPUT record in the run's key-value store lists the URL and device pairs it did not analyze (notProcessed). None of them are charged. If the notice is about the actor's shared key, add your own free key to run now.

The run stopped before its timeout

PageSpeed Insights takes 10 to 60 seconds per URL and device. When less than a minute of the run timeout is left, the actor starts no new analysis, keeps every result it already saved, and finishes normally. The OUTPUT record in the run's key-value store lists the URL and device pairs it did not analyze (notProcessed). Raise the run timeout, or split the URLs across runs, to analyze them.

No results or empty dataset

Check the run log for error messages. Common causes:

  • Invalid input format (check the examples above)
  • API key without proper permissions
  • The target data doesn't exist or is too small to track

How do I test without an API key?

Set demoMode to true. The run returns two sample rows for example.com, each marked demo: true. No analysis is charged; the actor start fee still applies.


Built by John Rippy | Actor Arsenal