Screenshot any website with one API call
ScreenshotBee renders pixel perfect captures of any URL or raw HTML in a real browser. Full page, any device, clean output. You buy credits once, they never expire, and failed captures cost nothing.
Free trial credits · No credit card · Live in minutes
One request in, one screenshot out
Send a URL or raw HTML with the options you need. We spin up a real browser, wait for the page to settle and return a pixel perfect capture.
curl -X POST \
"https://screenshotbee.com/api/capture-screenshot" \
-H "x-api-key: sb_live_9f2c..." \
-d '{
"url": "https://stripe.com",
"type": "png",
"full_page": true
}'One credit per successful capture. Failed captures are never charged.
Clean captures, exactly as your users see them
Web pages fight screenshots: lazy loading, cookie banners, fonts that load late, layouts that shift. We handle the corner cases so every capture comes back clean.
Full page capture
Scrolls the whole page, triggers lazy loaded content and stitches one seamless image.
Device emulation
Capture how any page renders on real phones, tablets and desktops, retina included.
Hello, world!
</h1>
HTML to screenshot
Send raw HTML and get back an image. Perfect for social cards, invoices and certificates.
Element screenshots
Target a CSS selector and capture just that element, nothing else.
Scheduled screenshots
Monitor pages on a schedule without writing a single cron job.
Wait conditions, timezone control, scroll easing and video recording of the capture are all one parameter away.
Works with your stack
Call it from any language, or skip code entirely with the Zapier integration.
Easy to get started
Sign up, copy your API key and capture your first screenshot in under five minutes.
Private and secure
Your captures belong to you. API access is key scoped and served over HTTPS only.
Real tech support
Questions get answered by the people who build the product, not a bot maze.
replaces your entire capture stack
phones, tablets and desktops ready to emulate
your balance waits for you, forever
One API, a thousand jobs
Wherever a human is taking screenshots by hand, or a Puppeteer script is quietly failing, ScreenshotBee does it better.
Website thumbnails and link previews
Show live previews of any URL inside your product. Directories, portfolio grids and bookmarking tools stay fresh without a browser farm.
Competitor and landing page monitoring
Capture competitor pages on a schedule and watch pricing, messaging and design changes land in your activity feed.
Compliance archiving and evidence
Archive ads, disclosures and published pages with timestamps. When someone asks what a page said last March, you have the receipt.
Product pages at scale
Screenshot thousands of product listings for price tracking and catalog audits. Batch friendly rate limits keep big jobs moving.
Social cards and OG images
Render Open Graph images, certificates and dynamic graphics from your own HTML templates. One template, thousands of unique images.
Always current documentation
Regenerate the screenshots in your docs automatically so they never drift out of date after a release.
Client reporting for agencies
Deliver visual proof of published campaigns and page changes to clients without anyone taking screenshots by hand.
Visual regression testing
Capture the same pages on every deploy and diff them to catch layout breaks before your users do.
Retire your self built screenshot system
Running Puppeteer in production means sandbox flags, memory leaks, zombie processes and Chrome updates at 2am. Teams replace all of it with one HTTP request and get their week back.
const browser = await puppeteer.launch({
args: ["--no-sandbox", "--disable-gpu"],
});
const page = await browser.newPage();
await page.setViewport({ width: 1440, height: 900 });
await page.goto(url, { waitUntil: "networkidle0" });
// dismiss cookie banners...
// scroll to trigger lazy loading...
// wait for fonts and animations...
// retry on timeout, handle crashes...
// scale it, patch Chrome, repeat forever
const buffer = await page.screenshot({ fullPage: true });
await browser.close();POST /api/capture-screenshot
{ "url": "https://example.com", "full_page": true }From signup to screenshot in minutes
Create your free account
Sign up and your API key is waiting in the dashboard, with free trial credits already loaded. No credit card, no sales call.
Send one request
Post a URL or raw HTML with the options you need: format, viewport, device, full page, wait conditions. Most teams are live in under ten minutes.
Get a pixel perfect image back
A real browser renders the page, we handle the corner cases, and you get a clean capture back. Only successful screenshots use a credit.
Pay once. Screenshot whenever.
Most screenshot APIs sell subscriptions, gate features by tier and delete your unused quota every month. We sell credits at $10 per 1,000 screenshots, and we keep four promises.
Credits never expire
Buy 1,000 screenshots today, use the last one in two years. Nothing resets, nothing vanishes at month end.
Failed captures are free
A credit is only spent when we deliver a screenshot. Errors, timeouts and blocked pages cost you nothing.
No feature gating
Full page, devices, HTML rendering, scheduling, everything works on every credit. There is no premium tier hiding the good parts.
No monthly bill
Screenshot workloads are bursty. Pay for the burst, pay nothing for the quiet months in between.
Frequently asked questions
Have a question that is not answered here? Reach out from the support page and a human will reply.
Create a free account, copy your API key from the dashboard and send your first request. New accounts come with free trial credits, so there is nothing to pay and no card to enter. Most teams capture their first screenshot in under ten minutes.
Ready to capture? Start today with free credits.
Ship screenshots into your product this afternoon and only pay for what you actually use.
Get your API keyNo credit card requiredScreenshot APIs, explained
New to automated screenshots? Here is what a screenshot API does and why teams stop rolling their own.
What is a screenshot API?
A screenshot API is a web service that turns a URL or a block of HTML into an image through a single HTTP request. Instead of installing headless browsers, managing Chrome versions and handling timeouts yourself, you send a request and receive a rendered PNG, JPEG or PDF back. ScreenshotBee runs real browsers behind the API, so pages render exactly the way your users see them, web fonts, JavaScript frameworks and lazy loaded content included.
From URL to image, or HTML to image
Point the API at any public URL to capture a live page, or send raw HTML to render your own templates into images. The HTML to image workflow powers Open Graph images, social cards, certificates, invoices and any graphic you want to generate programmatically. Both paths support full page capture, custom viewports, device emulation and element level screenshots through a CSS selector.
Automated screenshots on a schedule
Screenshot automation should not require a cron server. Schedules built into the dashboard capture any page hourly, daily, weekly or monthly and store the history in your activity feed. Teams use scheduled captures for website archiving, competitor monitoring, compliance records and visual regression checks after every deploy.
Built for production workloads
Every capture runs in an isolated browser session over HTTPS. Batch jobs move quickly because rate limits are designed for real workloads, not to upsell you a bigger plan. And because billing is pay as you go, scaling from a hundred screenshots to a hundred thousand is a top up, not a contract renegotiation.