Free Screenshot API for Developers
Turn any URL into a pixel-perfect PNG, JPG, WebP or GIF with one API call. Full-page captures, any viewport, ad and cookie-banner blocking, and screenshots from the country you choose.

1
2
3
4
5
6
7
8
9
10
11
import Screenshotbase from 'screenshotbase'
const screenshot = Screenshotbase(
SCREENSHOTBASE_API_KEY,
SCREENSHOTBASE_API_SECRET
)
const renderLink = screenshot.getRenderLink({
url: 'stripe.com',
width: 1440,
height: 840
})
return <img src="{renderLink}" />1
2
3
4
5
6
7
8
9
10
11
import Screenshotbase from 'screenshotbase'
const screenshot = Screenshotbase(
SCREENSHOTBASE_API_KEY,
SCREENSHOTBASE_API_SECRET
)
const renderLink = screenshot.getRenderLink({
url: 'stripe.com',
width: 1440,
height: 840
})
return <img src="{renderLink}" />
We take the headache out of website screenshots
Running your own headless browsers is a job of its own. Here's what changes when you hand it to an API.
- Slow, brittle scrapers that are costly to maintain
- Blocks from captchas, rate limits and anti‑bot systems
- Inconsistent results across engines and locales
- Poor geo/device emulation leads to noisy, unusable data
- Delayed insights and missed growth opportunities
- Fast render times and effortless horizontal scaling
- High success rates, with ad, chat and cookie-banner blocking built in
- Clean, consistent images across devices and locales
- Accurate device and country emulation out of the box
- Your team ships features instead of maintaining browsers


Take screenshots of any size
Set the viewport, scale factor, format and quality in a few lines of code.

const settings: {
url: 'https://stripe.com',
width: 400,
height: 800
}Responsive screenshots
Capture a page at any width and height, from phone to widescreen, with sharp high-DPI output.
Full-page screenshots
Capture the whole page, top to bottom, in one image and one request.
Hide what you don't need
Remove any element by CSS selector before the capture, so no cropping or retouching is needed.
Control what ends up in the screenshot
Wait for content to load, remove clutter and capture the page as visitors in another country see it.

const settings: {
url: 'https://stripe.com/en',
block_cookie_notifications: true,
language: 'en',
country: 'de'
}Wait for content, block clutter
Delay the capture until async content has loaded, and block ads, chat widgets and cookie banners.
Screenshots from other countries
Choose the country the page is loaded from and capture its localized prices, language and content.
Inject custom CSS
Restyle the page with your own CSS before the screenshot is taken.
Scale with trust and confidence
From startup to enterprise: GDPR-compliant, reliable and backed by people who answer when you write.
Support from engineers
Your questions go to engineers who know the API inside out, on every plan.
Security & Compliance
Multiple API keys, an audit log and team access come built in.
Integrations & SDKs
SDKs for all major languages, plus no-code integrations such as Make and Zapier.
Data privacy
Built in Europe and fully GDPR compliant.
// npm i @everapi/screenshotbase-js
import Screenshotbase from '@everapi/screenshotbase-js'
async function Demo() {
const client = new Screenshotbase('YOUR-API-KEY')
const image = await client.take({
url: 'https://bbc.com',
format: 'png',
full_page: true,
})
console.log('ArrayBuffer length:', image.byteLength)
}
Demo()<?php
require __DIR__ . '/vendor/autoload.php';
$client = new Screenshotbase\ScreenshotbaseClient('APIKEY');
$status = $client->status();
print_r($status);
$image = $client->take([
'url' => 'https://bbc.com',
'format' => 'png',
'full_page' => true,
]);
file_put_contents('screenshot.png', $image);
Built with developer experience in mind
Official SDKs for the major languages, and integrations for no-code tools.
A screenshot API for the edge cases too
Lazy-loaded images, cookie walls, chat widgets, localized pages: the parameters cover the cases that break home-grown setups. Missing something? Tell us and we'll look into it.
Any viewport
Phone, tablet or desktop sizes
Hide elements
Remove anything by CSS selector
High-DPI output
Set the device scale factor for sharp images
Custom CSS
Restyle the page before the capture
Capture country
Load the page from another country
Cookie banners
Keep consent pop-ups out of the image
Chat widgets
Hide support chats automatically
Ads
Block ads before the page is captured
Self-service API or fully managed project
Integrate the API yourself in minutes, or let us handle integration, setup and operations for you.
JSON REST API
Integrate the API in your application
Get a free API key, add a few lines of code and go live in minutes. Clear documentation and sample snippets for every language get you there.
Managed Screenshot Service
Fully managed project - integrated in your infrastructure
Need help integrating screenshots into your systems, or want us to run the whole project? Tell us what you need and we'll build a tailored solution.

"We had a few special requirements as part of our setup, and the screenshotbase.com team was super responsive & helpful, as they implemented the API into our infrastructure within a few hours."
Armin Daryabegi CTO
Pricing that grows with you
If none of the plans fits, contact us for a quote. Or start with our free plan.
Basic
For side projects and first integrations.
$15 /month
- 3,000 screenshots
- 60 screenshots per minute
- scrolling screenshots
- overages available
- S3 upload
- Caching
- webhooks
- integrations (Make, Zapier, etc.)
- 1 API Key
- request playground
- basic support
Premium
Most popular
For production use cases.
$59 /month
- 20,000 screenshots
- screenshots per minute
- scrolling screenshots
- overages available
- S3 upload
- Caching
- webhooks
- integrations (Make, Zapier, etc.)
- 3 API Keys
- request playground
- premium support
- custom IP location (proxies)
Enterprise
High request volumes and premium support.
$210 /month
- everything in premium
- 75,000 screenshots
- 250 screenshots per minute
- up to ∞ API Keys
- up to ∞ Custom Terms
- custom integrations
Custom plan
Need a higher volume, custom integrations or a fully managed service? Contact us for a custom plan.
Frequently asked questions
What developers ask us about the screenshot API
A REST API that takes a screenshot of any website: full page or a viewport of any size, as PNG, JPG, WebP or GIF, and loaded from the country you choose.
More questions? Contact us.