Take instant Screenshots of any website via API
Send a URL. Get back a pixel-perfect, hosted screenshot. No Puppeteer. No rendering issues. No maintenance.
// Capture a full-page screenshot const res = await fetch('https://api.peekshot.com/v1/screenshots', { method: 'POST', headers: { 'x-api-key': process.env.PEEKSHOT_KEY, 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://example.com', full_page: true, format: 'png', retina: true, hide_ads: true, inject_css: '.cookie-banner { display:none }' }) }); const { url, width, height } = await res.json(); // โ { url: "https://cdn.peekshot.com/sc_x8k2m9.png", // width: 1440, height: 6240 }
# pip install requests import requests data = requests.post( 'https://api.peekshot.com/v1/screenshots', headers={'x-api-key': API_KEY}, json={'url': 'https://example.com', 'full_page': True, 'retina': True, 'hide_ads': True} ).json() screenshot_url = data['url']
// PHP 7.4+ $data = json_decode(file_get_contents( 'https://api.peekshot.com/v1/screenshots', false, stream_context_create(['http' => [ 'method' => 'POST', 'header' => "x-api-key: $API_KEY\nContent-Type: application/json", 'content' => json_encode(['url'=>'https://example.com', 'full_page'=>true, 'retina'=>true]) ]]) )); $url = $data->url;
curl -s -X POST https://api.peekshot.com/v1/screenshots \ -H "x-api-key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com", "full_page":true,"retina":true,"hide_ads":true}' # {"url":"https://cdn.peekshot.com/sc_x8k2m9.png", # "width":1440,"height":6240}
Your team already tried
to build this themselves.
Headless Chrome on Lambda, Puppeteer on a VPS, Playwright on Cloudflare Workers. You hoped it would take a weekend. It took three weeks. And it still crashes on Tuesdays.
One endpoint.
100+ parameters.
A single POST request handles everything from a basic screenshot to a retina-quality, authenticated, mobile-viewport render with custom CSS injected before capture. Every parameter is optional โ sensible defaults work out of the box.
Real use cases from
real PeekShot
developers.
PeekShot vs.
building it
yourself.
The real alternative isn't another screenshot API โ it's maintaining your own headless browser setup. Here's how that comparison actually looks.
| Consideration | PeekShot API | Self-hosted headless Chrome |
|---|---|---|
| Time to first screenshot | Under 5 minutes | Days to weeks of setup |
| SPA & dynamic content | Handled automatically | Custom wait logic, constant debugging |
| Cookie banner removal | On by default | Manual CSS injection per site |
| Retina / 2x output | One param: retina: true | deviceScaleFactor configuration |
| Scaling to high volume | Automatic, managed | Provision more servers yourself |
| Screenshot hosting | CDN included, zero config | S3 + CloudFront setup required |
| Chrome version updates | We handle it | Manual, often breaks rendering |
| Security posture | Isolated from your network | SSRF risk on your infrastructure |
| Cost at 6,000/month | $29 flat | EC2 + S3 + dev time > $150/mo |
| On-call incidents | Zero โ we page ourselves | You get paged when it crashes |
Need to render HTML as an image?
The URL to Image API captures live webpages. If you need to render your own HTML and CSS โ for OG images, certificates, social cards โ that's a separate API with its own dedicated page.
Drop the headless browser.
Ship the feature.
API key in 30 seconds. 100 free screenshots. Your first capture will be live before your next standup โ no infrastructure, no maintenance, no Tuesdays-at-3am.