API Online -- 99.9% Uptime

Capture Any Website.
One API Call.

The screenshot API that just works. PNG, JPEG, WebP, or PDF in under 3 seconds. No Puppeteer. No Chrome. No headaches.

100 free screenshots/month -- No credit card required

terminal
$ curl "https://api.screenshotapi.dev/v1/screenshot
  ?url=https://stripe.com&format=png"
  -H "Authorization: Bearer YOUR_KEY"
  -o screenshot.png

200 OK -- 1.2s -- 847KB
99.9% Uptime< 3s Response TimeSOC 2 InfrastructureBuilt in Sweden

Try it right now

Enter any URL and see the result instantly. No signup required.

Try it right now

Enter any URL and see the result instantly. No signup required.

Your screenshot will appear here

Why ScreenshotAPI?

Built for developers who need reliable website screenshots without managing browser infrastructure.

Blazing Fast

Screenshots in under 3 seconds. Browser pool always warm and ready.

Affordable

Free tier included. Paid plans start at $29/mo. No hidden fees.

Dead Simple

One API call. GET or POST. Returns the image directly. No polling needed.

Multiple Formats

PNG, JPEG, WebP for images. A4, Letter, Legal for PDFs. Your choice.

Full Page Capture

Capture the entire scrollable page, not just the viewport.

Custom Viewport

Set any width and height. Perfect for mobile, tablet, and desktop views.

How It Works

🔑
Step 01

Get your API key

Sign up for free and get your API key instantly.

Step 02

Make an API call

Send a GET request with the URL you want to capture.

📸
Step 03

Get your screenshot

Receive the image directly in the response. Done.

Works with any language

Simple REST API. Use it from any programming language.

cURL

curl "https://screenshotapi-api-production.up.railway.app/v1/screenshot\
  ?url=https://example.com\
  &width=1280&height=800\
  &format=png" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o screenshot.png

Node.js

const response = await fetch(
  'https://screenshotapi-api-production.up.railway.app/v1/screenshot?url=https://example.com',
  { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const buffer = await response.arrayBuffer();
fs.writeFileSync('screenshot.png', Buffer.from(buffer));

Python

import requests

response = requests.get(
    'https://screenshotapi-api-production.up.railway.app/v1/screenshot',
    params={'url': 'https://example.com', 'format': 'png'},
    headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
with open('screenshot.png', 'wb') as f:
    f.write(response.content)
99.9%
Uptime SLA
<3s
Avg Response Time
50K+
Screenshots Captured
4
Output Formats

Simple, transparent pricing

Start free. Scale as you grow. No surprise fees.

Free

$0

100/month

  • Basic options
  • PNG & JPEG
  • Ad & cookie blocking
  • Community support
Start Free
Most Popular

Pro

$29/mo

10,000/month

  • All formats (PNG, JPEG, WebP, PDF)
  • Full page capture
  • Ad & cookie blocking
  • Priority rendering
  • Email support
Start Pro Trial

Business

$99/mo

100,000/month

  • Everything in Pro
  • Bulk API
  • Ad & cookie blocking
  • Webhooks
  • Priority support
  • SLA guarantee
Contact Sales

Loved by developers

Replaced our self-hosted Puppeteer setup. Simpler, faster, cheaper.

D
David R.
Full-stack Developer

The playground sold me. I could see it working before writing a single line of code.

S
Sarah M.
Product Manager

Great API, great docs, great price. What more could you want?

J
Johan S.
SaaS Founder

Ready to capture screenshots?

Get started in under 2 minutes. No credit card required.

No credit card required. 100 free screenshots/month.