DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk6 min

Puppeteer Default Browser Provider Constructor: Options and Setup

Puppeteer’s DefaultProvider constructor takes a download-host URL. Here’s how it differs from install and launch options, with custom-provider setup and troubleshooting.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The documented constructor is new DefaultProvider(baseUrl): its single argument is a download-host URL, not a general options object. For routine browser installation, configure install({ ... }); use a custom provider only when you need a different download source or browser distribution. Puppeteer’s API pages consulted show different versions—25.5.0 for DefaultProvider and 25.12.0 for InstallOptions—so check the API reference matching your installed package before relying on version-sensitive behavior.

What does the DefaultProvider constructor accept?

Puppeteer documents DefaultProvider as its standard BrowserProvider implementation, with the constructor signature new DefaultProvider(baseUrl). The constructor reference names baseUrl; it does not document a general options object or additional constructor parameters. See the DefaultProvider API reference.

The provider API also lists getDownloadUrl(options), getExecutablePath(options), getName(), and supports(options). These methods belong to provider behavior; they are not extra constructor arguments.

When should you construct a provider yourself?

Use the default provider for ordinary installs

If Puppeteer’s normal browser download source works for your project, there is generally no need to instantiate DefaultProvider. Use the install API and specify the browser, build, and cache settings you need. Puppeteer’s InstallOptions reference says custom providers are optional and that a default provider is automatically added as a fallback.

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

Use a custom provider for a mirror or private distribution

When downloads must come from a mirror or a different browser distribution, implement the BrowserProvider interface and pass the provider instance through install({ providers: [...] }). The provider must determine whether it supports the requested browser/build/platform, return a valid download URL, and identify the executable path after installation.

Puppeteer’s provider example is an interface pattern, not a plug-and-play mapping for every archive. Adapt the browser, platform, archive naming, and executable paths to the distribution you actually use. Custom providers are not officially supported; the implementer owns compatibility checks, testing, and maintenance. Puppeteer says it tests and guarantees compatibility with its default binaries.

Which settings belong in install options?

Install options control which browser binary Puppeteer downloads, where it comes from, and where it is cached. The documented settings include:

  • browser: browser to install.
  • buildId: browser build identifier. Puppeteer says it should uniquely identify the binary and is used for caching.
  • cacheDir: directory for downloaded browsers.
  • baseUrl: optional download-host override. The documented defaults are Chrome for Testing storage for Chrome and Mozilla’s Firefox nightly archive for Firefox.
  • platform: target browser platform; auto-detected when omitted.
  • providers: optional providers attempted in order, followed by the default provider fallback.
  • expectedHash: optional SHA-256 archive verification. If omitted, the download proceeds without integrity verification.
  • installDeps: optional dependency installation, defaulting to false; supported only for Chrome on Debian or Ubuntu and requires system privileges for apt-get.
  • unpack: whether to unpack the archive; defaults to true.
  • downloadProgressCallback and logger: controls for progress reporting and logging.

Check the InstallOptions API page for the precise types and signatures in the version you have installed.

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.

How to set up a custom browser provider

The following shows the shape of an install call when you already have an object implementing the provider interface. Supply concrete values appropriate to your package version and target distribution; the example deliberately does not invent a universal archive or executable path.

import { install } from '@puppeteer/browsers';
import { myProvider } from './my-provider.js';

const installed = await install({
  browser: 'chrome',
  buildId: process.env.CHROME_BUILD_ID,
  cacheDir: './.cache/puppeteer',
  providers: [myProvider],
});

console.log(installed.executablePath);

The custom provider itself should implement the provider methods for its distribution. For example, its getDownloadUrl(options) must construct a URL that actually serves the requested archive, and getExecutablePath(options) must match the archive’s installed layout. The exact provider API and accepted browser values are package-version-sensitive; use the official provider example and your installed package’s types as the implementation reference.

What is separate from provider setup?

Installation selects and caches a binary. Launch options configure the browser process after that binary is available. Puppeteer’s LaunchOptions reference includes options such as browser, channel, executablePath, args, headless, userDataDir, and timeout.

Use executablePath or channel when you intend to launch a different local installation or browser channel; those are not DefaultProvider constructor settings. Puppeteer warns that its compatibility guarantee applies to its bundled browser. Its configuration guide explains that it downloads a specific Chrome version by default, supports configuration files for defaults, and allows applicable environment variables to override configuration. Configuration files and environment variables are ignored by puppeteer-core. If browser download configuration changes, follow that guide’s instructions to rerun browser installation or the relevant postinstall step.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
The SQL Programming Language: .
  • Used Book in Good Condition
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Default provider or custom provider?

Approach Download source Compatibility responsibility Setup Fallback
Default provider Puppeteer’s standard source Puppeteer tests and guarantees compatibility with its default binaries Use install options; no custom provider implementation It is the documented fallback in the provider chain
Custom provider Mirror, private host, or custom browser distribution You validate binary/version compatibility, archive layout, executable paths, and integration Implement provider methods and pass the instance in providers Can be placed in a chain that falls back to the default provider

The comparison follows Puppeteer’s install options documentation and provider example.

Troubleshooting provider installation

  • The constructor rejects an object or extra arguments. The documented constructor takes baseUrl. Put browser, build, platform, cache, and provider-chain settings in the install options instead.
  • The mirror returns a 404 or downloads the wrong archive. Check that getDownloadUrl(options) accounts for the requested browser, build ID, and platform, and that the host serves the resulting archive.
  • Installation succeeds but launch cannot find the browser. Verify getExecutablePath(options) against the extracted archive layout and check that your launch configuration points to the installed executable where needed.
  • A provider does not handle a requested browser or platform. Ensure supports(options) returns the correct result, or place another suitable provider later in the chain. The default provider is added as fallback according to the install options reference.
  • Download behavior does not reflect configuration changes. Confirm you are not using puppeteer-core if relying on Puppeteer configuration files or environment variables; those are ignored by puppeteer-core. Then rerun the browser installation step described in the configuration guide.
  • Dependency installation fails on Linux. The documented installDeps support is limited to Chrome on Debian or Ubuntu and requires privileges for apt-get.
  • You need archive integrity checking. Set expectedHash to the expected SHA-256 value; without it, the install does not perform that verification.

Or skip the browser setup

If your goal is to capture a website rather than manage a Puppeteer browser binary, ScreenshotNeo provides a screenshot API and MCP server. One GET request can return an image or PDF; the example below saves the response body as a WebP file. See the ScreenshotNeo API documentation for request options.

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/consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; those steps can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and responses include X-Page-Verdict and X-Billed headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Learn more at ScreenshotNeo, or sign up free for 1,000 screenshots a month with no card.

Frequently Asked Questions

Does `DefaultProvider` accept a custom cache directory?

No. Configure `cacheDir` in the install options; the documented constructor argument is `baseUrl`.

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

Can a custom provider replace the default provider entirely?

The documented install flow automatically adds the default provider as a fallback, so a custom provider can be attempted first without removing that fallback.

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.

Leave a Reply

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

Free tools Windows power users keep installed

One-click scans. No signup required.

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. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver 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.