Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

To save an image of a PageSpeed Insights report, open the rendered report in a browser and capture it with Puppeteer. The PageSpeed Insights (PSI) API does something different: it returns analysis data as JSON, not a screenshot field in its current documented v5 response. Use the API for metrics and audits; use browser automation for an image of the PSI interface or for a custom report you build from that data.

First decide what “PageSpeed Insights screenshot” means

There are two distinct outputs people mean by this phrase, and the code differs depending on which one you need:

  • An image of the PSI website or a rendered report: load the relevant page in a browser and capture it with browser automation such as Puppeteer.
  • PSI metrics and audit results: call Google’s API and work with the returned JSON. The API request does not itself take a browser screenshot.

Google describes the API as running PageSpeed analysis on a specified URL and returning scores, suggestions and other information. Its current endpoint is the v5 runPagespeed method. The API reference documents analysis results, not a top-level screenshot field in the current response schema.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If you need both, request PSI data, render the fields you care about in your own HTML page, then capture that page with Puppeteer. That gives you a stable layout you control, rather than depending on the PSI interface’s layout or how a report happens to be displayed.

#1 Best Overall
Sale
Logitech Brio 101 Full HD 1080p Webcam for Streaming and Meetings - Black
  • Compatible with Nintendo Switch 2’s new GameChat mode
  • Auto-Light Balance: RightLight boosts brightness by up to 50%, reducing shadows so you look your best—compared to previous-generation Logitech webcams (1)
  • Privacy with a Slide: The integrated webcam cover makes it easy to get total, reliable privacy when you're not on a video call
  • Built-In Mic: The built-in microphone lets others hear you clearly during video calls
  • Easy Plug-And-Play: The Brio 101 works with most video calling platforms, including Microsoft Teams, Zoom and Google Meet—no hassle; it just works

Capture a rendered PSI page with Puppeteer

Puppeteer’s Page.screenshot() captures what Chromium has rendered. Its screenshot options include an output path and fullPage for capturing beyond the visible viewport. The script below accepts the URL of the page you want to capture instead of guessing a PSI report URL format. Set REPORT_URL to the exact report URL you have opened and verified in a browser.

Install and run

  1. Install Node.js in the environment where the capture will run.
  2. Create a project and install Puppeteer: run npm init -y, then npm install puppeteer. Puppeteer downloads a compatible browser as part of its standard installation; environments with restricted downloads may need an explicitly configured browser.
  3. Save the following as capture-report.mjs.
  4. Run it with the report URL: REPORT_URL='https://pagespeed.web.dev/' node capture-report.mjs. Replace the example with the intended report page.
import puppeteer from 'puppeteer';

const reportUrl = process.env.REPORT_URL;
if (!reportUrl) {
  throw new Error('Set REPORT_URL to the page you want to capture.');
}

const browser = await puppeteer.launch({ headless: true });
try {
  const page = await browser.newPage({
    viewport: { width: 1440, height: 1000 },
    deviceScaleFactor: 1,
  });

  await page.goto(reportUrl, {
    waitUntil: 'networkidle2',
    timeout: 60_000,
  });

  // If the report has a known, stable content element, wait for it here:
  // await page.waitForSelector('YOUR_REPORT_SELECTOR', { timeout: 30_000 });

  await page.screenshot({
    path: 'pagespeed-report.png',
    fullPage: true,
    type: 'png',
  });
} finally {
  await browser.close();
}

This is a browser capture, not a command that submits a new PSI analysis. A report URL must already lead to the page you intend to capture, and the page must finish rendering the content you expect. The example waits for network activity to settle, but that alone does not prove a report is present: a page can become quiet before its report is ready, or continue background requests indefinitely. For a repeatable job, identify a stable element that appears only when the desired report has rendered and wait for it with waitForSelector. Replace the placeholder selector; it is not a PSI selector supplied or guaranteed by Google.

Puppeteer’s screenshots guide documents page capture, and its ScreenshotOptions reference describes options such as path and fullPage. A full-page image may be very tall; use fullPage: false when you want only the current viewport. Choose an explicit viewport and device scale factor when you need consistent dimensions across runs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Capture a custom report you generate from PSI data

