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: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:- JavaScript (SDK)
- cURL
- Python
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:| Plan | Requests per minute | Screenshots per month |
|---|---|---|
| Free | 10 | 100 |
| Pro | 60 | 1,000+ |
| Enterprise | Custom | Custom |
Monitor your usage
Check your current usage with these response headers: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:HTTP status codes
| Status Code | Meaning | When it happens |
|---|---|---|
200 | Success | Screenshot captured successfully |
400 | Bad Request | Invalid parameters or malformed URL |
403 | Forbidden | Invalid API key or quota exceeded |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Server-side error occurred |
Common error examples
- Invalid API Key
- Quota Exceeded
- Rate Limited
- Invalid URL
Response formats
Image responses
You receive screenshot images directly as binary data:Content-Type header matches your requested format:
image/jpegfor JPEG formatimage/pngfor PNG formatimage/webpfor WebP format
Request limits
We enforce these limits for security and performance:| Limit Type | Maximum | Purpose |
|---|---|---|
| Headers | 8KB | Total size of custom HTTP headers |
| Cookies | 4KB | Total size of custom cookies |
| URL length | 2048 characters | Standard browser compatibility |
| Request timeout | 30 seconds | Maximum screenshot generation time |
These limits support the vast majority of legitimate use cases while preventing abuse
Development tools
JavaScript SDK
Official TypeScript SDK with full type safety, error handling, and tree-shaking support
GitHub Repository
View source code, report issues, or contribute to the JavaScript SDK
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.