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:
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:
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.