Introduction

Screenshots.so is a powerful website screenshot API with rich features:

  • ⚙️ Fully customizable screenshots
  • ⚡ Blazing fast API responses (~3-4s)
  • 🌅 Disable image Lazy loading
  • 🍪 Removes cookie banners
  • 🚀 Scales automatically to avoid downtime

It supports both all the common device dimensions and full-page screenshots.

API Reference

The Screenshots.so API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Base URL: https://api.screenshots.so

Authorization

The Screenshots.so API uses API keys to authenticate requests. You can view and manage your API key in the Screenshots.so Dashboard.

Your API key carries many privileges, so be sure to keep them secure! Do not share your secret API key in publicly accessible areas such as GitHub, client-side code, and so forth.

⚠️

If you believe that our API key is exposed publicly, make sure to invalidate and generate a new one on your personal account page in your dashboard.

There are three ways to authenticate your requests:

  1. Via bearer auth, use the header -H "Authorization: Bearer API_KEY" (Recommended).

  2. Via query parameters, append the parameter ...&apiKey=API_KEY to the request URL.

  3. Via body parameters, include the parameter {...apiKey: "API_KEY"} in the request's body (Only available for POST requests).

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Errors

Screenshots.so uses conventional HTTP response codes to indicate the success or failure of an API request. In general:

Codes in the 2xx range indicate success.

Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a screenshot capture failed, etc.).

Codes in the 5xx range indicate an error with Screenshots.so's servers (these are rare).