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/pricingThe public page to render. Use a deployed URL, preview URL, or other internet-accessible target.
width
1440Viewport width in pixels, similar to configuring a Puppeteer page viewport before capture.
height
900Viewport height in pixels before the screenshot is taken or expanded for full-page capture.
full_page
trueUse `true` when you would otherwise pass `fullPage: true` to Puppeteer's screenshot call.
format
pngUse 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.
Puppeteer integration guide
See how Scrnpix complements Puppeteer in hybrid screenshot workflows.
Basic screenshot recipe
Review the core screenshot endpoint, authentication header, and output shape.
Full-page capture recipe
Use full_page=true when you need one image of the complete scrollable page.
Playwright screenshot API
Compare the same hosted capture pattern for Playwright-oriented teams.
Website Screenshot API
Start with the general API page for public URL screenshots.
Full-Page Screenshot API
See the dedicated page for long-page captures and audit snapshots.
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.
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.