Skip to main content
Thirdwatchthirdwatch
Engineering

Benchmark Your Pages Against Competitors on PageSpeed

Audit your URLs and competitor URLs in the same run — scores side by side for reporting.

Sep 16, 2026 · 3 min read · 509 words
See the scraper →

'We're faster than them' needs their numbers, not just yours. Thirdwatch's PageSpeed Insights Scraper runs Google PageSpeed Insights against a list of URLs and returns Lighthouse scores and Core Web Vitals as rows — mobile or desktop, bulk or single.

Skip the setup: Run this as a ready-to-go task on Apify — pre-loaded with the configuration from this guide.

Why benchmark against competitors

Speed claims in competitive reviews need the other side's scores — and they have to come from the same audit conditions to be comparable.

Put both sets of URLs in one run; the rows come back strategy-normalised and comparable.

The Actor wraps the official PageSpeed Insights API, so results are Google's own audit numbers — just at bulk, as data.

How does this compare to the alternatives?

Approach Cost model Coverage Effort
Lighthouse in Chrome DevTools Free One page at a time, your machine Manual
pagespeed.web.dev UI Free One URL per audit Manual
Thirdwatch PageSpeed Scraper Pay per URL row Bulk audits, mobile or desktop URL list in, scores out

Why this Actor

  • All four Lighthouse scores per URL: performance, accessibility, best practices, SEO.
  • Core Web Vitals as separate fields — LCP, CLS, INP, TBT, FCP, Speed Index.
  • Mobile and desktop strategies in the same input format.
  • Bring your own free Google API key for real daily quota.
  • Bulk input — audit a whole sitemap's worth of URLs per run.

How to do it in 3 steps

Step 1: Configure the input

Set the inputs as shown below — urls takes the targets, strategy picks mobile or desktop, and apiKey accepts your free Google API key for real quota.

Step 2: Run the Actor

Run it from the console, the API, or the linked saved task. One dataset row is written per audited page.

Step 3: Use the output

Each row carries the four Lighthouse scores plus Core Web Vitals — lcp, cls, inp, tbt, fcp, speedIndex — and the audit timestamp.

{
  "urls": [
    "https://example.com",
    "https://apify.com"
  ],
  "strategy": "mobile"
}

Each dataset row looks like:

{
  "url": "https://example.com",
  "strategy": "mobile",
  "fetchTime": "2026-09-16T10:00:00.000Z",
  "performanceScore": 92,
  "accessibilityScore": 96,
  "bestPracticesScore": 100,
  "seoScore": 91,
  "lcp": 1.8,
  "cls": 0.02,
  "inp": 45,
  "tbt": 12,
  "fcp": 1.1,
  "speedIndex": 2.3,
  "lighthouseVersion": "12.x"
}

What to watch for

Without your own apiKey, Google's shared unauthenticated quota is small — expect http_429 error rows on busy days. Grab a free key for anything beyond a smoke test.

Related use cases

Run the PageSpeed Insights Scraper on Apify Store — pay per result, free to try, no credit card to test.

Frequently asked questions

Do I need an API key?

Strongly recommended — the unauthenticated quota is small and shared. A free Google API key (PageSpeed Insights API enabled) gives you ~25k queries/day.

What scores come back?

Performance, accessibility, best practices, and SEO (0–100) plus Core Web Vitals metrics: LCP, CLS, INP, TBT, FCP, Speed Index.

Mobile or desktop?

Both — `strategy` accepts `mobile` (default) or `desktop` per run.

Why did a URL return an error row?

Quota exhaustion without a key (`http_429`), or a page Lighthouse couldn't load. Error rows carry the reason.

Are these lab or field metrics?

The Lighthouse audit scores are lab metrics; where Chrome UX Report field data exists for the origin it appears in the API response too.

Can I schedule recurring audits?

Yes — save the task and attach a schedule; `fetchTime` on each row gives you the time series.

Related

Try it yourself

100 free credits, no credit card.

About 30 real searches. Add the MCP to Claude or Cursor in two minutes.