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.