Screenshot API
for developers
Capture any website as PNG, JPEG, WebP, or PDF with a single API call. Fast, affordable, and dead simple. Free tier included.
Try it right now
No API key needed for basic usage. Just run this:
curl "https://shotapi.io/take?url=https://example.com&format=png" \
--output screenshot.png Everything you need
A screenshot API that just works. No browser management, no infrastructure headaches.
Fast Capture
Screenshots rendered in milliseconds using headless Chromium. Optimized for speed with smart caching.
Affordable
Free tier with 100 screenshots/day. Paid plans from $9/mo. Up to 70% cheaper than alternatives.
ScreenshotOne Compatible
Drop-in replacement for ScreenshotOne. Same parameter names, same behavior. Migrate in minutes.
Multiple Formats
Export as PNG, JPEG, WebP, or PDF. Control quality, viewport size, and device scale factor.
Dark Mode
Capture websites in dark mode with a single parameter. Perfect for showcasing dark-themed sites.
Full Page Capture
Capture entire scrollable pages, specific CSS selectors, or just the visible viewport.
Works with any language
Simple REST API. No SDKs required.
curl "https://shotapi.io/take?url=https://github.com&format=webp&viewport_width=1440&dark_mode=true" \
-H "Authorization: Bearer YOUR_API_KEY" \
--output github-dark.webp const params = new URLSearchParams({
url: 'https://github.com',
format: 'png',
viewport_width: '1440',
full_page: 'true',
});
const res = await fetch(`https://shotapi.io/take?${params}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const buffer = await res.arrayBuffer();
fs.writeFileSync('screenshot.png', Buffer.from(buffer)); import requests
response = requests.get(
"https://shotapi.io/take",
params={
"url": "https://github.com",
"format": "png",
"viewport_width": "1440",
},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
with open("screenshot.png", "wb") as f:
f.write(response.content) Simple, transparent pricing
Start free. Scale when you need to. No hidden fees, no contracts.
Anonymous
No API key needed
- ✓ 10 screenshots/day
- ✓ PNG, JPEG, WebP, PDF
- ✓ All parameters
Free
With API key
- ✓ 100 screenshots/day
- ✓ PNG, JPEG, WebP, PDF
- ✓ All parameters
- ✓ API key authentication
Starter
For growing projects
- ✓ 2,500 screenshots/day
- ✓ PNG, JPEG, WebP, PDF
- ✓ All parameters
- ✓ Priority rendering
- ✓ Email support
Pro
For high-volume apps
- ✓ 10,000 screenshots/day
- ✓ PNG, JPEG, WebP, PDF
- ✓ All parameters
- ✓ Priority rendering
- ✓ Priority support
- ✓ Custom viewport sizes
Frequently asked questions
How does the free tier work? +
Is ShotAPI compatible with ScreenshotOne? +
What formats are supported? +
image_quality parameter
(1-100).
Can I capture full-page screenshots? +
full_page=true to capture the entire scrollable
page. You can also target a specific element using the selector parameter with a CSS selector.
How fast are screenshots? +
Do you block ads and cookie banners? +
block_ads=true and block_cookie_banners=true to get clean screenshots without distracting overlays.
Start capturing screenshots today
Free tier included. No credit card required. Get your API key in seconds.
Get Free API Key