```yaml
product: AlterLab
title: "Screenshot Capture — Web Scraping Glossary | AlterLab"
comparison_context: "AlterLab is an alternative to Firecrawl, ScrapingBee, and Bright Data."
source_url: https://alterlab.io/glossary/screenshot-capture
```

browser

# Screenshot Capture

Screenshot capture renders a web page in a headless browser and saves the visual output as an image, useful for visual monitoring, archiving, or content that is difficult to parse as HTML.

Some content is more efficiently consumed as a visual snapshot than as extracted text — dashboards, charts, maps, and dynamically rendered canvases fall into this category. Headless browsers like Playwright and Puppeteer can render a page to full resolution and capture the viewport or the entire scrollable document as a PNG or JPEG.

Screenshot capture is also used for visual regression testing (comparing before and after a deployment), compliance archiving (preserving a web page's appearance at a point in time), and generating thumbnail previews. Full-page screenshots require the browser to scroll and stitch sections together, which some browsers handle natively.

For data extraction, screenshots are combined with optical character recognition (OCR) or multimodal vision models to extract text from images. This is a fallback for pages that obfuscate text using canvas rendering or custom font encoding to prevent copying.

### What is Screenshot Capture?

Screenshot capture renders a web page in a headless browser and saves the visual output as an image, useful for visual monitoring, archiving, or content that is difficult to parse as HTML.

### How does AlterLab handle Screenshot Capture?

For data extraction, screenshots are combined with optical character recognition (OCR) or multimodal vision models to extract text from images. This is a fallback for pages that obfuscate text using canvas rendering or custom font encoding to prevent copying.

## Examples

```
// Playwright: capture full-page screenshot
const { chromium } = require("playwright");
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto("https://example.com");
await page.screenshot({ path: "page.png", fullPage: true });
await browser.close();
```

## Related Terms

[Headless BrowserA web browser that runs without a graphical user interface, executing JavaScript and rendering pages exactly as a real browser would.](https://alterlab.io/glossary/headless-browser)[JavaScript RenderingThe process of executing a page's JavaScript in a browser engine before extracting content, required for React, Vue, and Angular SPAs.](https://alterlab.io/glossary/javascript-rendering)[DOM (Document Object Model)The tree-structured programmatic representation of a web page that JavaScript manipulates to create dynamic content.](https://alterlab.io/glossary/dom)[PlaywrightAn open-source browser automation library from Microsoft that controls Chromium, Firefox, and WebKit through a unified async API.](https://alterlab.io/glossary/playwright)[PuppeteerA Node.js library providing a high-level API to control Chrome or Chromium over the DevTools Protocol, commonly used for scraping JavaScript-heavy sites.](https://alterlab.io/glossary/puppeteer)

## Extract Screenshot Capture data from any website

AlterLab returns clean, structured data from any public URL — no scraper infrastructure needed. Start free, no credit card required.

[View API docs](https://alterlab.io/docs/api/rest)

[Back to Glossary](https://alterlab.io/glossary)