Screenshot API
That Actually Works
Cookie banners, lazy loading, anti-bot protection — handled. Get pixel-perfect screenshots of any website with one API call.
Built for Developers
One API call. No browser management, no cookie handling, no proxy rotation. We solved the hard parts.
Cookie Banner Removal
10,000+ cookie consent patterns handled automatically. No more GDPR banners ruining your screenshots.
SPA & Lazy Loading
React, Vue, Angular — we scroll, wait, and capture everything. Even infinite scroll pages.
Anti-Bot Bypass
Stealth browser with ISP proxies. Works on sites that block headless browsers.
Blazing Fast Cache
Same URL twice? Second request returns in 300ms from cache. Only pay for unique captures.
Transparent Pricing
Pay for what you use. Failed screenshots don't count. No surprise bills.
Developer First
REST API, clear error codes, interactive playground. From curl to production in 2 minutes.
From cURL to Production
in 2 Minutes
One endpoint. Any language. Paste the snippet and ship.
curl -X POST https://api.fastscreenshotapi.com/v1/screenshot \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","format":"png","full_page":true}' \
--output screenshot.pngconst response = await fetch('https://api.fastscreenshotapi.com/v1/screenshot', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com',
format: 'png',
full_page: true,
response_type: 'json',
}),
});
const data = await response.json();
const imageBuffer = Buffer.from(data.screenshot, 'base64');import requests
import base64
response = requests.post(
'https://api.fastscreenshotapi.com/v1/screenshot',
headers={'X-Api-Key': 'YOUR_API_KEY'},
json={
'url': 'https://example.com',
'format': 'png',
'full_page': True,
'response_type': 'json',
},
)
data = response.json()
image_data = base64.b64decode(data['screenshot'])
with open('screenshot.png', 'wb') as f:
f.write(image_data)$response = Http::withHeaders([
'X-Api-Key' => 'YOUR_API_KEY',
])->post('https://api.fastscreenshotapi.com/v1/screenshot', [
'url' => 'https://example.com',
'format' => 'png',
'full_page' => true,
'response_type' => 'json',
]);
$data = $response->json();
$imageData = base64_decode($data['screenshot']);
file_put_contents('screenshot.png', $imageData);<img src="https://api.fastscreenshotapi.com/v1/screenshot?url=https://example.com&api_key=YOUR_API_KEY&format=png" />Simple, Transparent Pricing
Start free. Scale as you grow.
Free $0/mo 200/mo | Starter $12/mo 3,000/mo | Popular Pro $39/mo 20,000/mo | Business $89/mo 60,000/mo | Enterprise $249/mo 250,000/mo | |
|---|---|---|---|---|---|
| PNG, JPEG, WebP | |||||
| Full-page capture | |||||
| Cookie banner removal | |||||
| Block ads | |||||
| Smart caching | |||||
| Lazy loading handling | |||||
| Signed download URLs | |||||
| Custom viewport & device | — | ||||
| Retina/2x support | — | ||||
| Custom CSS injection | — | ||||
| Hide page elements | — | ||||
| Anti-bot bypass | — | ||||
| HTML rendering | — | ||||
| Async screenshots | — | ||||
| Webhook delivery | — | ||||
| Batch API | — | up to 100 URLs | up to 500 URLs | up to 1,000 URLs | up to 5,000 URLs |
| Custom Headers | — | — | |||
| Custom Cookies | — | — | |||
| Upload to your S3/R2 | — | — | |||
| Priority rendering queue | — | — | — | ||
| Dedicated support | — | — | — | — |
Need more screenshots?
We offer custom plans for high-volume needs. Let's find the right solution for you.
Contact us