LYRENTH
DocsPricingBenchmarksIndex statsAboutBlogFor site ownersStatusContact
August 24, 2026 · agents · architecture

Agentic browsers vs crawlers: which one does your agent actually need?

Crawlers read the web so a question can be answered later. Agentic browsers use the web now. Picking the wrong one costs latency, tokens, and access.

Dark split panel: a READ card listing answer a page, compare fifty suppliers, check whether it changed, beside a USE card listing log in, submit the form, place the order.

Two things that look alike are being built at once right now, and the difference between them is worth being precise about, because most teams end up paying for the wrong one.

A crawler reads the web. It fetches a page, turns it into text a model can use, and stores it so a question can be answered later. An agentic browser uses the web. It drives a real browser session: it clicks, fills forms, waits for a modal, compares two prices, completes a checkout. One produces knowledge. The other produces a change in someone else's system.

The reason this matters commercially is that the browser is the more impressive demo and the more expensive habit. It is very easy to reach for a browser session because it obviously works, and then discover you are paying browser prices to read three paragraphs of text.

The test that decides it

Ask what the outcome of the step is.

If the outcome is knowledge, read. "What does this page say about pricing." "Which of these ten suppliers ships to Ireland." "Summarise this documentation." Nothing changes on the far side. You need the text, correctly extracted, and you need it cheaply enough to do it a thousand times.

If the outcome is a state change, use. "Book the appointment." "Submit the form." "Add it to the basket and pay." Something is different afterwards on a system you do not own. That genuinely needs a session, a real browser, and a human's authority behind it.

Most agent products are ninety percent the first thing and ten percent the second. The ten percent is what gets demoed.

What reading through a browser actually costs

Take a concrete page. Here is the Wikipedia article on retrieval-augmented generation, read through the AIDocument API:

curl -s -X POST https://api.lyrenth.com/v1/public/aidocument \
  -H "Content-Type: application/json" \
  -d '{"url":"https://en.wikipedia.org/wiki/Retrieval-augmented_generation"}'

The economics block on that response, measured on 24 August 2026:

"economics": {
  "output_tokens_approx": 14924,
  "raw_html_tokens_approx": 44191,
  "token_savings": 29267,
  "token_savings_percent": 0.662,
  "estimated_cost_usd": {
    "our_output": 0.044772,
    "raw_html": 0.132573,
    "savings": 0.087801
  },
  "pricing_basis": {
    "input_price_per_1k_usd": 0.003,
    "model_class": "mid-tier frontier model class"
  }
}

The raw page is about 44,000 tokens. The readable document is about 15,000. Two thirds of what a browser would hand your model is navigation, scripts, markup and boilerplate that costs money to think about and contributes nothing to the answer.

That is the cost per page, before you have counted the seconds. A browser session has to start, load, execute scripts, and settle before it can tell you anything. A read from an index answers in milliseconds because the work already happened once, for everybody.

The third cost, which is newer

Access rules are tightening. Through 2026 the default posture of the web towards automated traffic has moved from "allow and see" to "declare what you are and we will decide", and the September 15 changes are the clearest example of that turning into infrastructure.

A browser session driven by an agent is, from the far side, unattributed traffic with a real browser fingerprint. It is not obviously a robot and it is not obviously a person. That ambiguity was an advantage in 2024. In 2026 it is the thing that gets you a challenge page, then a block, then an abuse report to your hosting provider.

Reading through an index inverts that. The fetch happens once, from a crawler that identifies itself, publishes its address ranges, and honours the site's own rules. Your product then reads from the index rather than from the site. You are not one more anonymous browser at the door.

That is not only a politeness argument, though it is that too. It is an availability argument: the access you have not asked for is the access you can lose overnight.

What "read" should return

If you are going to read rather than browse, the thing you read should be worth the trip. Handing a model cleaned-up HTML is only a small improvement on handing it HTML.

An AIDocument is one JSON shape for any URL: the markdown a model should actually see, the structure of the page (headings, tables, links), the source trace saying where it came from and when it was fetched, cache truth saying honestly whether the origin was contacted, the structured data the publisher already declared, and the token economics above so you can see what the read cost you.

The structure matters more than people expect. Roughly a tenth of pages carry usable JSON-LD, and when a publisher has already declared that a page is a product with a price, or a recipe with a cook time, an agent that reads that declaration is more reliable than one that infers it from prose. It is the difference between parsing a sentence and reading a field.

A decision table you can actually use

The stepRead or useWhy
Answer a question from a pageReadKnowledge out, nothing changes
Compare fifty productsReadFifty browser sessions is a bill, not a design
Check whether something changedReadFreshness is a property of the index
Log in and download an invoiceUseAuthority and a session are the point
Fill and submit a formUseState change on someone else's system
Extract the whole documentation setReadBulk reading through a browser is the classic mistake

The pattern in real products is a wide read layer and a narrow use layer. Read broadly and cheaply to decide what to do; drive a browser only for the handful of steps that genuinely act.

The hybrid, which is what most products end up as

Say you are building a procurement assistant. It has to find suppliers, compare them, and then place an order.

Finding and comparing is reading. Fifty supplier pages, extracted to text and structure, is fifty cheap reads that can happen in parallel and be cached for the next user who asks a similar question. None of it needs a session, because nothing changes on the supplier's side when you look at their catalogue.

Placing the order is using. One browser session, authenticated as the customer, driving a real checkout. It is slow and expensive and that is fine, because it happens once at the end and it is the step the customer is actually paying for.

Teams that get this backwards build fifty browser sessions to compare prices and then wonder why the feature costs more to run than it earns. The read layer should be wide and cheap. The use layer should be narrow and careful.

Where MCP fits

The reason this is worth writing down now is that the plumbing finally agrees. The Model Context Protocol has become the common way to hand an agent a capability, and that includes the capability to read a URL. It means the read layer does not have to be a bespoke integration in every framework you try: it is a tool the agent already knows how to call.

If you are wiring this up, the quickstart is one call, and the same read is available as an MCP tool for agent frameworks that prefer it. We wrote separately about what an index actually promises about freshness, which is the question that decides whether reading from one is safe for your use case.

The short version

Use a browser when the agent has to act. Read from an index when the agent has to know. Reading is cheaper by roughly two thirds on tokens for a typical page, faster by orders of magnitude, and it does not spend access you cannot get back.

The impressive demo is the agent that books the flight. The product that survives contact with a thousand users is mostly the boring half that reads.

All postsRead a URL in 5 minutes