Skip to content

11 Years of Screenshot APIs: From Browshot, Blitapp & Thumbalizr to ScreenshotCenter

We spent 11 years building, running, and learning from three different screenshot API products. Here is everything we carried forward — and why no other service matches the feature depth we packed into ScreenshotCenter.

Where it started

In 2013 we launched Browshot — one of the first screenshot-as-a-service APIs. The promise was simple: send a URL, get a screenshot. No browser setup, no proxy management, no Puppeteer configuration. Just an API call.

Browshot ran for years and processed tens of millions of screenshots. We learned an enormous amount: which parameters customers actually used, which failure modes hurt them the most, and which features they asked for over and over.

While Browshot was growing, we also built Blitapp — a scheduled screenshot tool aimed at teams doing visual regression monitoring. Blitapp clients needed predictable timing, change detection, and the ability to track a page's appearance over time. That pushed us deep into timing controls, delay tuning, and managing the state of complex single-page apps.

Alongside those two, Thumbalizr focused on thumbnail generation at scale. Customers wanted images at exact pixel dimensions, fast, for embedding in web apps and CMS previews. That forced us to get serious about output formats, resizing pipelines, and consistent rendering across hundreds of domains with different viewport assumptions.

What we learned from running three products

After more than a decade, a pattern became clear: every product had pieces the others lacked. Browshot had the best raw API flexibility. Blitapp had the best timing and scheduling ergonomics. Thumbalizr had the best output pipeline. Customers using all three were effectively building their own integration layer to get a complete solution.

We decided to build that complete solution ourselves.

Building ScreenshotCenter from everything we knew

ScreenshotCenter is not a rewrite for the sake of it. Every feature in the product maps directly to a pain point we watched customers hit across those three services. Here is a tour of what we built — and why we built it.

Country and region routing

One of the most-requested features across all three products. Customers needed to verify how a page looks for visitors in Germany, Japan, or Brazil — not just from a US server. ScreenshotCenter routes every request through a browser worker in the country you specify. More than 30 countries are available, and private clients can be placed in any region you need.

Browser choice

Browshot supported multiple browsers but managing them was painful. ScreenshotCenter abstracts this cleanly: choose Chrome, Firefox, or another Chromium variant per request. The same URL can be captured in multiple browsers in a single batch.

Full viewport and dimension control

Thumbalizr taught us that customers have very specific pixel requirements. ScreenshotCenter lets you set screen width, screen height, and device pixel ratio independently. You can also cap the maximum captured height for pages with infinite scroll, and pre-select from common size presets (1280 × 800, 1920 × 1080, and more).

Ad and popup blocking

Every monitoring tool built on Browshot eventually asked for this. Cookie consent banners and ad overlays ruin visual regression tests. ScreenshotCenter includes built-in popup suppression and ad blocking at the browser level, not as a post-processing step.

Precise timing controls

Blitapp's hardest problem was knowing when a page was "done". ScreenshotCenter exposes every knob: a configurable render delay, a maximum wait time, strict SSL validation toggle, and a caching layer so repeated requests to the same URL can be served without re-rendering.

Multiple shots and shot intervals

A feature unique to ScreenshotCenter in the API space: request multiple sequential screenshots of the same page in one API call. Combined with shot intervals, this is perfect for capturing animations, carousels, or form validation states without building a polling loop yourself.

PDF generation

The same browser that captures a screenshot can also render a PDF. ScreenshotCenter's PDF output supports page format (A4, Letter, etc.), margins, landscape orientation, background printing, and single-page mode — the full Chrome print API surface, exposed directly in the screenshot request.

Video recording

No other screenshot API offers this at all. ScreenshotCenter can record the page load as a video in WebM or MP4. You control quality (CRF), playback speed, and recording duration. The same retrieval endpoint pattern used for images works for video — poll for completion, then retrieve.

Automation steps

Browshot had a basic click-before-capture feature. ScreenshotCenter replaces it with a full interaction pipeline: click, type, hover, wait, scroll, drag, and select commands — all defined in the request payload. Steps execute in sequence inside the browser before the screenshot is taken. This is how you capture pages behind login flows, modal dialogs, or any dynamic UI state.

CSS selector targeting

Instead of capturing the full viewport, you can pass a CSS selector and capture only that element. The browser scrolls to it, computes its bounding box, and crops the output to exactly that component. Useful for screenshots of product cards, charts, or social share previews.

Device emulation

Choose from a library of device presets (iPhone 15, Pixel 8, iPad Pro, and more) or configure a custom device with exact pixel ratio, touch support, and mobile user-agent. Device landscape mode is also supported. Combined with viewport controls, this covers every mobile rendering scenario.

Locale and geolocation spoofing

Set the browser's Accept-Language header and JavaScript navigator.language to any locale, override the system timezone, and inject a fake GPS position. Essential for testing localised content without routing traffic through a VPN.

Custom HTTP headers, cookies, and POST requests

Pass a custom Referer, User-Agent, session cookie, or arbitrary request headers. Send a POST body instead of a GET to capture form confirmation pages. These features were fragmented across Browshot and never properly surfaced — in ScreenshotCenter they are first-class parameters.

JavaScript injection

Inject external scripts by URL or write inline JavaScript that runs in the page context before the screenshot is taken. Use it to set localStorage values, dismiss modals, seed mock data, or run any arbitrary setup that automation steps cannot handle.

Data trackers

Extract structured values from a page alongside the screenshot. Define a tracker with a CSS selector or a predefined extractor (page rank, domain authority, social counters), and the value is returned in the API response together with the image URL. No extra scraping job required.

App integrations and webhooks

When a screenshot completes, push it directly to Google Drive, Dropbox, OneDrive, Box, SharePoint, AWS S3, any S3-compatible storage (Wasabi, Backblaze, MinIO, Cloudflare R2), Azure Blob, FTP, SFTP, Slack, or a custom webhook. Zapier is also supported for no-code automation. Path templates with variables like {domain}, {yyyy}, and {id} control exactly where files land.

Batch screenshots

Upload a CSV or TSV file with hundreds or thousands of URLs and every parameter override, and ScreenshotCenter processes them as a batch job. Results are collected and served as a ZIP download. Every option available for single screenshots is available in batches — country, browser, device, geo, steps, trackers, everything.

Why no other service matches this

There are other screenshot APIs. Most cover the basics: URL, country, maybe viewport. A few add automation steps. We are not aware of any that offer all of the following in a single API:

  • Multiple sequential shots from one request
  • Video recording output
  • Device emulation with full locale and GPS spoofing
  • Data trackers alongside the image
  • Direct push to 14 storage and notification integrations
  • Batch processing via CSV/TSV with per-row overrides

That breadth is the direct result of 11 years of listening to what customers actually needed — not what sounded good on a features page.

What's next

We are continuing to expand country coverage, add more tracker presets, and improve batch throughput for high-volume customers. The roadmap is driven by customer requests, exactly as it was across Browshot, Blitapp, and Thumbalizr.

If there is a feature you are missing, tell us. We have a track record of building it.