Playwright operations

Move screenshot jobs out of your Playwright serverless function

Playwright remains the right tool for tests and unrestricted browser sessions. The API covers the narrower job of turning hostile input into a delivered artifact.

Capture settings
Enter the source, choose your options, then run the capture.
Result
Your capture will appear here and stay in view.
waiting

No result yet

Complete the settings and run the tool. Images, PDFs, text, and video all preview in this panel.

Send this exact request
cURL, TypeScript and Python are generated from the same configuration as the demo.
curl --fail-with-body "https://api.pagecapture.dev/v1/take" \
  -H "X-Access-Key: $PAGECAPTURE_KEY" \
  -H "Content-Type: application/json" \
  --data '{"url":"https://example.com","format":"png","full_page":true,"full_page_scroll":true}' \
  -o capture.png

Smaller application deploy

The app no longer packages a browser binary and its native dependencies for screenshot jobs.

Backpressure outside the process

Browser contexts are admitted by quota and queues instead of consuming unbounded function memory.

Keep testing in Playwright

Assertions, Firefox/WebKit and unrestricted evaluation are explicitly outside this migration.

Contracted action order

The public capture sequence is stable, versioned and part of the resulting cache key.

Use this when
  • Cold starts, browser binaries, memory or queueing dominate a screenshot endpoint.
  • The output job fits the PageCapture action contract.
Do not use this when
  • You are running end-to-end tests or need assertions over page state.
  • Firefox, WebKit or unrestricted Playwright APIs are requirements.
Workflow

From input to verified artifact

  1. 01

    Keep the fixture

    Use the same URL and readiness signal from the current Playwright job.

  2. 02

    Replace the runner

    Send those values to /v1/take instead of launching a local browser.

  3. 03

    Migrate gradually

    Compare artifacts and error handling before removing the existing worker.

Edge cases and common errors

Serverless timeout

Use async delivery for captures whose navigation budget exceeds the caller request window.

Multi-browser dependency

The initial engine is Chromium; keep Playwright for Firefox or WebKit output.

DIY in hours and operational risk

Keep the browser when that is the simpler system.

Playwright is the right tool when browser control itself is part of the product or test.

DIY is a good fit when

  • Your team already operates a stable browser pool.
  • Tests and captures share fixtures, assertions and multi-browser coverage.

No default is supplied: we do not invent engineering-hour savings.

Responsibility and risk transferred
Serverless packaging
Browser size and native dependencies can exceed deployment limits.
Backpressure
Unbounded contexts can turn a traffic spike into process-wide failure.
Workload pricing

5,000 migrated Playwright jobs

This is an editable scenario, not a savings claim. Only successful captures that miss cache are billable.

Billable successes
4,410
Smallest included plan
Growth
Published monthly price
$47.00
Tested and reviewed

Written by PageCapture Engineering. Reviewed by PageCapture API maintainers. Last tested 2026-08-11.

cURL, TypeScript and Python executed against controlled fixtures; request contract and artifact format verified.

Questions this raises

Should I replace Playwright tests?

No. PageCapture produces artifacts; it is not a test runner and does not replace assertions or multi-browser coverage.

Does the API use Playwright?

The initial engine uses Chromium controlled by Playwright, but the public contract is the HTTP API rather than Playwright internals.

When should I keep my worker?

Keep it when browser control is core, the pool is already reliable, or the job requires Firefox, WebKit or arbitrary interaction.