curl "https://api.screenshothis.com/v1/screenshots/take?api_key=your_api_key&url=https://example.com" \
  -o screenshot.jpeg
HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: 245760
Cache-Control: public, max-age=3600

[Binary image data]
Generate high-quality website screenshots with a simple REST interface. You get fast, reliable screenshot generation with extensive customization options and built-in security features designed for production use.

OpenAPI Specification

View the complete OpenAPI 3.1 specification for automatic client generation

Getting started quickly

Base URL

Make all API requests to our production server:
https://api.screenshothis.com

Authentication

Authenticate using API keys passed as query parameters. You’ll create your API key in the dashboard. API key security Your API keys use domain whitelisting for security—you can safely commit them to version control. Keys only work on domains you’ve whitelisted in your dashboard. Authentication examples Add your API key as a query parameter in every request:
import { Screenshothis } from '@screenshothis/sdk';

const apiKey = 'your_api_key_here';
const url = 'https://example.com';

const screenshothis = new Screenshothis();

const screenshot = await screenshothis.screenshots.take({
  apiKey,
  url,
});
Domain whitelisting: Configure allowed domains in your dashboard to control where your API key can be used. This security model makes it safe to use API keys client-side and commit them to version control.

Usage limits and rate limiting

We enforce fair usage limits to ensure optimal performance for everyone:
PlanRequests per minuteScreenshots per month
Free10100
Pro601,000+
EnterpriseCustomCustom

Monitor your usage

Check your current usage with these response headers:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 9
X-RateLimit-Reset: 1640995200
Monitor these headers to implement proper retry logic and avoid hitting rate limits

Error handling

We use standard HTTP status codes and return structured JSON error responses to help you diagnose issues quickly.

Error response structure

When an error occurs, you receive JSON with detailed information:
{
  "error": "Invalid API key provided",
  "requestId": "req_1234567890abcdef"
}

HTTP status codes

Status CodeMeaningWhen it happens
200SuccessScreenshot captured successfully
400Bad RequestInvalid parameters or malformed URL
403ForbiddenInvalid API key or quota exceeded
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer-side error occurred

Common error examples

{
  "error": "Invalid API key provided",
  "requestId": "req_1234567890abcdef"
}
Always include error handling in your applications. Save the requestId from error responses—our support team uses this to help troubleshoot issues faster

Response formats

Image responses

You receive screenshot images directly as binary data:
curl "https://api.screenshothis.com/v1/screenshots/take?api_key=your_api_key&url=https://example.com" \
  -o screenshot.jpeg
HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: 245760
Cache-Control: public, max-age=3600

[Binary image data]
The Content-Type header matches your requested format:
  • image/jpeg for JPEG format
  • image/png for PNG format
  • image/webp for WebP format

Request limits

We enforce these limits for security and performance:
Limit TypeMaximumPurpose
Headers8KBTotal size of custom HTTP headers
Cookies4KBTotal size of custom cookies
URL length2048 charactersStandard browser compatibility
Request timeout30 secondsMaximum screenshot generation time
These limits support the vast majority of legitimate use cases while preventing abuse

Development tools

Quick start steps

Ready to capture your first screenshot? Follow these steps:
1

Sign up for an account

Create your free account at screenshothis.com to get 100 free screenshots per month.
2

Create an API key

Generate your API key at screenshothis.com/keys in your dashboard.
3

Make your first request

Use the examples in this documentation to capture your first screenshot.
Your first screenshot will be ready in under 2 seconds
4

Explore advanced features

Learn about content blocking, device simulation, and custom selectors to enhance your screenshots.
Start with our Quickstart Guide for a complete step-by-step tutorial, then return here for detailed API reference information