For reports used in documentation, monitoring or a repeatable workflow, request the analysis JSON and render only the relevant values in a page you own. You can then pass that page’s URL to the Puppeteer script, or use Puppeteer to set its HTML content and capture it. This separates data collection from presentation: changes to the PSI response can be handled in your data-processing code, while the screenshot layout remains yours to control.

Rank #2
Sale
Logitech C270 720p Webcam Plug-and-Play Wide Screen Video Calling - Black
  • Compatible with Nintendo Switch 2’s new GameChat mode
  • Crisp HD 720p/30 fps video calls with diagonal 55° field of view and auto light correction. Compatible with popular platforms including Skype and Zoom.
  • The built-in noise-reducing mic makes sure your voice comes across clearly up to 1.5 meters away, even if you’re in busy surroundings.
  • C270’s RightLight 2 feature adjusts to lighting conditions, producing brighter, contrasted images to help you look good in all your conference calls.
  • The adjustable universal clip lets you attach the camera securely to your screen or laptop, or fold the clip and set the webcam on a shelf. You’re always ready for your next video call.

Retrieve PageSpeed Insights data with JavaScript

Google’s current getting-started guide demonstrates calling the API with JavaScript fetch. The endpoint requires a url parameter; strategy can be set to mobile or desktop, with desktop the default. The following Node.js example checks the HTTP status before parsing JSON and prints the Lighthouse result.

const endpoint = new URL(
  'https://pagespeedonline.googleapis.com/pagespeedonline/v5/runPagespeed'
);
endpoint.searchParams.set('url', 'https://example.com');
endpoint.searchParams.set('strategy', 'mobile');

const response = await fetch(endpoint);
if (!response.ok) {
  throw new Error(`PSI request failed: ${response.status} ${response.statusText}`);
}

const result = await response.json();
console.log(result.lighthouseResult);

Save this as an .mjs file and run it with a Node.js version that supports built-in fetch. Change the URL and strategy for the analysis you want. The response is analysis JSON; to make an image from it, extract the fields your report needs, render them as HTML, and capture that rendered page with Puppeteer. Google’s PageSpeed Insights API getting-started guide shows the JavaScript fetch approach.

Why old recipes that read a screenshot field are stale

Some older code points to the deprecated v4 API’s screenshot response. Do not assume that field path works with v5: the current v5 reference does not document a screenshot field in its response structure. Google’s v4 method reference is historical, not evidence that the same field is available in current v5 results.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

There is a further versioning wrinkle: the PSI API version is v5, while Lighthouse changes independently. Google’s release notes include response-history changes, including a change to the location of full-page-screenshot data. That historical change is not a reason to rely on a screenshot field today; it is a reason to check the current schema when maintaining code that reads particular response properties.

Rank #3
Sale
NexiGo N60 1080P Webcam with Microphone, Software Control & Privacy Cover, USB HD Computer Web Camera, Plug and Play, for Zoom/Skype/Teams, Conferencing and Video Calling
  • 【Full HD 1080P Webcam】Powered by a 1080p FHD two-MP CMOS, the NexiGo N60 Webcam produces exceptionally sharp and clear videos at resolutions up to 1920 x 1080 with 30fps. The 3.6mm glass lens provides a crisp image at fixed distances and is optimized between 19.6 inches to 13 feet, making it ideal for almost any indoor use.
  • 【Wide Compatibility】Works with USB 2.0/3.0, no additional drivers required. Ready to use in approximately one minute or less on any compatible device. Compatible with Mac OS X 10.7 and higher / Windows 7, 8, 10 & 11 / Android 4.0 or higher / Linux 2.6.24 / Chrome OS 29.0.1547 / Ubuntu Version 10.04 or above. Not compatible with XBOX/PS4/PS5.
  • 【Built-in Noise-Cancelling Microphone】The built-in noise-canceling microphone reduces ambient noise to enhance the sound quality of your video. Great for Zoom / Facetime / Video Calling / OBS / Twitch / Facebook / YouTube / Conferencing / Gaming / Streaming / Recording / Online School.
  • 【USB Webcam with Privacy Protection Cover】The privacy cover blocks the lens when the webcam is not in use. It's perfect to help provide security and peace of mind to anyone, from individuals to large companies. 【Note:】Please contact our support for firmware update if you have noticed any audio delays.
  • 【Wide Compatibility】Works with USB 2.0/3.0, no additional drivers required. Ready to use in approximately one minute or less on any compatible device. Compatible with Mac OS X 10.7 and higher / Windows 7, 10 & 11, Pro / Android 4.0 or higher / Linux 2.6.24 / Chrome OS 29.0.1547 / Ubuntu Version 10.04 or above. Not compatible with XBOX/PS4/PS5.

