Puppeteer Screenshot API

Puppeteer screenshot API for teams that do not want to run browsers for every capture

Keep Puppeteer for complex browser automation, then use Scrnpix when the job is simply URL-to-image capture from a public page. The API returns PNG or JPEG bytes without browser installs, Chrome flags, or worker pools in your app.

Good fit

  • Replacing Puppeteer scripts that only open a public URL and call page.screenshot().
  • Capturing preview deploys, landing pages, docs, and pricing pages in CI without installing Chromium.
  • Generating baseline screenshots that your existing Puppeteer or image-diff workflow can compare later.

Not a fit

  • Authenticated application states that require cookies, login, or local browser storage.
  • Flows that require clicks, typing, network interception, or custom JavaScript before capture.
  • Full visual-review platforms with approvals, annotations, and team review workflows.

Code example

Replace screenshot-only Puppeteer workers with one authenticated HTTP request when the target page is public and no browser interaction is required.

curl "https://api.scrnpix.com/screenshot?url=https%3A%2F%2Fexample.com%2Fpricing&width=1440&height=900&full_page=true&format=png" \
  -H "X-KEY: your-api-key" \
  -o puppeteer-api-capture.png

Where Scrnpix fits in a Puppeteer workflow

Use Puppeteer where you need stateful browser control. Use Scrnpix for the capture jobs that only need a public URL rendered at a predictable viewport.

Leave interaction in Puppeteer

Clicks, login, form setup, scraping, and DOM assertions still belong in Puppeteer because they need live browser state.

Move public captures to the API

Marketing pages, docs pages, preview deploys, and baseline images can call Scrnpix directly instead of launching Chromium.

Store the returned image bytes

Write the response to CI artifacts, object storage, or your diffing pipeline just like you would with page.screenshot().

Supported parameters

url

https://example.com/pricing

The public page to render. Use a deployed URL, preview URL, or other internet-accessible target.

width

1440

Viewport width in pixels, similar to configuring a Puppeteer page viewport before capture.

height

900

Viewport height in pixels before the screenshot is taken or expanded for full-page capture.

full_page

true

Use `true` when you would otherwise pass `fullPage: true` to Puppeteer's screenshot call.

format

png

Use PNG for lossless output or JPEG for smaller image files.

Sample output

  • Returns image bytes directly as `image/png` or `image/jpeg` for the public URL you request.
  • Supports viewport sizing and `full_page=true` for the common Puppeteer screenshot options teams reach for first.
  • Each screenshot costs 1 credit, with `X-Credit-Cost` returned on the response for accounting.

Known boundaries

  • Scrnpix does not run your Puppeteer script or replay browser interactions before capture.
  • Targets must be public URLs. Private preview environments and authenticated sessions still need your own browser automation.
  • Pages render as a normal public visitor would see them, including public cookie banners, modals, and chat widgets.

Related docs and tools

Use these resources to validate the endpoint behavior, capture mode, and production workflow before automating it.

Pricing examples

Scrnpix charges in credits. Screenshots cost 1 credit. Animations cost 1 credit per second of GIF duration (minimum 1).

Free

Validate the API call against a few public Puppeteer replacement captures before changing CI.

Basic

Enough for lightweight preview-deploy captures, docs snapshots, and recurring public-page screenshots.

Growth

Useful when public screenshot jobs run frequently across CI, QA, docs, or monitoring workflows.

No automatic overage billing is exposed in the current product. When you outgrow a monthly credit bucket, move up to the next plan instead of relying on surprise overage charges.

Frequently asked questions

Is Scrnpix a drop-in replacement for Puppeteer?

No. Scrnpix replaces the screenshot-only part of a workflow when the target is a public URL. Keep Puppeteer for browser control, authentication, and interaction-heavy flows.

Can I use Scrnpix with my existing Puppeteer tests?

Yes. Call Scrnpix for baseline or public-page captures, then keep Puppeteer for the tests that need live page state. The returned image can be saved and compared by your existing pipeline.

How is this different from page.screenshot()?

page.screenshot() requires you to launch and manage a browser process. Scrnpix exposes the capture as an HTTP API so CI jobs and backend services do not need to install Chromium for public URL screenshots.

Get an API key and test the flow end to end

Start with the free tier, verify the capture shape you need, then move up when the workflow becomes recurring.