PageSpeed Insights & Lighthouse Bulk Checker, No API Key avatar

PageSpeed Insights & Lighthouse Bulk Checker, No API Key

Pricing

from $1.05 / 1,000 pagespeed audits

Go to Apify Store
PageSpeed Insights & Lighthouse Bulk Checker, No API Key

PageSpeed Insights & Lighthouse Bulk Checker, No API Key

Check Google PageSpeed Insights and Lighthouse scores for hundreds of URLs, no API key needed. Performance, accessibility, best practices and SEO scores, Core Web Vitals (LCP, CLS, TBT, INP), CrUX field data, top fixes and full HTML reports. Mobile and desktop.

Pricing

from $1.05 / 1,000 pagespeed audits

Rating

0.0

(0)

Developer

Rod Services

Rod Services

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

8

Monthly active users

19 days ago

Last modified

Share

Bulk Google PageSpeed Insights and Lighthouse checker: scores and Core Web Vitals (LCP, CLS, INP) for hundreds of URLs in one run. No API key needed. Paste URLs, press Start, get one clean JSON row per page with scores, CrUX field data, top fixes and the full Lighthouse report. $1.50 per 1,000 audits.

What you get

For every URL and device (mobile, desktop or both):

  • The four Lighthouse scores: Performance, Accessibility, Best Practices, SEO (0 to 100).
  • Core Web Vitals lab metrics: LCP, CLS, TBT, plus FCP, TTFB, Speed Index and page weight.
  • Real user CrUX field data from Google: p75 LCP, CLS, INP, FCP, TTFB and the overall rating.
  • The top improvement opportunities, sorted by estimated time savings.
  • A link to the full Lighthouse HTML report, the same one you see on pagespeed.web.dev.

By default the Actor calls the official Google PageSpeed Insights API with a shared key of this Actor, so you do not need a Google Cloud account. You get Google's own Lighthouse numbers. No browser runs, so it is fast and cheap. You can paste your own free key for a private quota at the same price.

Typical uses:

  • SEO agencies. Audit every client page in one run and send scores, Core Web Vitals and fixes per URL.
  • Performance monitoring. Schedule daily or weekly runs and alert on LCP or CLS regressions with webhooks.
  • Release checks. Audit staging and production URLs, mobile and desktop, before you ship.
  • Competitor benchmarking. Compare page speed and SEO scores of your site with competitors.
  • AI agents and LLM tools. One predictable JSON schema with numbers, callable through the Apify API or MCP.

Quick start

  1. Open the Input tab.
  2. Paste URLs into URLs to audit, one per line. example.com works, https is added.
  3. Pick Device: mobile, desktop or both.
  4. Press Start. Audits take 10 to 60 seconds each and run 20 at a time.
  5. Open the Output tab. Switch views: Overview, Core Web Vitals, Opportunities, CrUX field data. Click Report to open the full Lighthouse report.

Call it from code or CI with one HTTP request. It waits for the run and returns the rows:

curl -X POST "https://api.apify.com/v2/acts/rod_analytics~lighthouse-audit/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"urls": ["https://example.com", "https://example.com/pricing"], "strategy": "mobile"}'

In a GitHub Actions step, fail the build when a score drops:

