Documentation

Everything you need to integrate snapshot.api into your project.

Authentication
All API requests require an API key. Pass it in the x-api-key request header.Get your free API key →
fetch('https://api.snapshot.api/screenshot?url=https://google.com', {
  headers: { 'x-api-key': 'your-api-key' }
})
Take a screenshot
Capture a pixel-perfect screenshot of any public webpage.
GET/api/screenshot
ParameterTypeDescription
url requiredstringThe full URL of the page to screenshot
width optionalnumberViewport width in px. Default: 1280
height optionalnumberViewport height in px. Default: 720
fullPage optionalbooleanCapture full page. Default: false
const response = await fetch(
  'https://api.snapshot.api/screenshot?url=https://google.com',
  { headers: { 'x-api-key': 'your-api-key' } }
);
const { image } = await response.json();
// image is a base64 PNG string
{
  "success": true,
  "url": "https://google.com",
  "image": "data:image/png;base64,...",
  "takenAt": "2026-03-18T10:00:00.000Z",
  "usage": { "used": 1, "plan": "free" }
}
Error codes
All errors return a JSON object with success: false and an error message.
400
Bad request — missing or invalid URL parameter
401
Unauthorized — missing or invalid API key
429
Too many requests — monthly limit reached or rate limit hit
500
Server error — failed to take screenshot

Ready to get started?

Get your free API key and take your first screenshot in minutes.

Get free API key →