cdpfleet / Pages to text for LLMs
For LLM, RAG and agent builders
Pages your model can read, at a fraction of the tokens.
Render the page in a real browser so scripts run and lazy content loads, then hand the model the right serialisation: an accessibility snapshot when it has to act, plain text when it only reads, typed records when you need data.
- ~28–33%of the HTML as an ARIA snapshot (case 32)
- 5–12%as innerText
- 1 URLhosted MCP for assistants
Pick the serialisation
- ARIA snapshot to act:
locator.ariaSnapshot()keeps every link with its URL, the headings and lists, at about 28% of the HTML on Wikipedia and 33% on a catalogue (case 32). - innerText to read: the smallest by far, 5–12% of the HTML — fine for a summary, useless when the model has to click or follow a link.
- Snapshot the part you need: table layouts repeat text as row and cell names, so a Hacker News
bodysnapshot was 117% of its HTML;page.locator("main")or the list itself cuts tokens more than any format choice. - Typed records for data: one
page.evaluateper page returned all 20 records with prices as numbers and ratings 1–5, validated before they left the page (case 28).
// After page.goto(url): three ways to hand a page to a model.
const forActing = await page.locator('main').ariaSnapshot(); // YAML: roles, names, links
const forReading = await page.locator('main').innerText(); // plain text, smallest
const records = await page.evaluate(() => // typed data, parsed in the page
[...document.querySelectorAll('article')].map((a) => ({
title: a.querySelector('h2, h3')?.textContent.trim(),
url: a.querySelector('a')?.href,
})));For assistants and agents
- Hosted MCP server: add
https://cdpfleet.com/mcpto Claude, ChatGPT, Gemini, Cursor or Claude Code and sign in; itssnapshottool returns the page as an accessibility snapshot,evaluateruns extraction code in the page (MCP setup, example prompts). - Coding agents: skill.md has the launch flow, browsers, limits and errors on one page, and llms.txt indexes every doc — each of our pages also has a Markdown version at the same URL plus
.md. - Hand a page to a person when needed: a live view link lets someone get past a login or a consent step, then the agent carries on.
At volume
- Fewer bytes, faster pages: blocking images on Camoufox took a catalogue page from 30 requests to 10 and from about 7.3 s to 1.6 s (camoufox-block-images recipe); third-party scripts are the bigger lever on news pages (case 08).
- Parallel pages: several tabs in one session share its thread (case 30); several sessions spread across your threads (case 10).
- Be a good guest: read public pages, honour
Retry-After, and back off when a site pushes back (case 53).