Back to Blog
Guide February 24, 2026 · 4 min read

How to Take a Screenshot of Any Website with One API Call

No browser installation. No Puppeteer. No chromedriver version pinning. One API call, one PNG back.

curl -X POST https://api.pagebolt.dev/v1/screenshot \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}' \
  --output screenshot.png

That's it. screenshot.png lands in your current directory.

Get an API key free at pagebolt.dev — 100 requests/month, no credit card.

Full-page screenshot

Capture the entire scrollable page, not just the visible viewport:

curl -X POST https://api.pagebolt.dev/v1/screenshot \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "fullPage": true
  }' \
  --output fullpage.png

Remove cookie banners and ads

Most pages have cookie consent popups that ruin screenshots. Block them:

curl -X POST https://api.pagebolt.dev/v1/screenshot \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "fullPage": true,
    "blockBanners": true,
    "blockAds": true
  }' \
  --output clean.png

blockBanners removes GDPR popups (CookieBot, OneTrust, etc.) automatically.

Mobile screenshot

curl -X POST https://api.pagebolt.dev/v1/screenshot \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "viewportDevice": "iphone_14_pro"
  }' \
  --output mobile.png

25+ device presets: iphone_14_pro, ipad_pro, samsung_galaxy_s23, macbook_pro_16, and more.

JPEG or WebP instead of PNG

curl -X POST https://api.pagebolt.dev/v1/screenshot \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "format": "jpeg",
    "quality": 85
  }' \
  --output screenshot.jpg

JPEG is 3–5× smaller than PNG for photos. WebP is smaller still.

Screenshot a page behind a login

curl -X POST https://api.pagebolt.dev/v1/screenshot \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://app.example.com/dashboard",
    "cookies": ["session=abc123; Domain=example.com"]
  }' \
  --output dashboard.png

Copy the session cookie value from your browser's DevTools (Application → Cookies) after logging in.

Screenshot in Node.js

import fs from 'fs';

const res = await fetch('https://api.pagebolt.dev/v1/screenshot', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.PAGEBOLT_API_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://example.com',
    fullPage: true,
    blockBanners: true
  })
});

fs.writeFileSync('screenshot.png', Buffer.from(await res.arrayBuffer()));

Screenshot in Python

import requests

res = requests.post(
    'https://api.pagebolt.dev/v1/screenshot',
    headers={'x-api-key': 'YOUR_API_KEY'},
    json={'url': 'https://example.com', 'fullPage': True, 'blockBanners': True}
)
with open('screenshot.png', 'wb') as f:
    f.write(res.content)

When the site blocks headless browsers

Some sites detect and block headless browsers, returning a blank page or CAPTCHA. Add stealth: true:

curl -X POST https://api.pagebolt.dev/v1/screenshot \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "stealth": true,
    "fullPage": true
  }' \
  --output screenshot.png

Stealth mode masks browser fingerprints so bot-detection walls don't trigger.

Step up: record a narrated video instead

Screenshots show state. If you need to show a flow — a signup, a checkout, a multi-step process — record a narrated video instead:

curl -X POST https://api.pagebolt.dev/v1/video \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "steps": [
      {"action": "navigate", "url": "https://yourapp.com"},
      {"action": "click", "selector": "#get-started"},
      {"action": "screenshot", "name": "result"}
    ],
    "audioGuide": {
      "enabled": true,
      "voice": "nova",
      "script": "Welcome. {{2}} Click Get Started."
    }
  }' \
  --output demo.mp4

Same API key. One call. MP4 with AI narration.

Get Started Free

100 screenshots/month, no credit card

Screenshots, PDFs, OG images, narrated videos — all from the same API key.

Get Your Free API Key →