Blog / 46 articles
Notes from building a screenshot API
Fixes for headless Chrome errors I ran into, guides for tricky pages and what it takes to run screenshots in production.
Ruby Screenshots with Selenium vs Ferrum — Setup, Code, and Trade-offs
Ruby doesn't ship with a browser rendering engine, so taking website screenshots requires an external tool. This article covers three approa...
Playwright vs Puppeteer vs API: 3 Ways to Generate a PDF from a URL
Generating PDFs from live web pages sounds simple until you try it. Here's how to do it with Playwright, Puppeteer, and a screenshot API, wi...
Debug Dark Mode Rendering in Playwright and Puppeteer
Most websites now support dark mode through prefers-color-scheme. Here's how to capture screenshots in dark mode using Playwright, Puppeteer...
Making headless Chromium look human: 10 stealth patches I ship in production
About a third of the sites I tried to screenshot returned a Cloudflare challenge page. Here are the ten stealth patches I now ship inside sc...
How I hide cookie banners, ads and chat widgets in screenshots
Last month a cookie banner ate 40% of my screenshot. Here's the three-layer approach I built to block cookie dialogs, chat widgets and ads b...
How to take a website screenshot with Java (Selenium & Playwright)
I kept putting off the Java tutorial because I expected mountains of boilerplate. Turns out Java's built-in HttpClient makes API calls almos...
How to Pass Cookies and Auth Headers to a Screenshot API
I kept running into the same problem — send a dashboard URL to a screenshot API, get back a picture of the login form. Turns out, passing a...
Screenshot API vs Puppeteer/Playwright: when to build and when to buy
I built both sides of this equation — a Playwright renderer and a screenshot API on top of it. Most "build vs buy" articles are written by A...
Full-page screenshots and lazy loading: why your captures come out blank and how to fix it
Lazy loading breaks automated full-page screenshots because headless browsers do not scroll. Working fixes for Playwright and Puppeteer with...
Responsive Testing: Capture Any Device Viewport
How to capture mobile and tablet screenshots of any website with a screenshot API. Correct viewport sizes for iPhone, iPad, and Android, the...
Capturing Screenshots with chromedp in Go: Full Guide
Learn how to capture website screenshots with Go using two approaches: chromedp for local browser automation and a screenshot API for produc...
How to take a screenshot of a specific element on a web page
Sometimes you don't need a screenshot of the entire page — just one element. A pricing table, a chart, a widget. Here's how to capture a spe...
Screenshot API in a few clicks
Free plan includes 200 screenshots every month. No credit card required.
Sign up → copy your key → make your first call