Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk4 min

How to Get a Puppeteer Browser Download URL

Use @puppeteer/browsers getDownloadUrl to obtain a browser archive URL, or configure a custom host for Puppeteer’s installation workflow.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use getDownloadUrl(browser, platform, buildId, baseUrl?) from @puppeteer/browsers when you need the browser archive URL as a value. Supply the browser, target platform, and exact build ID; pass baseUrl only when you need a different download host. The returned URL depends on all of those inputs, so there is no safe universal archive URL to assemble by hand. Puppeteer’s API reference documents the function.

Get the URL with the supported API

Install or otherwise make @puppeteer/browsers available in your project, then call getDownloadUrl with a browser identifier, platform, and build ID supported by that package version. The optional fourth argument is a base URL. The function returns a JavaScript URL object, which you can inspect, log, or pass to a downloader.

As an Amazon Associate I earn from qualifying purchases.

import { getDownloadUrl } from '@puppeteer/browsers';

const url = getDownloadUrl('chrome', 'linux', '1234567');
console.log(url.href);

This example illustrates the call shape, not a guarantee that the sample build ID exists or is available for that browser and platform. Choose a build ID that matches the archive you intend to retrieve. The API reference describes the signature and return value, but does not publish a universal path template for every browser-platform pair.

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

What each argument means

  • browser selects the browser distribution, such as Chrome or Firefox.
  • platform selects the platform-specific archive. Use the platform identifier expected by the installed package version.
  • buildId selects a particular build. Build IDs identify binaries and are also used in Puppeteer’s browser caching workflow.
  • baseUrl, when supplied, changes the download host or prefix. It does not make an incompatible browser, platform, or build combination valid.

Choose between generating a URL and configuring installation

Call getDownloadUrl when your code needs the archive address itself. If your goal is simply to install a browser through Puppeteer’s browser installer, configure the download host in the install workflow instead. The InstallOptions reference documents baseUrl and the defaults for Chrome for Testing and Firefox.

Need Use Relevant setting
Obtain the archive URL as a value getDownloadUrl(browser, platform, buildId, baseUrl?) Optional fourth argument baseUrl
Change the host used by a browser installation Puppeteer browser install workflow InstallOptions.baseUrl
Set a persistent browser-specific download host in package configuration Puppeteer configuration Browser-specific downloadBaseUrl; Chrome also documents PUPPETEER_CHROME_DOWNLOAD_BASE_URL

Puppeteer documents https://storage.googleapis.com/chrome-for-testing-public as the Chrome for Testing default base URL and https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central for Firefox. These are base URLs, not a complete archive URL for every build and platform. Configuration documentation says a base URL must include a protocol and should not end with a slash. See the configuration guide.

Use a custom host carefully

A custom base URL can point installation at an alternative source, but the browser archive must still match the browser, platform, and build ID expected by your code. Puppeteer’s install documentation notes that alternative providers are not officially supported; you are responsible for their compatibility and testing. Do not assume that changing the host alone makes every mirror or storage layout interchangeable.

When automatic browser download does not happen

If installing a Puppeteer package did not fetch a browser, a package manager may have blocked install scripts. Puppeteer’s documented manual route is:

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

puppeteer-core is the package option when you do not want Puppeteer to download Chrome automatically. See the installation guide for the installation workflow.

Proxy, caching, and archive verification

  • Proxy: Puppeteer documents HTTP_PROXY, HTTPS_PROXY, and NO_PROXY for proxy configuration. The @puppeteer/browsers package requires the optional proxy-agent peer dependency for proxy support.
  • Cache: the build ID is used in browser caching; keep the build ID consistent with the binary your application expects.
  • Integrity: the install API offers optional expectedHash validation using a SHA-256 archive hash.

These settings affect how an installation retrieves or validates an archive; they do not replace the browser, platform, and build ID needed to identify the intended download. Details are in the install options and installation documentation.

Troubleshoot URL and download problems

  • The URL points to an unexpected archive: verify all three selection inputs—browser, platform, and build ID. They jointly determine the archive.
  • A custom host does not work: confirm the base URL includes https:// or another appropriate protocol, has no trailing slash, and serves a compatible archive layout.
  • No browser was downloaded during package installation: check whether install scripts were disabled by your package manager, then use npx puppeteer browsers install if appropriate.
  • Downloads fail behind a proxy: configure the documented proxy environment variables and ensure the optional proxy-agent dependency is installed.
  • You need to verify an archive: provide the expected SHA-256 value through expectedHash in the install workflow.

Or skip the browser setup

If your goal is a website screenshot rather than running Puppeteer in your own browser environment, ScreenshotNeo offers a screenshot API and MCP server. A single request returns an image or PDF; see the API documentation for options and response details.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo accepts cookie or consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf 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.

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.

Sign up for 1,000 free screenshots a month, with no card.

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

Frequently Asked Questions

Does getDownloadUrl download the browser?

No. It returns a URL object for the selected archive; use the browser installation or a separate download workflow to retrieve it.

Can I build the archive URL by concatenating the browser, platform, and build ID?

Avoid assuming a universal path pattern. Use the API for the combination you need because the published reference does not specify a complete path template for every browser and platform.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.