Pro & Enterprise

Your screenshots. Your bucket.

Store every screenshot and PDF directly in your own S3-compatible bucket. Configure once in the dashboard — no code changes, no per-request parameters.

How it works

Three steps. Zero code changes.

1

Configure once

Enter your bucket name, region, and credentials in the dashboard. We encrypt everything with AES-256-GCM before storing.

2

Test connection

Click "Test Connection" to verify access. We upload and delete a tiny test file to confirm permissions.

3

Screenshots land in your bucket

Every screenshot and PDF is automatically uploaded to your bucket. No per-request configuration needed.

API response

storage_url in every response

When custom S3 is enabled, every screenshot and PDF response includes a storage_url field with the S3 URI of the uploaded file. Webhook payloads include it too.

Your existing API calls work unchanged — no new parameters needed. The upload happens automatically in the background.

POST /v1/screenshot
{
  "id": "a1b2c3d4-...",
  "url": "https://example.com",
  "status": "completed",
"storage_url": "s3://my-bucket/screenshots/abc.png",
"metadata": { "width": 1280, "height": 720, "format": "png", "size_bytes": 245000, "render_time_ms": 850, "cached": false } }

Compatibility

Works with any S3-compatible service

If it speaks the S3 API, it works. Just set a custom endpoint.

AWS S3

Amazon's industry-standard object storage

Default (s3.amazonaws.com)

Cloudflare R2

Zero egress fees, S3-compatible

https://<account>.r2.cloudflarestorage.com

Backblaze B2

Affordable, S3-compatible storage

https://s3.<region>.backblazeb2.com

DigitalOcean Spaces

Simple, scalable object storage

https://<region>.digitaloceanspaces.com

MinIO

Self-hosted, S3-compatible

Your MinIO endpoint

Any S3-compatible

Works with any service that speaks S3

Custom endpoint

Security

Your credentials, locked down

AES-256-GCM encryption

Your S3 credentials are encrypted at rest with AES-256-GCM. The encryption key never leaves your server.

Minimal IAM permissions

We only need PutObject. Create a dedicated IAM user with a single permission for maximum isolation.

Credentials never logged

Access keys are masked in the dashboard and never appear in logs, responses, or error messages.

Delete anytime

Remove your S3 configuration with one click. Credentials are immediately wiped from the database.

Recommended setup

Minimal IAM policy

Create a dedicated IAM user with only s3:PutObject permission. No read access, no delete access, no list access. Just write.

This way, even if credentials were ever compromised, the blast radius is limited to uploading files to a single bucket prefix.

iam-policy.json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::my-bucket/*"
    }
  ]
}

Keep your screenshots where they belong

Available on Pro and Enterprise plans. Set up in under a minute.