PNG / JPEG / WebP
formatThe primary screenshot output. Full-page or viewport capture at your requested dimensions and pixel density.
Explainer
A screenshot API is a web service that loads any URL in a real browser and returns the rendered output — as an image, PDF, HTML snapshot, or video — via an HTTP request. Capture a single page in seconds, or submit thousands of URLs as a batch job and receive every screenshot automatically. You never run or maintain any browsers yourself.
/screenshot/create— Request a screenshotGET/screenshot/info— Query screenshot statusGET/screenshot/list— List recent screenshotsGET/screenshot/html— Retrieve rendered HTMLGET/screenshot/pdf— Retrieve rendered PDFGET/screenshot/video— Retrieve rendered videoGET/screenshot/thumbnail— Retrieve thumbnail imageGET/screenshot/search— Search screenshots by URLGET/screenshot/delete— Delete screenshot dataThe definition
Every time a screenshot API receives a request, it spins up a headless browser, navigates to your URL, executes all the JavaScript on the page, waits for network activity to settle, and then captures the result. The output — image, PDF, or video — is stored and returned to you via a URL or pushed to your storage.
Unlike a static web scraper, a screenshot API renders the page exactly as a real user would see it in Chrome — including dynamically loaded content, CSS animations, web fonts, third-party widgets, and lazy-loaded images. What you get back is a pixel-accurate representation of the live page.
The API layer adds reliability, scalability, geo-routing, and output format control on top of that rendering — so you submit a job and receive a finished asset, with no browser infrastructure to manage.
When volume is the requirement, the batch API accepts a file of URLs — a sitemap export, a product catalog, an ad network's landing page list — and processes every entry in parallel across a distributed browser fleet. Thousands of screenshots complete in minutes, with automatic retries on failures and a CSV index tracking the status of every URL. Results land directly in your S3 bucket, Google Drive folder, or any other connected storage destination as each capture finishes.
Real browser rendering
Chromium-based engine. JavaScript, CSS, fonts, and dynamic content all execute exactly as in a real browser session.
HTTP request/response
Trigger any capture with a single POST request. No SDK required — curl or any HTTP client works.
Async job model
Jobs are queued and processed asynchronously. Poll for the result, receive a webhook, or use the batch API to submit thousands of URLs in one call.
Elastic scale
A single screenshot completes in seconds. Batch jobs process thousands of URLs in parallel across a distributed browser fleet — no extra configuration.
Multiple output formats
PNG, JPEG, WebP, PDF, raw HTML, MP4, WebM, GIF — all generated from the same rendering pipeline on demand.
Delivery integrations
Push finished assets to S3, Google Drive, Dropbox, Slack, OneDrive, SharePoint, FTP, or your own webhook endpoint.
How it works
POST the target URL plus your capture options — viewport size, country, output format, interaction steps — to the API endpoint. Authentication is via an API key in the request header.
The API spins up a headless Chromium instance, navigates to the URL, executes any JavaScript on the page, runs your automation steps, and waits for the page to reach a stable state.
The browser captures the screenshot at the requested size and format. Companion outputs — PDF, HTML snapshot, or video recording — are generated in the same job if requested.
Poll the job status endpoint until the capture is finished, or receive a webhook notification. Download the assets via URL or have them pushed directly to your storage integration.
Code Example
Submit the job, wait for it to finish, then download or redirect to the output URL. All SDKs wrap the polling loop for you — one waitFor call returns the finished result.
# 1. Request a screenshot
curl -X POST https://api.screenshotcenter.com/v1/screenshot \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"country": "us",
"size": "page",
"format": "png"
}'
# → { "id": 12345, "status": "queued" }
# 2. Poll for the result
curl https://api.screenshotcenter.com/v1/screenshot/12345 \
-H "X-API-KEY: YOUR_API_KEY"
# → { "status": "finished", "screenshot_url": "https://..." }API vs. DIY
Puppeteer and Playwright are great tools for one-off scripts and small internal jobs. But operating browser automation reliably in production — across scale, regions, and failure modes — requires substantial infrastructure work that a screenshot API abstracts away entirely.
| Aspect | Screenshot API | DIY (Puppeteer / Playwright) |
|---|---|---|
| Setup time | ✓Minutes — one API key and an HTTP request | Days to weeks of infrastructure work |
| Browser management | ✓Fully managed — no browser fleet to maintain | You manage updates, crashes, and scaling |
| Geo routing | ✓Built-in — pass a country code per request | Requires a proxy network and custom logic |
| Reliability | ✓Retries, stall detection, and queue-backed jobs | You build and maintain the retry logic |
| Output formats | ✓PNG, JPEG, WebP, PDF, HTML, MP4, WebM, GIF | Whatever you implement — often just PNG |
| Scaling | ✓Elastic — handles traffic spikes automatically | You provision and scale browser workers |
| Storage delivery | ✓Native S3, Google Drive, Dropbox, Slack, and more | You implement each integration yourself |
Building your own pipeline makes sense when you need deep custom control or have very specific constraints. A screenshot API is the right choice when you want reliable, production-grade capture without the maintenance burden.
Capabilities
A basic screenshot API returns an image of a URL. A production-grade one handles geo-routing, authentication, output variants, and direct storage delivery.
Route each capture through a browser in the country of your choice. See exactly what visitors in that region see — localised pricing, language, legal banners, and geo-restricted content.
Country and region routing →
Run click, type, wait, scroll, and screenshot commands before capture. Log into protected pages, dismiss dialogs, trigger chart states, and reach any UI state a real user could.
Page interaction steps →
Block ads and cookie consent banners before capture. Produce clean visual output for monitoring, QA, and archival without distracting overlays dominating the screenshot.
Ad and popup blocking →
Generate full-fidelity PDFs with configurable paper format, orientation, and margins from any URL. Text-searchable output suitable for archiving, reporting, and compliance.
PDF generation →
Record a screencast of the page load and any interaction sequence as MP4, WebM, or GIF. Use it for walkthroughs, before/after evidence, and automated visual testing.
Video recording →
Upload a URL list and capture every page in one job. Full-site archival, product catalog snapshots, and large-scale monitoring runs — with retries and CSV status tracking.
Batch processing →
Output Formats
Request multiple output formats from the same job. The browser renders once; the API produces all requested outputs and returns them together in the job result.
formatThe primary screenshot output. Full-page or viewport capture at your requested dimensions and pixel density.
pdf=trueText-searchable, print-quality PDF with configurable paper format, orientation, and margins.
html=trueThe fully-rendered HTML source of the page after JavaScript execution — useful for content parsing and archival.
video=trueA screencast recording of the page load and interaction sequence. Control quality, duration, and playback speed.
Use Cases
Log into dashboards and portals programmatically before capturing the exact view you need.
See use case →
Upload a URL list and capture thousands of pages in one API call with built-in retries.
See use case →
Crawl an entire site and capture every discovered page — ideal for visual archival and monitoring.
See use case →
Archive screenshots and PDFs of every page for hack recovery, compliance, and audit purposes.
See use case →
Automate screenshot, PDF, and video evidence delivery for client reports on a recurring schedule.
See use case →
Pull structured values — prices, rankings, metrics — alongside the screenshot in one API call.
See use case →
Capture SERP snippets and page renders from 80+ countries to verify meta tags, OG images, and localized content.
See use case →
Produce timestamped, geo-accurate screenshots as legal evidence and compliance audit trails.
See use case →
Monitor competitor pricing from 80+ countries with visual screenshots and extracted price data.
See use case →
Get 500 free captures. No credit card required. Connect your first integration, send your first request, and have a screenshot in your hands in under five minutes.
A screenshot API is a web service that accepts a URL and returns a browser-rendered capture of that page — as an image, PDF, HTML snapshot, or video. It handles browser management, JavaScript execution, and output generation so you don't have to maintain your own browser infrastructure.
A screenshot API is a fully managed service. You send HTTP requests and receive outputs — no browser fleet to install, update, or scale. Puppeteer and Playwright are powerful libraries, but operating them in production requires handling crashes, version updates, memory limits, concurrency, and retries yourself. A screenshot API handles all of that for you.
Yes. The automation steps parameter lets you script the login flow — click the login button, type credentials, submit the form, wait for the page to load — before the screenshot is taken. Alternatively, inject session cookies directly to skip the login form entirely.
Screenshot APIs typically return PNG, JPEG, or WebP images. ScreenshotCenter also supports full-page PDF generation, raw HTML snapshots, and video recordings (MP4, WebM, GIF) — all from the same job.
Yes. ScreenshotCenter routes each request through a browser client in the country you specify. The captured page reflects what a real visitor in that country sees — including localised pricing, language, legal banners, and geo-restricted content.
You can either poll the status endpoint until the job is finished, or configure a webhook URL to receive a POST notification when the capture completes. Outputs can also be pushed directly to S3, Google Drive, Dropbox, Slack, and other integrations.
Yes. The batch API accepts a file of URLs and processes them in parallel with automatic retries. Results are tracked in a CSV index and pushed to your connected storage destination as each capture finishes.
Yes. ScreenshotCenter uses a distributed queue backed by Redis/BullMQ with priority lanes, stall detection, exponential backoff retries, and elastic browser workers. It is designed to handle bursty and high-volume capture workloads reliably.