Choose the approach for the artifact you need

Need Use What you get
PSI scores, audits and related analysis PSI v5 API JSON analysis response; not a screenshot of the PSI interface
Image of a rendered PSI page or report Puppeteer screenshot Browser-rendered pixels saved to an image file
Consistent image of selected PSI metrics PSI API plus your own HTML and Puppeteer Analysis data displayed in a layout you control, then captured

Troubleshoot common capture and API failures

The screenshot is a blank page or the PSI homepage

Check that REPORT_URL is the exact report page, not just the PSI landing page. The script does not submit a URL into the PSI interface or wait for a report you have not opened. Confirm the page manually in a browser before automating it.

The image is taken before the report appears

networkidle2 is a navigation condition, not a report-readiness test. Wait for a selector that identifies the rendered report, or use an application-specific readiness condition. Do not copy an assumed selector from an unrelated PSI version; inspect the page you actually automate.

Navigation times out

The target may still be loading, a network request may be hanging, or the environment may restrict access. Verify the URL and network access, then determine whether a longer timeout is appropriate. If the page continually makes requests, a network-idle condition may not be suitable; wait for a meaningful report element instead.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Puppeteer cannot launch Chromium

Check that installation completed and that the runtime can access Puppeteer’s downloaded browser and its required system libraries. In a locked-down server or container, browser downloads or launch may be blocked. Configure Puppeteer for an available compatible browser in that environment rather than treating a launch failure as a PSI API failure.

Rank #4
Sale
EMEET C960 1080P Webcam with Microphone, 2 Mics, 90° FOV, Computer Camera
  • 1080P Webcam with Cover for Video Calls - EMEET computer webcam provides design and Optimization for professional video streaming. Realistic 1920 x 1080p video, 5-layer anti-glare lens, providing smooth video. C960 computer camera delivers 1920x1080 video with fixed focus (11.8–118.1 inches), so as to provide a clearer image. C960 USB webcam has a cover and can be removed automatically to meet your needs for privacy. For optimal image performance, use the webcam in a well-lit environment.
  • Built-in 2 Omnidirectional Mics - EMEET webcam with microphone for desktop features 2 built-in omnidirectional microphones, picking up your voice to create clear audio for communication. When installing the webcam, select EMEET C960 as the default microphone input device in your computer and video applications and select C960 as the default device in Zoom/Teams and ensure microphone permissions are enabled for proper use. Please note that C960 does not include built-in speakers.
  • Automatic Light Adjustment - Automatic exposure adjustment is applied in EMEET HD webcam 1080p so that the streaming webcam can deliver stable image performance. EMEET C960 camera for computer also features color adjustment and exposure optimization to help you look your best. For optimal video quality, it is recommended to use the webcam in normal or well-lit environments and select suitable video settings in your application. Proper lighting helps achieve a clearer and more balanced image.
  • Plug-and-Play & Upgraded USB Connectivity - New C960 webcam features both USB Type-A & A-to-C adapter connections for wider compatibility. For stable performance, connect the webcam directly to the computer's main USB port and ensure the device is recognized correctly. If a hub or docking station is used, please ensure it provides sufficient power and stable data transmission, as limited ports may affect performance. 90° wide-angle lens captures more participants without frequent adjustments.
  • High Compatibility & Multi Application - C960 webcam for laptop is compatible with Windows 10/11, macOS 10.14+, and Android TV 7.0+. Not supported: Windows Hello, TVs, tablets, or game consoles. It works with Zoom, Teams, Facetime, Google Meet, YouTube and more. Please select C960 webcam as the default camera and microphone device in your application and ensure camera/microphone permissions are enabled, especially on macOS. (Tips: Incompatible with Windows Hello)

