Reuse browsers for multiple automations, with our improved reconnect API

Effortlessly Generate PDFs, Screenshots & Screencasts

Reliably render documents and images from your website, with CSS injections and custom formatting

a code block showing how to use the pdf API
Pink Light

Use Puppeteer, Playwright or our REST APIs

Write your own script with Puppeteer or Playwright, or use our /pdf, /screenshot or /screencast APIs.
They include options to refine the output, such as printBackground or the ability to load extra stylesheets and script tags.
Check out the API docs
code block showing the cURL request for the /pdf API
Generate dashboard and report PDFs using Puppeteer

Predictable rendering for easy editing

Enable headless=false to render the page like a normal "headful" browser with your chosen window size, for predictable formatting.
You can then edit the page as you wish, whether it's to hide navigation panels, change column widths or to inject HTML and CSS.
Read about PDF generation

Speedy generation with GPUs

Our dedicated instances can run with GPUs enabled, to quickly render even the most image intensive website.
Load animations 8x faster or seamlessly stream browser interactions. All it takes is a change of chrome flags to enable or disable GPU hardware acceleration.
Read about enabling GPUs
Generation with GPUs enable or disable
Reconnect to remote browser sessions

Reconnect to remote sessions

Switch between tasks without the browser closing using our /reconnect API, ideal for if you need to pause to handle tasks such as logging in.
Browserless will manage all the hosting details, such as session timeouts and preventing memory leaks.
Read about reconnects

Use our API or an unforked library

See the Docs
Browserless white logo icon svg

import puppeteer from 'puppeteer';

const browser = await puppeteer.connect({
  browserWSEndpoint: 'wss://chrome.browserless.io'
});

const page = await browser.newPage();
await page.goto('https://example.com/');
await page.screenshot({ path: 'screenshot.png' });
browser.close();

Browserless white logo icon svg

import { chromium } from 'playwright';

(async () => {
  const browser = await chromium.connect(
    'wss://chrome.browserless.io/playwright'
  );
  const page = await browser.newPage();
  await page.goto('https://www.example.com/');
  await page.pdf({ path: 'example.pdf' });
  await browser.close();
})();

Browserless white logo icon svg

// Automatically responds in seconds with a PDF download
$ curl -X POST \
  https://chrome.browserless.io/pdf \
  -H 'Content-Type: application/json' \
  --output site.pdf \
  -d '{
  "url": "https://example.com/"
  }'

Quote icon

PDF / Screenshot / Screencast Customer Case Studies

"Browserless is a great browser-as-a-service tool that just works. We use it as a micro-service that renders thousands of dashboards per day as image of PDF and are very happy with the stability and performance."

Ian Formanek
CEO, Cluvio

"Browserless has enabled us to generate thousands of high quality PDFs at large scale. Having multiple Chrome instances running as a service that can generate PDFs from HTML without having to worry about whether CSS features are supported means we spend far less time tweaking templates than we would do with any other HTML to PDF library."

Daniel Edwards
Software Engineer, Commify
Arrow pointed left
Arrow pointed right

Ready to try the benefits of Browserless?