DEV Community

Custodia-Admin
Custodia-Admin

Posted on • Originally published at pagebolt.dev

The Best Screenshot APIs for Developers in 2026 (Free + Paid)

You need to add screenshots to your product. Link previews, social cards, automated QA reports, website monitoring.

You could build it with Puppeteer, but that means managing browsers, Docker bloat, memory leaks, and infrastructure costs.

The better move: use a screenshot API. But which one?

There are dozens of options. I've tested the four best so you don't have to: PageBolt, ScreenshotOne, Urlbox, and Bannerbear. Let me show you how they compare.

Quick Comparison Table

Feature PageBolt ScreenshotOne Urlbox Bannerbear
Pricing (10k req/mo) $29/mo $49/mo $79/mo $99/mo
Free tier 100/mo 100/mo 100/mo 10/mo
Screenshots
PDF generation
Video recording ✅ (AI narration)
MCP server ✅ (Claude/Cursor)
Styled screenshots ✅ (frames, backgrounds)
Device presets 25+ ~10 ~8 ~5
Page inspection
API response time ~1.5s ~2s ~1.8s ~2.5s
Uptime SLA 99.9% 99.5% 99.9% 99%
Setup time 5 min 10 min 10 min 15 min

The Contenders

1. PageBolt — Best for AI Agents & Styled Screenshots

What it does:

  • Screenshots with 25+ device presets
  • PDF generation from HTML
  • Video recording with AI-narrated voiceover
  • Page inspection (DOM structure extraction)
  • MCP server for Claude/Cursor native integration
  • Styled screenshots with frames, gradients, shadows

Pricing:

  • Free: 100 requests/month
  • Paid: $29/month (includes 10,000 requests)
  • Additional: $0.015 per request

Best for:

  • AI agents that need browser tools (Claude, Cursor, local LLMs)
  • Products that want auto-generated narrated demo videos
  • Developers who want styled screenshots without post-processing
  • Apps that need page inspection for automation

Trade-offs:

  • Newer than competitors (less ecosystem maturity)
  • Fewer third-party integrations (yet)

Try it:

const response = await fetch('https://api.pagebolt.io/api/v1/screenshot', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
  body: JSON.stringify({ url: 'https://example.com' })
});
const buffer = await response.buffer();
Enter fullscreen mode Exit fullscreen mode

2. ScreenshotOne — Best for Simple, Reliable Screenshots

What it does:

  • Clean, straightforward screenshot API
  • Basic styling options
  • Good documentation
  • Reliable uptime

Pricing:

  • Free: 100 requests/month
  • Paid: $49/month (includes 5,000 requests)
  • Additional: $0.01 per request

Best for:

  • Developers who want the simplest possible API
  • Products that just need basic screenshots (no fancy features)
  • Teams that value battle-tested, stable infrastructure
  • Projects with light screenshot volume

Trade-offs:

  • Limited feature set (no video, no page inspection)
  • Styling options are basic
  • No MCP integration
  • Higher price per request on paid plans

Why it's popular:
ScreenshotOne's strength is simplicity. The API is dead easy. The docs are clear. It works. For projects that don't need fancy features, this is the safe choice.


3. Urlbox — Best for JavaScript-Heavy Sites

What it does:

  • Excellent JavaScript rendering
  • Good for complex, interactive sites
  • Strong for e-commerce and SPA screenshots
  • Enterprise-grade reliability

Pricing:

  • Free: 100 requests/month
  • Paid: $79/month (includes 10,000 requests)
  • Additional: $0.008 per request (cheapest per-request rate)

Best for:

  • Screenshotting React/Vue/Angular apps
  • E-commerce sites with dynamic content
  • High-volume screenshot services (100k+ requests/month)
  • Enterprise deployments that need white-glove support

Trade-offs:

  • Most expensive at low volumes ($79/month vs $29 for PageBolt)
  • Limited styling options
  • No video, no MCP integration
  • Setup is more complex

Why pick Urlbox:
If you're screenshotting JavaScript-heavy applications at enterprise scale, Urlbox has the rendering fidelity and support to back it up. Their per-request pricing ($0.008) becomes cheaper than PageBolt ($0.015) above 100k requests/month.


4. Bannerbear — Best for Design Automation

What it does:

  • Screenshot API
  • Dynamic image generation
  • Template-based design automation
  • Built-in image editing

Pricing:

  • Free: 10 requests/month (smallest free tier)
  • Paid: $99/month (includes 5,000 requests)
  • Additional: $0.02 per request

Best for:

  • Dynamic social card generation
  • Template-based image creation (Instagram posts, email banners)
  • Design automation workflows
  • Marketing teams who need programmatic image creation

Trade-offs:

  • Expensive ($99/month base)
  • Smallest free tier (10 requests)
  • Focused more on design automation than general screenshots
  • Slower API response times

Why it's here:
Bannerbear is different from the others — it's more of a design automation platform than a pure screenshot API. If you're generating dynamic marketing images with templates, it's worth considering. But for straightforward screenshots, it's overkill.


Feature Breakdown

Video Recording (Screenshot + Narration)

PageBolt only. You define browser steps, PageBolt records them with AI-narrated voiceover synced to each action. Result: MP4 with professional narration.

