Limited lifetime deal. Grab it Now โ†’
URL to Image API For developers

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.

For developers, startups, and teams building automation workflows No credit card 100 free screenshots REST API
// 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}
โœ“ 200 OK ยท 1.3s ยท cdn.peekshot.com/sc_x8k2m9.png ยท 1440ร—6240px
100K+
Screenshots captured
4.6 โ˜…
Overall rating
< 10s
Average capture time
99.9%
API uptime
70+
Countries
Trusted by 500+ teams
Agenix AI
AstroDecode
Bernadot
CandyDocs
DSM Engines
Elevate HC
Radio Media
Seraph
Agenix AI
AstroDecode
Bernadot
CandyDocs
DSM Engines
Elevate HC
Radio Media
Seraph
The problem with DIY

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.

โœ— Running headless Chrome yourself
๐Ÿ”’
A security liability
Headless browsers running in your network can be weaponised. Server-side request forgery (SSRF) lets attackers probe your internal services. Your security team will not approve this for production.
๐Ÿ”ง
Never-ending maintenance
Chrome updates silently break your rendering. Puppeteer processes leak memory and crash at 3am. Your on-call rotation now includes "screenshot service is down again." Engineers resent it.
๐Ÿ›
Edge cases multiply forever
SPAs render blank. Cookie banners block content. Lazy-loaded images don't fire. Fonts render wrong on Linux. Every new site you capture reveals a new failure mode. The list never ends.
๐Ÿ’ธ
Infrastructure costs spiral
Headless Chrome is memory-hungry. At any meaningful scale you need more RAM, more CPU, longer timeouts, GPU support. The server bill grows faster than the feature delivers value.
โœ“ PeekShot URL to Image API
๐Ÿ›ก๏ธ
Isolated from your network
PeekShot runs headless browsers in a fully isolated environment โ€” no connection to your infrastructure. SSRF attacks can't reach your internal services. Penetration tests pass. Security teams relax.
๐Ÿ˜ด
Zero maintenance, ever
We run globally distributed, self-healing infrastructure. When Chrome updates, we handle it. When a process crashes, it restarts automatically. Your on-call rotation loses one item permanently.
โœจ
Edge cases already handled
SPAs wait for full hydration automatically. Cookie banners are removed. Lazy content loads before capture. Fonts render correctly. Years of edge case fixes โ€” already in production, already working for you.
๐Ÿ’ฐ
Predictable cost at any scale
$29/month for 6,000 screenshots. No EC2 bills, no S3 fees, no surprise charges. You know the exact cost before you send your first request โ€” and it stays predictable as you grow.
API reference

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.

// Endpoint
POST https://api.peekshot.com/v1/screenshots
// Authentication
x-api-key: YOUR_API_KEY
// Response
{ url, width, height, format }
url
string ยท required
The full URL to capture. Must be publicly accessible or authenticated via cookies/headers.
full_page
boolean ยท default: false
Capture the entire scrollable page, not just the visible viewport.
false
format
string ยท default: "png"
Output format: png, jpeg, webp, or pdf.
"png"
retina
boolean ยท default: false
Render at 2x device pixel ratio for crisp high-DPI output.
false
hide_ads
boolean ยท default: true
Auto-remove cookie banners, GDPR popups, and ads before capture.
true
inject_css
string ยท optional
CSS injected before capture. Hide elements, override styles, set brand colours.
inject_js
string ยท optional
JavaScript executed before capture. Click buttons, dismiss modals, set cookies.
device
string ยท optional
Emulate desktop, tablet, or mobile. Or set custom viewport width/height.
webhook_url
string ยท optional
Receive the screenshot via webhook when ready. Enables async fire-and-forget capture.
cookies
array ยท optional
Pass session cookies to capture authenticated pages and logged-in states.
What developers build with it

Real use cases from
real PeekShot developers.

๐Ÿ–ผ๏ธ
Link preview thumbnails
Generate rich visual previews for URLs shared inside your application. Call PeekShot when a user pastes a URL and cache the result for instant display.
url + width + format: "jpeg"
๐Ÿ”
Visual regression testing
Capture your app's key pages on every deployment and diff them against the previous build. Catch UI regressions before they reach users โ€” no Playwright infrastructure required.
url + full_page + retina
๐Ÿ“š
Auto-generated documentation
Keep user guides and help docs visually up to date. Trigger PeekShot on deploy to re-capture UI screenshots automatically โ€” no more outdated docs with wrong-looking screenshots.
url + inject_css (brand styles)
๐Ÿ”
Authenticated dashboard capture
Pass session cookies to screenshot your own app's authenticated pages โ€” dashboards, user profiles, analytics screens โ€” and generate PDF reports or archived snapshots.
url + cookies + full_page
๐ŸŒ
Website monitoring snapshots
Combine PeekShot with a webhook trigger to capture timestamped visual snapshots of any URL. Build a visual history of how a page changes over time โ€” for research and compliance.
url + full_page + webhook_url
๐Ÿ“Š
Competitor intelligence pipeline
Build an automated pipeline that screenshots competitor landing pages and pricing pages on a schedule. Feed results into your analysis workflow โ€” no browser automation required.
url + hide_ads + full_page
Why PeekShot

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

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.

Get free API key โ†’ Read the docs
100 free credits ยท No credit card ยท REST API ยท CDN hosting included