SCORE=$(curl -s -X POST "https://api.apify.com/v2/acts/rod_analytics~lighthouse-audit/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' -d '{"urls": ["https://staging.example.com"]}' | jq '.[0].performanceScore')
[ "$SCORE" -ge 80 ] || { echo "Performance score $SCORE is under 80"; exit 1; }

Input example

Only urls is required.

{
"urls": ["https://apify.com", "https://web.dev"],
"strategy": "both",
"categories": ["performance", "seo"]
}
FieldDefaultDescription
urlsPages to audit. Duplicates are removed.
strategymobilemobile, desktop or both. Both means two audits per URL.
categoriesall fourperformance, accessibility, best-practices, seo.
enginepsipsi calls Google PageSpeed Insights, no key needed. local runs Chrome inside the Actor.
psiApiKeyemptyOptional. Your own free Google key for a private quota. Empty uses the shared key.
throttlingsimulatesimulate like PageSpeed Insights, devtools applied throttling, none raw speed.
cpuSlowdownautoLocal engine only. Auto calibrates to the cloud CPU. 4 is the plain Lighthouse default.
maxConcurrency20 or 1Parallel audits. 20 for PSI, 1 for local.
includeFullReporttrueSave the full HTML report to the key-value store.
includeJsonReportfalseAlso save the raw Lighthouse JSON, linked in reportJsonUrl.
maxOpportunities10Top opportunities per audit.
timeoutSecs90Hard limit per audit. Failed audits are retried once and never charged.

Output sample

Real result for apify.com on mobile, shortened. Download the dataset as JSON, CSV, Excel or HTML.

{
"url": "https://apify.com/",
"strategy": "mobile",
"engine": "psi",
"performanceScore": 40,
"accessibilityScore": 100,
"bestPracticesScore": 96,
"seoScore": 85,
"lcpMs": 8551,
"cls": 0.002,
"tbtMs": 1279,
"inpMs": 389,
"fcpMs": 2701,
"ttfbMs": 116,
"speedIndexMs": 7300,
"totalByteWeight": 4965534,
"opportunities": [
{
"id": "mainthread-work-breakdown",
"title": "Minimize main-thread work",
"savingsMs": 1300,
"displayValue": "5.4 s"
},
{ "id": "bootup-time", "title": "Reduce JavaScript execution time", "savingsMs": 1250, "displayValue": "3.1 s" }
],
"failedAuditsCount": 21,
"fieldData": {
"scope": "url",
"overallCategory": "AVERAGE",
"lcpMs": 2466,
"lcpCategory": "FAST",
"cls": 0.02,
"inpMs": 389,
"inpCategory": "AVERAGE",
"ttfbMs": 1378
},
"reportUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/lh-apify-com-<hash>-mobile.html?signature=...",
"lighthouseVersion": "13.5.0",
"durationSecs": 30.4,
"error": null
}
FieldMeaning
performanceScore ... seoScoreLighthouse category scores, 0 to 100
lcpMs, cls, tbtMs, fcpMs, speedIndexMsLab metrics from Lighthouse
ttfbMsServer response time of the main document
inpMsInteraction to Next Paint, p75 from CrUX. Lab audits cannot measure INP
opportunitiesTop failing performance audits sorted by estimated time savings
failedAuditsCount, failedAuditsAudits scoring under 0.9 in the selected categories
fieldDataCrUX real user data, URL level or origin fallback. Null for small sites
reportUrl, reportJsonUrlFull HTML report, and raw JSON when includeJsonReport is on
error, errorCode, howToFixWhy an audit failed, or what to change when the input could not be used

Pricing

Pay per event. You pay only for successful audits. Failed, blocked and unreachable URLs are free. The price is the same with the shared key and with your own key.

EventFree tierBronzeSilverGold
PageSpeed audit, per URL and device$0.0015$0.00135$0.0012$0.00105
Local Lighthouse audit in Chrome$0.05$0.045$0.04$0.035
Run start, per GB of memory$0.001$0.001$0.001$0.001
  • 1,000 PageSpeed audits cost $1.50 on the free tier and $1.05 on Gold.
  • Your discount tier follows your Apify subscription plan.
  • The Apify free plan's $5 monthly credit covers about 3,000 PageSpeed audits.
  • Set Maximum cost per run in Run options to cap spend. The Actor stops before the limit.

Optional: your own PageSpeed Insights key

The shared key has Google's normal quota, shared by all users of this Actor. For large or frequent runs, use your own free key. It gives you 25,000 audits per day for yourself.

  1. Open the PageSpeed Insights API page in Google Cloud Console. Sign in and create a project if asked.
  2. Click Enable.
  3. Open Credentials, click Create credentials and pick API key.
  4. Paste it into Your own PageSpeed Insights API key. It is stored encrypted.

If your key is wrong, or the API is not enabled for its project, the run stops after the first request. It ends with one free error row and Google's message in the status. Only the run start is charged.

Local engine

Set Engine to local and Memory to 8 GB in Run options. Lighthouse then runs in real Google Chrome inside the Actor, with no Google quota. Chrome needs about 2 CPU cores for credible scores. The Actor warns in the log when memory is under 4 GB. Keep cpuSlowdown: auto and concurrency 1.

FAQ

Do I need an API key? No. The default engine uses a shared PageSpeed Insights key of this Actor. Your own key is optional and gives you a private quota.

What if the shared key is busy? Google limits requests per minute and per day. The Actor waits and retries on per-minute limits. If the daily quota is used up, the run ends with one free row that says so. Retry later or add your own key.

Is this the same as PageSpeed Insights? The PSI engine returns exactly what the PageSpeed Insights API returns, normalized into one row. The local engine uses the same Lighthouse and simulated throttling on different hardware, so its lab numbers will not match PSI exactly.

Why is INP empty? INP needs real user interactions, lab tests cannot measure it. It comes from CrUX field data, which exists only for pages with enough Chrome traffic. TBT is the lab proxy for INP.

Why did a page fail with HTTP_ERROR_STATUS? The page answered with an HTTP error such as 403 or 404, often a bot blocker. Lighthouse would only score the error page, so the audit is reported as failed and not charged. HTTP 429 from PSI means Google throttles tests of that site for a while. Retry later.

Scores change between runs. Why? This is normal for Lighthouse. For monitoring, compare medians of several runs.

Can it audit pages behind a login? No. Only public URLs.

Is it legal? You audit pages you choose, like running Lighthouse in your own browser. Lighthouse is open source under Apache 2.0. Audit only sites you are allowed to test and respect their terms.

Found a bug or need budgets, sitemaps or Slack alerts? Open an issue in the Issues tab.

More tools from the same developer, built with the same pricing and output style.

ActorWhat it does
Website Content Crawler to Markdown for RAG & LLMsCrawl whole websites into clean Markdown, RAG chunks and llms.txt
PDF to Markdown & Text Extractor with OCRPDF, Word, Excel and PowerPoint files to Markdown and text, with OCR
SEO Audit Tool: Site Crawler, Broken Links & ScoreCrawl a site and find broken links and on-page SEO issues
Tech Stack Detector: Wappalyzer & BuiltWith AlternativeDetect the CMS, frameworks, analytics and hosting of any website
Bulk Domain Lookup: DNS, WHOIS, SPF, DMARC & SSLDNS, email security and SSL checks for a list of domains
Speech to Text: Audio, Video & Podcast TranscriberWhisper transcripts, SRT and VTT subtitles from audio, video and podcast feeds
Email Validator & Verifier: Bulk MX & Disposable CheckCheck email lists for syntax, MX records and disposable domains
Website Contact Scraper: Emails, Phones & Social LinksFind emails, phone numbers and social profiles on company websites
VIES VAT Checker & EU Company Registry LookupValidate EU VAT numbers and look up company registry data
Companies House Scraper: UK Company Search & OfficersSearch UK companies and get profiles and officers
EU TED Tenders Scraper & Alerts: Public ProcurementEU public procurement notices and awards from TED
Greenhouse, Lever & Ashby Job Scraper: 7 ATS in One FeedJob postings from 7 applicant tracking systems in one schema
GitHub Scraper: Repo Stats, Stars, Trending & SearchRepository stats, stars, trending repos and search results