Narrow a Fetch to what matches your query and get ranked, cited snippets instead of the whole document.
Even accurate Markdown can run to thousands of tokens. Your agent costs more, responds more slowly, and answers less accurately. Highlights takes a query and returns only the passages that answer it, ranked and cited, from the Main Markdown, State JSON, and, optionally, the Appendix.
Rendered page
Acme pricing
Every plan starts with a 14-day trial.
Cancel within 30 days for a full refund.
Hidden page script
<script>window.__PRICING__ = { "plans": { "pro": { "seats": 10 } } }</script>
| Plan | Price | Seats | | --- | --- | --- | | Pro | $20 | 10 seats |
plans.pro.seats: 10
Whole page: 3,200 tokens · Highlights: 18 tokens
Fetch Highlights runs while a page is fetched. Snapshot Highlights runs on a Snapshot you already have. For each, this table shows what to call on every surface and where the snippets come back:
| Fetch Highlights |
|---|
| Snapshot Highlights |
|---|
| API | /v1/fetch or /v1/fetch/json, with highlights | POST /v1/snapshots/<snapshotId>/highlights |
| TypeScript SDK | fetchJson() or fetch(), with highlights | snapshots.get(), with highlights |
| CLI | expandai fetch --highlights |
Fetch Highlights is a normal Fetch with a Highlights query added. Snapshot Highlights adds the same highlights option to a Snapshot read and takes a snapshotId instead of a URL. Without highlights, a Snapshot read returns its public catalog.
expandai snapshots get --highlights |
| MCP | fetch tool, with highlights | get_snapshot tool, with highlights |
| Results are returned in | data.highlights | highlights |