The API request returns an error

Inspect the HTTP status and response body instead of attempting to parse every response as a successful analysis. Confirm that the request includes a valid URL and that the endpoint is exactly the v5 method. Handle non-2xx responses explicitly; the example throws with the status to make failures visible.

A response property has disappeared or moved

Do not depend on undocumented or old-version field paths. Check the current v5 response reference and Google’s release notes, then update the code to the schema actually documented for the API version you call.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, reliability and cost considerations

A capture requires a browser to load and render the target page; a PSI API request instead returns JSON. These are separate operations, so avoid launching a browser if the deliverable is only metrics. If you need a screenshot, reuse a browser process for multiple captures where your application design permits, but close pages and browsers reliably so a failed navigation does not leave processes running. The example’s finally block closes Chromium even when navigation or capture throws.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For unattended jobs, make readiness explicit, use bounded timeouts, log the target URL and failure stage, and write output to a location your process can access. Do not treat a successful PNG file write as proof that it contains the desired report: validate that the report rendered before capturing. Google publishes no universal success rate or runtime guarantee in the cited implementation material, so performance will depend on the target page and execution environment.

Best Value
Logitech C920x HD Pro PC Webcam Full 1080p/30fps Video - Black
  • Compatible with Nintendo Switch 2’s new GameChat mode
  • HD lighting adjustment and autofocus: The Logitech webcam automatically fine-tunes the lighting, producing bright, razor-sharp images even in low-light settings. This makes it a great webcam for streaming and an ideal web camera for laptop use
  • Advanced capture software: Easily create and share video content with this Logitech camera that is suitable for use as a desktop computer camera or a monitor webcam
  • Stereo audio with dual mics: Capture natural sound during calls and recorded videos with this 1080p webcam, great as a video conference camera or a computer webcam
  • Full HD 1080p video calling and recording at 30 fps. You'll make a strong impression with this PC webcam that features crisp, clearly detailed, and vibrantly colored video

Or skip the browser setup

If you need a screenshot of a URL without configuring Puppeteer, ScreenshotNeo provides a screenshot API and MCP server. It captures a supplied URL; it does not replace the PSI API or submit a PageSpeed analysis. This one-call example captures the PSI website homepage, not a particular analyzed report. Replace the target with the exact report URL if that is what you want to capture.

See the ScreenshotNeo documentation for request options and setup.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://pagespeed.web.dev/ -o shot.webp
  • Cookie and consent banners, newsletter popups and chat widgets are removed before capture; each cleanup step can be turned off.
  • Bot checks and CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed. Responses identify the page verdict and billing status in headers.
  • An MCP server provides take_screenshot, get_page_info and capture_pdf tools for AI agents and MCP clients.
  • The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

Sign up for ScreenshotNeo’s free plan to try 1,000 screenshots a month with no card.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does the PageSpeed Insights API return a screenshot in v5?

Its current documented response does not include a top-level screenshot field. Use Puppeteer to capture a rendered page.

Can I capture PSI results without opening the PSI website?

Yes. Call the API for its JSON results, render the values you need in your own page, and capture that page with browser automation.

Does the Puppeteer example run a new PageSpeed test?

No. It loads and captures the URL you provide; it does not submit a test to the PSI interface.

Quick Recap

SaleBestseller No. 1
Logitech Brio 101 Full HD 1080p Webcam for Streaming and Meetings - Black
Logitech Brio 101 Full HD 1080p Webcam for Streaming and Meetings - Black
Compatible with Nintendo Switch 2’s new GameChat mode; Built-In Mic: The built-in microphone lets others hear you clearly during video calls
$35.90
SaleBestseller No. 2
Logitech C270 720p Webcam Plug-and-Play Wide Screen Video Calling - Black
Logitech C270 720p Webcam Plug-and-Play Wide Screen Video Calling - Black
Compatible with Nintendo Switch 2’s new GameChat mode
$16.89
Bestseller No. 5
Logitech C920x HD Pro PC Webcam Full 1080p/30fps Video - Black
Logitech C920x HD Pro PC Webcam Full 1080p/30fps Video - Black
Compatible with Nintendo Switch 2’s new GameChat mode; Fully compatible with Windows 11
$69.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.