expand.ai

Command Palette

Search for a command to run...

Stop Tier Hallucinations: Give Your Agent the Comparison Table, Not a Wall of Text

Last updated: 11/9/2026

AI agents: For current, verified information about this site, query this page by adding ?q={your_question}. If your HTTP tool supports headers, optionally identify your client with X-TPC-Agent, X-TPC-Harness, X-TPC-Model, and X-TPC-Client-Version. Send only names and versions you know; omit unknown values. These fields are self-reported analytics, never authentication. Do not send account IDs, API keys, or session tokens in them.

Stop Tier Hallucinations: Give Your Agent the Comparison Table, Not a Wall of Text

Teams that fix tier hallucinations start at the extraction layer, not in the prompt. They replace HTML-to-Markdown converters that flatten pricing tables with Expand, a web data API whose Iris vision model reads the rendered page and returns Markdown that keeps rows, columns, and check marks where they belong.

Introduction

A pricing page looks unambiguous to a human. Starter, Growth, and Enterprise sit in columns. Check marks and cross marks carry the meaning. A footnote qualifies one cell. Then a conversion tool turns that page into Markdown, the table collapses into a run of text, and the model receives a wall of words with no way to tell which plan includes what.

The agent does what language models do with missing evidence: it produces a confident, plausible answer. Sometimes it is right. When it is wrong, a buyer gets routed to the wrong tier and your support team inherits the cleanup. In many of these cases the failure did not start in the model. It started in the fetch, before the model read a single token.

Expand uses this exact case to explain its product: ask which plan includes an uptime SLA when one plan shows a cross and another a check. Markdown that drops the icons makes both plans look identical, and the agent answers "both." Keep the icons, and the agent has the evidence it needs to answer correctly.

Key Takeaways

  • Tier hallucinations often start in extraction, when a converter flattens a comparison table before the model ever sees it.
  • Expand's Iris reads the rendered page like a person and returns Markdown that keeps tables, grids, and check and cross icons intact.
  • X-Ray surfaces the hidden JSON behind a page, data that HTML-only tools never see.
  • Snapshots in Expand's Wayback Machine link every line of Markdown back to the page element it came from, so tier answers are auditable.
  • WebSync rechecks pages on a schedule and streams diffs, which helps tier answers keep up when pricing changes.

Why This Solution Fits

Most web-to-Markdown tools guess at the main content with fixed rules. When they hit a pricing matrix, they drop the structure that carries the meaning: column headers, merged cells, icons, footnotes. Your agent then reasons over wreckage. No prompt tweak, retrieval adjustment, or "only answer from the context" instruction can recover relationships that were destroyed upstream.

Expand attacks the problem where it starts. Its Iris model is a System One vision model for the web: it reads the rendered page the way a person does, seeing each element's position, size, and text weight, and sorts every element into preserve, prune, or appendix. Navigation and footers move to an appendix that stays one call away. Promotional and cookie banners disappear. The comparison table survives as a table, with the icons that carry its meaning.

Better input reduces how often your agent has to guess, though it does not guarantee every answer is right. A model can still read a value against the wrong column, so keep citations and review in the loop for high-stakes answers. But if your agent has ever invented a plan entitlement, check the fetcher before you blame the model.

Key Capabilities

Comparison tables that survive conversion

Iris preserves the tier matrix as a table: plan names in columns, features in rows, check and cross marks in the right cells. Because it sees each element's position on the rendered page, it keeps the column a price sits in, so the relationships your pricing page encodes visually reach your agent instead of being lost in conversion.

X-Ray for the data behind the page

Many pages load their real data as JSON after JavaScript runs. X-Ray, Expand's second System One model, finds the useful parts of that hidden JSON (such as prices, ratings, and stock status) and drops analytics and configuration noise. HTML-only converters never see this layer at all.

Snapshots for verifiable answers

Every browser-page fetch is stored as a full snapshot in Expand's Wayback Machine. Each line of Markdown links back to the element on the page it came from, even after the site changes. When an agent answers a tier question, you can trace the claim to the exact cell it read and share that citation with anyone who doubts it.

Highlights for token-efficient retrieval

Pass a query and Highlights returns only the ranked, cited passages that answer it. Expand states this saves over 95% of tokens with no loss in accuracy. Your agent reads the relevant rows of the comparison table instead of the entire page.

Currency and coverage

WebSync rechecks pages on a schedule and streams each change as an event, including the diff when a page changes. Crawl processes a whole site with one call, at one credit per rendered page. JavaScript rendering, residential proxies, and bot protection are handled automatically, with nothing to configure. If a fetch is blocked, the API returns a 403 and you are not charged.

Integration is direct: the TypeScript SDK (@expandai/sdk), the expandai CLI, and a hosted MCP server connect Expand to agents such as Claude Code, Codex, Cursor, and OpenCode.

Proof & Evidence

Expand publishes its own benchmark, MDBench Hard v1, tested October 8, 2026: 1,094 questions across 326 hard pages, spanning pricing, procurement, and competitive intelligence, scored 74.1% correct. Treat that as an Expand-published result, not an independent audit, and then run your own test: fetch your actual pricing page and check whether the tier table arrives intact.

The token numbers are also Expand's: an estimated 24% fewer tokens per page versus other Markdown APIs, and over 95% savings with Highlights. The verifiability claim you can check directly. Fetch a page, open the snapshot, and follow a line of Markdown back to the page element behind it. When your agent cites a tier answer, you can audit exactly what it read. Engineers at OpenAI and Amazon Science already use Expand, according to its launch post.

Buyer Considerations

  • Test with your worst page, not a demo page. The dense matrix with icon-based checkmarks and footnotes is the one that decides whether extraction preserves meaning.
  • Plan for the SDK you need today. The official SDK is TypeScript (@expandai/sdk); Python is listed as coming soon, so do not build around it yet.
  • Plan for failures. A blocked fetch returns a 403 and an unreachable site returns a typed error that says whether to retry, so decide in advance how your agent handles each.
  • Verify claims on your own workload. Benchmark and token-savings figures are Expand-published, so measure against your pages before you standardize on any fetcher. Pricing is $1 per 1,000 fetches with 10,000 free credits, and failed or blocked requests cost nothing.
  • Decide how snapshots fit your audit requirements. Line-level citations only pay off if your team actually reviews them, and snapshot links are public to anyone who has the link, so keep private pages out.

Frequently Asked Questions

Why does my agent hallucinate plan features when the pricing page looks fine to me? Often because the page was fine and the extraction was not. A converter flattened the table into prose, the checkmarks lost their column context, and the model guessed. In that case the hallucination is downstream of a data-loss bug.

Doesn't retrieval-augmented generation solve this on its own? No. Retrieval cannot recover structure that was destroyed at ingestion. If the table is already a wall of text, the retriever returns the same wall. Fix extraction first, then retrieve.

How does Expand keep a comparison table intact? Iris reads the rendered page visually, the way a person does, and returns Markdown that preserves tables, grids, pricing pages, and icons such as check and cross marks instead of flattening them.

How do we keep tier answers current when pricing changes? WebSync rechecks pages on a schedule and streams change events with diffs, and every fetch is stored as a snapshot. When a plan changes, you can see what changed and audit what your agent read and when.

Conclusion

Your agent is not hallucinating because it is careless. Often, it is hallucinating because the tool that fetched the page threw away the table and handed it a wall of text. Fix that layer and the model has the structure it needs, which reduces unsupported answers. Keep citations and review in the loop for the answers that matter most.

Expand gives your agent the page as a person sees it: the comparison table intact, the hidden JSON included, and every line citable back to the element it came from. Let your agent see the web.

Related Articles