Prerequisites

Before continuing, create an API key as described in Authentication, then expose it only to your server-side environment:

Synchronous capture

This request captures the full page at https://example.com as a PDF and streams the binary response to capture.pdf:
A successful synchronous request returns the capture bytes with the selected media type. Errors use the common JSON error response rather than a binary body.

Asynchronous capture

Submit the same request to the asynchronous endpoint:
The API returns 202 Accepted:

Poll capture status

Use status_url, or construct the equivalent account-scoped endpoint:
The status progresses through queued, running, and then completed or failed. A retained completed result includes download_url, content_type, size_bytes, and expires_at.

Download the result

Send the API key to the stable Snapsnip download URL and follow its temporary redirect:
The API authenticates the request and redirects to a short-lived downloads.snapsnip.io URL. Standard curl redirect handling does not forward credentials to a different hostname. Do not use --location-trusted.

Next steps

  • Open the API Reference tab for every capture option and response schema.
  • Use webhooks on asynchronous requests when polling is undesirable.
  • Treat capture_id and cloud-storage destination IDs as opaque values.
  • Retry transient 429, 503, and 504 responses with bounded backoff.