const video = await pagebolt.recordVideo({
  steps: [
    { action: "navigate", url: "https://example.com", note: "Load homepage" },
    { action: "click", selector: "#signup", note: "Click signup button" },
    { action: "screenshot", note: "Form loaded" }
  ],
  audioGuide: { enabled: true, voice: "ava" }
});
// Returns MP4 with narration
Enter fullscreen mode Exit fullscreen mode

Use case: Record feature demos for PRs, auto-generate tutorial videos, create product walkthroughs.

MCP Server Integration

PageBolt only. If you use Claude, Cursor, or Windsurf, PageBolt's tools are native.

User: "Take a screenshot of pagebolt.dev with a macOS frame"
Claude: [calls take_screenshot via MCP natively]
Result: Screenshot with frame, in the chat
Enter fullscreen mode Exit fullscreen mode

No API keys in prompts. No custom scripts. Just works.

Styled Screenshots

PageBolt and ScreenshotOne only. Frames, backgrounds, shadows, rounded corners.

PageBolt:

{ style: { frame: "macos", background: "ocean", shadow: "lg", padding: 40 } }
Enter fullscreen mode Exit fullscreen mode

ScreenshotOne:

{ css: ".screenshot { border-radius: 12px; }" }
Enter fullscreen mode Exit fullscreen mode

Bannerbear has design templates but not simple styling like PageBolt.

Page Inspection

PageBolt only. Returns all interactive elements with CSS selectors.

const inspection = await pagebolt.inspectPage({ url });
// Returns: buttons, inputs, forms, links, headings with selectors
Enter fullscreen mode Exit fullscreen mode

Use case: Building browser automation tools, analyzing competitor websites.


Decision Framework

Are you building AI agents or using Claude/Cursor?
PageBolt. MCP integration is unique and saves setup time.

Do you need narrated demo videos?
PageBolt. No other service offers this.

Are you just taking basic screenshots?
ScreenshotOne. Simplest, battle-tested.

Are you screenshotting JavaScript-heavy SPAs at scale?
Urlbox. Best rendering fidelity for complex sites.

Are you generating dynamic marketing images?
Bannerbear. Built for design automation.

Do you want styled screenshots without post-processing?
PageBolt. Frames, backgrounds, themes built-in.

Do you need the absolute cheapest per-request rate?
Urlbox. At 100k+ requests/month, $0.008 beats everyone else.


Real-World Pricing at Different Volumes

100 screenshots/month

Service Cost
PageBolt $29 (free tier covers it)
ScreenshotOne $29 (free tier covers it)
Urlbox $29 (free tier covers it)
Bannerbear $99 (10 free + pay for rest)

Winner: PageBolt, ScreenshotOne, or Urlbox (tie)

1,000 screenshots/month

Service Cost
PageBolt $29
ScreenshotOne $49
Urlbox $79
Bannerbear $99

Winner: PageBolt

10,000 screenshots/month

Service Cost
PageBolt $29
ScreenshotOne $49
Urlbox $79
Bannerbear $99

Winner: PageBolt (40% cheaper than second place)

100,000 screenshots/month

Service Cost
PageBolt $29 + $1,275 = $1,304
ScreenshotOne $49 + $948 = $997
Urlbox $79 + $720 = $799
Bannerbear $99 + $1,980 = $2,079

Winner: Urlbox (at massive scale, per-request pricing matters)


Integration Ease

Easiest: PageBolt (5 minutes) — install node-fetch, call API, done.

const response = await fetch('https://api.pagebolt.io/api/v1/screenshot', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer YOUR_KEY' },
  body: JSON.stringify({ url: 'https://example.com' })
});
Enter fullscreen mode Exit fullscreen mode

Simple: ScreenshotOne, Urlbox (10 minutes) — similar pattern, more options.

Moderate: Bannerbear (15 minutes) — more configuration for templates.


The Bottom Line

Choose PageBolt if:

  • You're using Claude/Cursor (MCP integration saves you weeks)
  • You need narrated demo videos (unique feature)
  • You want styled screenshots (frames, backgrounds) without Photoshop
  • You want the cheapest option at typical volumes

Choose ScreenshotOne if:

  • You want simplicity and don't need fancy features
  • You trust battle-tested, proven infrastructure
  • Your team values clear documentation

Choose Urlbox if:

  • You're screenshotting complex JavaScript apps
  • You're at enterprise scale (100k+ requests/month)
  • You need dedicated support and SLA guarantees

Choose Bannerbear if:

  • You're doing template-based design automation
  • You're generating dynamic marketing images
  • Simple screenshots are just one part of a larger design platform need

Try Before You Commit

All four offer free tiers. Test them with your actual use cases:

  1. PageBolt: 100 requests/month — pagebolt.dev/pricing
  2. ScreenshotOne: 100 requests/month — screenshotone.com
  3. Urlbox: 100 requests/month — urlbox.io
  4. Bannerbear: 10 requests/month — bannerbear.com

Spend 30 minutes testing each. See which API feels best. Pick the one that saves you the most time.


Ready to get started? Sign up for PageBolt free — 100 requests/month, no credit card, no setup fees.

Top comments (0)