Upstash Documentation

Reading Pages

1 min read

There are three ways to get data out of a tab: read the DOM as text, capture a screenshot, or have an AI agent extract structured data against a schema.

Page content#

content() reads the tab's current title, URL, visible text, and links from the real DOM, including JavaScript-rendered content:

Screenshots#

screenshot() captures the tab as a PNG. It works headless, with no display needed. By default you get raw PNG bytes. Ask for base64 if you are passing the image on, for example to an LLM:

Pass fullPage: true to capture the entire scrollable page instead of just the viewport.

Structured extraction#

extract() hands the page to a DOM-aware AI agent and returns data validated against your schema. The schema is a Zod object schema (v3 or v4) in TypeScript, and a pydantic model class or a raw JSON schema dict in Python:

Note

extract uses an LLM and is metered. It needs a provider API key on the box or your account, and accepts an optional model override just like the other AI Actions.

The result is parsed with your schema before it is returned, so a successful call always gives you data in the shape you asked for.