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.

Fix Puppeteer net::ERR_NAME_NOT_RESOLVED (6 Causes)

Puppeteer "Navigating Frame Was Detached" — Why It Happens and How to Fix It

Chrome isolates cross-origin iframes into separate processes. When those processes swap, Puppeteer loses its frame reference. Here are five...

Puppeteer New Headless vs Old Headless: What Changed and How to Migrate

Chrome split headless mode into two implementations, and Puppeteer changed which one headless: true uses. Here's what broke, why, and how to...

Fix "Could Not Find Expected Browser (Chrome) Locally" in Puppeteer

Puppeteer cannot find Chrome? Fix the "could not find expected browser locally" error in Docker, CI/CD, serverless, monorepos, and local dev...

Fix Puppeteer "Browser Has Disconnected" Error (All Causes)

Why Instagram Breaks Your Screenshots (And How to Fix It with Playwright)

Instagram shows two login popups, triggers React re-renders when you hide them wrong, and locks scrollHeight to the viewport. Three problems...

Fix Failed to Launch the Browser Process in Puppeteer

Every cause of Puppeteer browser launch failures with tested fixes for each environment.

Fix "Page Crashed!" in Puppeteer — Memory, Docker, /dev/shm

Puppeteer throwing "Page crashed!" errors? Trace it to /dev/shm limits, OOM kills, or heavy pages. Concrete fixes for Docker and bare-metal.

Fix Puppeteer net::ERR_ABORTED: causes and solutions

Puppeteer throws net::ERR_ABORTED on downloads, 204 responses, and aborted requests. These are the real causes and code fixes that work in p...

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