Developer documentation

Screenshot API Documentation

Authenticate your first screenshot request, understand the response, and explore the browser, image, storage, bulk, and automation options available through the Add Screenshots API.

Ready in minutes: Create a free account for 100 monthly captures, generate your API key, and point requests at https://api.addscreenshots.com/screenshots. Need more throughput? Upgrade instantly without rate-limit surprises.
Start Free

Quick start in 60 seconds

Authenticate with your primary or public API key and pass the target URL. Optional parameters let you control viewport, delay, CSS/JS injection, storage location, and output format.

cURLPOST /screenshots

# Capture a full-page screenshot and deliver to your S3 bucket
curl -X POST "https://api.addscreenshots.com/screenshots?apikey=YOUR_API_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"url": "https://example.com",
"fullpage": true,
"s3": "example-screenshots"
}'

Prefer SDKs? Check the GET/POST reference, Base64 examples, and language samples across custom CSS, JavaScript injection, and storage templates.

Documentation map

This page covers authentication and the first request. Use the focused references below when you are ready to add request methods, response handling, browser options, storage, or automation.

Evaluating the service? Compare production capabilities, workflow examples, and the free tier on the website screenshot API product page. This page remains the implementation reference.

Real-Time URL to Screenshot Requests

The url to screenshot API supports real-time GET requests, allowing you to capture website screenshots instantly with a single URL. This feature is perfect for on-the-fly captures or generating live screenshots of websites.

Bulk Requests using the HTTP POST Method

If you require capturing multiple website screenshots simultaneously, our API offers bulk requests via the HTTP POST method. This capability makes it ideal for large-scale projects or automated workflows.

Integrating our API into your application is seamless, supporting popular programming languages like PHP, Python, Ruby, and more. Sign up today to unlock the full potential of website screenshot capture with our API.

Getting started with the Add Screenshots API

API Specification
The Open API definition and Swagger UI is available at https://api.addscreenshots.com/

What is an API Key and Why Do You Need It to Take a Screenshot?

An API key is a credential used to identify the user, website, or application making a call to the Screenshot API. Each account has its own unique set of API keys, and using an API key allows for screenshot account information to be associated with the account.

Without an API key, the Screenshot API cannot authenticate the user and their account information cannot be linked to the screenshot request. In other words, an API key is required to ensure secure and authorized access to the Screenshot API.

If you're looking to use the Screenshot API to capture website screenshots, be sure to sign up for an account and obtain your own unique API key. With an API key, you can easily integrate our API into your application and start capturing website screenshots with ease.

Where can I find my website screenshot API key?

Visit the API Keys page to find your list of API keys. Need an account? Sign up to get started.

An example of the API keys page is shown below:

API key manager 4 credentials
CredentialKey previewUseStatus
PrimaryPRIMARY_KEY_********Private serverActive
SecondarySECONDARY_KEY_********Backup / rotationReady
PublicPUBLIC_KEY_********Browser embedsActive
SecretSECRET_KEY_********Token signingPrivate

Why are there 4 API keys and which one should I use?

Each account with our Screenshot API will have four API keys with specific use cases:

NamePurposeUse
PrimaryThis key is used internally to generate screenshots within your code or application for internal apps.Internal Apps
SecondarySimilar to the primary key, this key is also used internally for generating screenshots within your code or application for internal apps. It serves as a backup in case the primary key was compromised and needs to be regeneratedInternal Apps
PublicThis key is used on public websites in conjunction with a token signed by the secret key.Public Websites
SecretThis private key is kept on your server and used to sign screenshot request tokens for public embeds.Public Websites

If you're using our Screenshot API for internal applications where end-users cannot see the API key, use either the primary or secondary API key. For public websites, where end-users can potentially see or access the API key, use the public API key and a base64 token of the request with an HMAC SHA256 signature.

By using the appropriate API key for your specific use case, you can ensure secure and authorized access to the Screenshot API. If you have any questions about which API key to use or how to use it, please don't hesitate to contact our support team.


What happens if my API key is compromised or stolen?

If your Screenshot API key is compromised or stolen, it's important to take immediate action to secure your account and prevent unauthorized access. Fortunately, our Screenshot API makes it easy to regenerate a new API key and deactivate the old one.

Simply navigate to the API Keys screen in your account and click on the Regenerate icon next to the compromised API key. Within seconds, the old key will be deactivated and a brand-new key will be generated for your account.

By regenerating your API key, you can ensure the security of your account and prevent any potential misuse of your Screenshot API. If you suspect that your API key has been compromised or have any concerns about the security of your account, please contact our support team for assistance.


API keys for internal applications

Only use the Primary or Secondary API keys where end users cannot see the key. For example, keep them in server-side configuration for internal applications.

How do I use the Primary or Secondary Screenshot API key?

To use the API for internal applications, simply include the apikey in the query string or the x-api-key in the request header as shown below.

Server-side authentication Private applications
Your infrastructure

Private application

Keys remain in server-side configuration
authenticate
Primary keyYOUR_PRIMARY_KEYActive
Secondary keyYOUR_SECONDARY_KEYStandby
Send either key as apikey or x-api-key
request
Add Screenshots

Screenshot API

Authenticate, capture, and return the result
Safe rotation

Switch to the secondary key, regenerate the primary key, then update your application without downtime.


What is an example of using the primary/secondary API key in a URL query string?

The API key can be included in the apikey query string as shown below:

// Line breaks added for readability GET https://api.addscreenshots.com/screenshots
?apikey=
YOUR_API_KEY
&url=example.com

Your API key can be found on the API Keys page. Need an API Key? Sign up to get started.
For internal applications, replace YOUR_API_KEY with your own unique API Key.
For public facing websites or hotlinks, generate a signed URL.

What is an example of using the primary/secondary API key in a HTTP Header?

The API key can also be added in the HTTP request as a header with name x-api-key (apikey and x-apikey is also supported) and the value of the API key as shown below:

x-api-key: YOUR_API_KEY