Turn Any Rendered Web Page Into Structured Data With the Analyze API

Turn Any Rendered Web Page Into Structured Data With the Analyze API

author

Snapshot Site Team

22 Jul 2026 - 04 Mins read

Raw HTML is a poor description of what a page actually shows. Modern sites assemble their real content client-side — after the JavaScript runs, after the data loads, after the layout settles — so scraping the initial markup often gives you a shell, not the page a visitor sees. The v3/analyze endpoint takes the other route: it renders the page like a browser would, captures it, and hands back a structured payload describing what rendered, in one call.

That payload is the useful part. Instead of a screenshot you then have to look at, you get JSON your code can act on directly.

What Analyze Actually Returns

A single POST to /api/v3/analyze gives you both the capture and structured insights about it:

curl --request POST \
  --url https://api.prod.ss.snapshot-site.com/api/v3/analyze \
  --header 'Content-Type: application/json' \
  --header 'x-snapshotsiteapi-key: YOUR_API_KEY' \
  --data '{
    "url": "https://example.com",
    "format": "png",
    "width": 1280,
    "height": 720,
    "waitForDom": true,
    "enableSummary": true,
    "enableQuality": true
  }'

The response bundles the rendered screenshot with the structured data:

{
  "status": "success",
  "fetchTime": "2026-07-22T09:00:00.000Z",
  "message": "Analysis completed",
  "url": "https://example.com",
  "screenshot": {
    "link": "https://api.prod.ss.snapshot-site.com/screenshots/.../capture.png",
    "width": 1280,
    "height": 720
  },
  "summary": "A concise AI-generated description of what the page contains.",
  "topics": [
    "primary subject",
    "secondary theme",
    "notable detail"
  ],
  "quality": {
    "isBlank": false,
    "hasCaptcha": false,
    "httpStatus": 200,
    "readabilityScore": 60
  },
  "fromCache": true
}

Three fields carry the structured data:

  • summary — an AI-generated description of the rendered page (returned when enableSummary is true).
  • topics — an array of key subjects extracted from the page content.
  • quality — a set of validation signals (returned when enableQuality is true): isBlank flags an empty render, hasCaptcha flags a bot wall, httpStatus reports the response code, and readabilityScore estimates how legible the text is.

That is the shape of the "structured data" here: a fixed, predictable insight payload about the rendered page. It is not a scraper — you don't define your own fields or CSS selectors to pull arbitrary values into a custom schema. Analyze reads the page and returns its structured summary, topics, and quality assessment. If you're deciding between this and the plainer capture endpoints, Snapshot API v1 vs v2 vs v3: Which Endpoint Should You Use? lays out where each one fits.

Render First, Then Read

The reason this beats parsing HTML for so many pages is timing. analyze accepts the same rendering controls as the capture endpoints, so you can make sure the page is fully settled before anything is read from it:

  • waitForDom waits for the DOM to stabilize before capture — useful on data-heavy pages that keep mutating after first paint.
  • delay (0–10 seconds) buys extra time for content that loads late.
  • hideCookie removes common cookie banners so they don't dominate the summary or block content.
  • hide takes comma-separated CSS selectors to strip noise (overlays, chat widgets, promo bars) before the page is read.
  • fullSize captures the whole page rather than just the viewport.

If your target lazy-loads images or animates content into view, the same timing tactics from Waiting for Lazy-Loaded Images and Animations Before Screenshots apply directly — a summary generated from a half-loaded page is a summary of the wrong page.

Three Ways to Put It to Work

Content QA

Point analyze at a page after a deploy and check the quality block before a human ever looks. isBlank: true means the render came back empty — a broken build or a failed data fetch. hasCaptcha: true means a bot wall is intercepting your own monitoring. A low readabilityScore on a page that should be text-rich is a signal that the main content didn't render. These are cheap, automatic gates that catch the failures screenshots alone make you eyeball.

Monitoring

Run analyze on a schedule against pages you care about and store the summary and topics over time. Because the output is text, diffing yesterday's summary against today's surfaces semantic drift — a pricing page that stopped mentioning a plan, a status page whose summary no longer says "all systems operational." Where you need pixel-level change detection instead of meaning-level, pair it with the compare endpoint; Combining Visual Diff and AI Analysis walks through chaining the two so you learn both what changed and whether it matters.

Data extraction pipelines

The JSON response drops straight into a pipeline. Fan out a list of URLs, call analyze on each, and write the summary, topics, and quality fields into a warehouse, a search index, or an embedding store. Because the summary is grounded in the rendered page rather than raw markup, it makes a strong input for downstream AI work — the approach behind Combining Snapshot Site with a Vector Database for Visual RAG.

Integration Paths

You don't have to hand-roll HTTP. The same analyze call is available through every official integration:

  • TypeScript SDKpnpm add @snapshot-site/sdk for Node services and full-stack apps.
  • Python SDKpip install snapshot-site-sdk, a natural fit for batch capture and analysis pipelines.
  • PHP SDKcomposer require snapshot-site/php-sdk for Laravel, Symfony, and WordPress backends.
  • CLIpnpm add -g @snapshot-site/cli for shell workflows and CI jobs.
  • MCP server — the hosted endpoint at https://mcp.snapshot-site.com/mcp (or npx @snapshot-site/mcp locally) lets assistants like Claude and ChatGPT call analyze directly.

Every path sends the same request body and gets back the same structured payload, so you can prototype with the CLI, wire it into a service with an SDK, and expose it to an assistant over MCP without changing how you think about the response.

Turning a rendered page into structured data is one request away, and you can start extracting summaries, topics, and quality signals today with Snapshot Site.

Recent Articles

5 AI-Era Use Cases for a Screenshot API in 2026

5 AI-Era Use Cases for a Screenshot API in 2026

Beyond thumbnails and regression testing — five 2026 use cases where a screenshot API powers AI agents, analyze-driven data pipelines, page-health checks, RAG knowledge bases, and no-code automations....

- 05 Mins read

Subscribe to Snapshot Site API

Snapshot Site is a powerful API that allows you to capture full-page, high-resolution screenshots of any website with pixel-perfect accuracy.
Simply send a URL to the API to generate a complete snapshot — not just the visible area — covering entire web pages, scrolling content, landing pages, blogs, news articles, social media posts, videos, and more.
Designed for developers, designers, marketers, and journalists,
Snapshot Site makes it easy to integrate web page capture into your applications, workflows, and automation tools.

Subscribe Now
bg wave