Storage Upload
Upload screenshots directly to your S3-compatible storage (AWS S3, Cloudflare R2, DigitalOcean Spaces, etc.) without downloading them first.
Quick Start
https://api.lambdashot.com/take?url=https://example.com&store=true&storage_path=screenshots/example.png&access_key=YOUR_KEY Configuration
Configure your S3 credentials in the dashboard, or provide them per-request:
| Parameter | Description | Required |
|---|---|---|
store | Enable storage upload | Yes |
storage_path | S3 object key (file path) | Yes |
storage_bucket | S3 bucket name | Dashboard or request |
storage_access_key_id | AWS access key ID | Dashboard or request |
storage_secret_access_key | AWS secret access key | Dashboard or request |
storage_endpoint | Custom S3 endpoint URL | For non-AWS storage |
storage_return_location | Return S3 URL in response | No |
Storage Classes
Control storage costs with the storage_class parameter:
standard— Default, frequently accessedstandard_ia— Infrequent accessonezone_ia— Single AZ, infrequent accessintelligent_tiering— Automatic tieringglacier— Archive storagedeep_archive— Long-term archive
Access Control
Set storage_acl=public-read to make uploaded files publicly accessible.
Default is private.
S3-Compatible Storage
Use the storage_endpoint parameter for non-AWS storage:
Cloudflare R2
&storage_endpoint=https://ACCOUNT_ID.r2.cloudflarestorage.com DigitalOcean Spaces
&storage_endpoint=https://REGION.digitaloceanspaces.com Backblaze B2
&storage_endpoint=https://s3.REGION.backblazeb2.com Response
With storage_return_location=true and response_type=json:
{
"store": {
"location": "https://your-bucket.s3.amazonaws.com/screenshots/example.png"
}
} Async Upload
Combine with async=true to upload without waiting:
https://api.lambdashot.com/take?url=https://example.com&async=true&store=true&storage_path=example.png&webhook_url=https://yoursite.com/webhook&access_key=YOUR_KEY Dynamic Paths
Use placeholders in storage_path:
{timestamp}— Unix timestamp{date}— YYYY-MM-DD format{uuid}— Random UUID
&storage_path=screenshots/{date}/{uuid}.png Bucket Policy Example
Minimum IAM policy for S3 upload:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:PutObject"],
"Resource": "arn:aws:s3:::your-bucket/*"
}
]
} Error Handling
Common storage errors:
invalid_storage_configuration— Check bucket region and endpointstorage_access_denied— Verify credentials and IAM permissionsstorage_returned_transient_error— Temporary S3 error, retry