--- sidebar_label: API --- # @puppeteer/browsers Manage and launch browsers/drivers from a CLI or programmatically. ## CLI Use `npx` to run the CLI: ```bash npx @puppeteer/browsers --help ``` Built-in per-command `help` will provide all documentation you need to use the CLI. ```bash npx @puppeteer/browsers --help # help for all commands npx @puppeteer/browsers install --help # help for the install command npx @puppeteer/browsers launch --help # help for the launch command ``` Some example to give an idea of what the CLI looks like (use the `--help` command for more examples): ```sh # Download the latest available Chrome for Testing binary corresponding to the Stable channel. npx @puppeteer/browsers install chrome@stable # Download a specific Chrome for Testing version. npx @puppeteer/browsers install chrome@116.0.5793.0 # Download the latest Chrome for Testing version for the given milestone. npx @puppeteer/browsers install chrome@117 # Download the latest available ChromeDriver version corresponding to the Canary channel. npx @puppeteer/browsers install chromedriver@canary # Download a specific ChromeDriver version. npx @puppeteer/browsers install chromedriver@116.0.5793.0 ``` ## Known limitations 1. Launching the system browsers is only possible for Chrome/Chromium. ## API The programmatic API allows installing and launching browsers from your code. See the `test` folder for examples on how to use the `install`, `canInstall`, `launch`, `computeExecutablePath`, `computeSystemExecutablePath` and other methods. ## Classes
Class Description
[CLI](./browsers.cli.md)
[InstalledBrowser](./browsers.installedbrowser.md) **Remarks:** The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `InstalledBrowser` class.
[Process](./browsers.process.md)
[TimeoutError](./browsers.timeouterror.md) **Remarks:** The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `TimeoutError` class.
## Enumerations
Enumeration Description
[Browser](./browsers.browser.md) Supported browsers.
[BrowserPlatform](./browsers.browserplatform.md) Platform names used to identify a OS platform x architecture combination in the way that is relevant for the browser download.
[ChromeReleaseChannel](./browsers.chromereleasechannel.md)
## Functions
Function Description
[canDownload(options)](./browsers.candownload.md)
[computeExecutablePath(options)](./browsers.computeexecutablepath.md)
[computeSystemExecutablePath(options)](./browsers.computesystemexecutablepath.md)
[createProfile(browser, opts)](./browsers.createprofile.md)
[detectBrowserPlatform()](./browsers.detectbrowserplatform.md)
[getInstalledBrowsers(options)](./browsers.getinstalledbrowsers.md) Returns metadata about browsers installed in the cache directory.
[getVersionComparator(browser)](./browsers.getversioncomparator.md) Returns a version comparator for the given browser that can be used to sort browser versions.
[install(options)](./browsers.install.md)
[install(options)](./browsers.install_1.md)
[launch(opts)](./browsers.launch.md)
[makeProgressCallback(browser, buildId)](./browsers.makeprogresscallback.md)
[resolveBuildId(browser, platform, tag)](./browsers.resolvebuildid.md)
[uninstall(options)](./browsers.uninstall.md)
## Interfaces
Interface Description
[GetInstalledBrowsersOptions](./browsers.getinstalledbrowsersoptions.md)
[InstallOptions](./browsers.installoptions.md)
[LaunchOptions](./browsers.launchoptions.md)
[Options](./browsers.options.md)
[ProfileOptions](./browsers.profileoptions.md)
[SystemOptions](./browsers.systemoptions.md)
[UninstallOptions](./browsers.uninstalloptions.md)
## Variables
Variable Description
[CDP_WEBSOCKET_ENDPOINT_REGEX](./browsers.cdp_websocket_endpoint_regex.md)
[WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX](./browsers.webdriver_bidi_websocket_endpoint_regex.md)