Quickstart

From signup to your first capture in a few lines.

1. Get an API key

Create one in the dashboard. It is shown once — we store only a hash, so it cannot be revealed again.

2. Capture a page

curl -G https://api.pagecapture.dev/v1/take \
  -H "X-Access-Key: $PAGECAPTURE_KEY" \
  --data-urlencode "url=https://example.com" \
  -d "format=png" \
  -o screenshot.png

That is the whole integration. The response body is the PNG.

3. Handle errors

Errors always come back as JSON with a stable error_code, whatever the HTTP status:

{
  "is_successful": false,
  "error_code": "selector_not_found",
  "error_message": "The requested selector was not found.",
  "documentation_url": "https://api.pagecapture.dev/docs/errors/selector_not_found",
  "request_id": "req_01..."
}

Branch on error_code, not on the status. The status may change between versions; the code will not.

4. Go to production

  • Set timeout explicitly for pages you know are slow.
  • Turn on cache for pages you capture repeatedly — hits are free.
  • Use async=true with webhook_url for anything that does not need to block a user.
  • Keep the request_id from every response. It is the one thing support needs.

Run this without writing code

These tools call the endpoint documented on this page. Whatever you configure there carries into the playground with you.