Features Pricing Docs Blog Try Demo Log In Sign Up
Back to Blog
Vitalii Holben
Author

Vitalii Holben

Articles by Vitalii Holben 33

Convert Any Webpage to PDF with Playwright, Puppeteer, and a Screenshot API

Convert Any Webpage to PDF with Playwright, Puppeteer, and a Screenshot API

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, with code examples, formatting options, and the gotchas I ran into.

Read more →
Capture Dark Mode Screenshots of Any Website (Playwright, Puppeteer, API)

Capture Dark Mode Screenshots of Any Website (Playwright, Puppeteer, API)

Most websites now support dark mode through prefers-color-scheme. Here's how to capture screenshots in dark mode using Playwright, Puppeteer, and a screenshot API — with code examples and edge cases I ran into along the way.

Read more →
Making headless Chromium look human: 10 stealth patches I ship in production

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 screenshotrun to make headless Chromium look like a regular browser, with the actual code and honest notes on what still doesn't work.

Read more →
How I hide cookie banners, ads and chat widgets in screenshots

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 before capturing the image — with the actual Playwright code from screenshotrun's renderer.

Read more →
How to take a website screenshot with Java (Selenium, Playwright, API)

How to take a website screenshot with Java (Selenium, Playwright, API)

I kept putting off the Java tutorial because I expected mountains of boilerplate. Turns out Java's built-in HttpClient makes API calls almost as clean as Python's requests. Here are three ways to capture website screenshots with Java — Selenium, Playwright, and an API — with working code, honest comparison, and a Spring Boot integration example.

Read more →
How to take screenshots of password-protected pages with a screenshot API

How to take screenshots of password-protected pages with 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 session cookie along with the request is all it takes. Here's how I set it up for my own admin panel, with code for cURL, Node.js, and PHP, plus two other auth methods for staging servers and token-protected pages.

Read more →
Screenshot API vs Puppeteer/Playwright: when to build and when to buy

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 API vendors pushing you to buy. This one walks through the real problems (lazy loading, cookie banners, memory, timeouts), gives you honest thresholds for when each approach wins, and lets you decide.

Read more →
Full-page screenshots and lazy loading: why your captures come out blank and how to fix it

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 code examples and real-world edge cases

Read more →
Screenshot any website as it appears on iPhone, iPad, or Android

Screenshot any website as it appears on iPhone, iPad, or Android

How to capture mobile and tablet screenshots of any website with a screenshot API. Correct viewport sizes for iPhone, iPad, and Android, the difference between device=mobile and just setting width, full-page captures, and Node.js code examples.

Read more →
How to Take a Website Screenshot with Go (chromedp, API)

How to Take a Website Screenshot with Go (chromedp, API)

Learn how to capture website screenshots with Go using two approaches: chromedp for local browser automation and a screenshot API for production. Working code, full-page captures, mobile viewports, and honest comparison.

Read more →
How to take a screenshot of a specific element on a web page

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 specific HTML element using a CSS selector with Playwright, Puppeteer, and a screenshot API.

Read more →
How to take website screenshots with cURL (one-line examples)

How to take website screenshots with cURL (one-line examples)

Capture website screenshots straight from your terminal. One-line cURL examples for full-page captures, mobile viewports, dark mode, PDF export, thumbnails, and cookie banner removal — no SDKs, no libraries, just cURL.

Read more →