What Is AI-Ready Web Data?

AI-ready data is data a model can use without human cleanup. The real definition, where web pages fail it, and the token math from one real article.

MMotherlode Lab7 min read
Magpie title card: What Is AI-Ready Web Data?, over a 200 OK storefront response

AI-ready data is data an AI system can use directly, with no human cleanup between collection and model input. That is the whole definition. The vendor glossaries pad it from there, and the padding starts to matter the moment your source is the web, because a web page is the opposite of AI-ready. A 400 KB HTML file where the article you actually want is 376 words: I fetched one today and counted. Feeding the raw HTML to a model costs about 98,000 tokens. Handing over the extracted article costs about 550. Same information, roughly 180 times the price.

This page defines the term properly, shows where web pages fail it, and ends with a measurement you can run against your own pipeline.

What the vendors mean

The enterprise definitions converge on three ideas: quality, governance, access. IBM calls AI-ready data “high-quality, accessible and trusted information that enterprises can confidently use for artificial intelligence”. Denodo says data that “can be immediately used by an AI application”, accurate and current, inside your governance policies. Alteryx adds the sharpest clause: prepared “for a specific AI use case”. That last one is the important one. Readiness attaches to the job, not the data. The same pile of pages can be perfectly AI-ready for a support chatbot and useless for fine-tuning.

Gartner’s position is that these requirements differ enough from traditional data management that leaders have to prove readiness initiative by initiative. Not everyone believes the term means anything new. A widely read post on Snowflake’s builder blog worked through the Microsoft and AWS definitions (“available, complete, accurate, and high quality”; “high-quality, well-curated, properly governed, accessible, traceable with clear lineage”) and concluded that nothing in them separates AI readiness from the data-quality standards of the last twenty years.

Fair criticism. The term only earns its keep when you make it measurable. For web data, measurable means three things you can count: tokens, structure, freshness.

The token tax, measured

Here is one article from The Verge, fetched on 2026-10-16 from a home connection, run through three states. Extraction by trafilatura 2.3.1, the open-source main-content extractor used across academic corpus work. Token counts are estimates at the standard 4-characters-per-token rate.

State Size ~Tokens Words What the model reads
Raw HTML 392,312 B ~98,000 n/a (markup) markup, JSON blobs, ad slots, nav, scripts
Strip-tags text 8,612 B ~2,150 1,454 the article plus 74% chrome: footer links, related posts, subscribe boxes
Main-content markdown 2,184 B ~546 376 the article, with headings and structure intact

The raw number is the one people don’t believe until they run it. 98,000 tokens is roughly a third of a 300k-token context window, spent on one short news post. Crawl 5,000 pages that way and you’re paying for around 490 million tokens to move about 2.7 million tokens of content.

The middle row is the trap. Stripping tags “fixes” the size problem on paper, but 1,454 words for a 376-word story means the model reads 1,078 words of navigation. That chrome is not neutral filler. Related-post headlines read as facts, a cookie notice as article text. In a RAG system every chunk of boilerplate embeds nearly identically across every page on the site, which is how you end up retrieving the footer.

How web pages fail the AI-ready data test

Six failure modes cover most of it. Each one maps to a requirement you can actually check.

Incomplete fetch. Plenty of modern sites ship a JavaScript shell: the static HTML contains the layout and a placeholder, and the words arrive after the browser runs the code. I measured a Verge article page that served 99 KB of HTML and 373 visible words. “Complete” means the content exists in what you collected, not that the request returned 200.

No main-content boundary. A page does not mark which 20% is the article. Boilerplate removal is the step that finds it, and it is its own discipline with its own failure cases. (Defined separately in boilerplate removal; the how-to lives in extract text from a website.)

Structure stripped. Headings, lists, and tables carry meaning. Flatten a pricing table to plain text and the model reads word soup; keep it as markdown and the columns survive. Whether markdown or HTML is the better context format is its own comparison (markdown vs HTML for LLMs has the measurements), but “structure preserved” is non-negotiable either way.

Chrome repeated on every page. Same nav, same footer, same related-posts block on all 5,000 pages. It costs tokens on every request, pollutes embeddings, and adds nothing. Repeated-content dedupe across a corpus is as much a part of cleanup as boilerplate removal on a page.

Staleness. A snapshot is a date. Product pages change prices, docs change flags, and a model answering from last month’s crawl answers wrongly with total confidence. Freshness requirements differ by use case: a summarizer can tolerate weeks, a pricing agent cannot.

Provenance missing. URL, fetch date, and license, recorded per record rather than in a README somewhere. Provenance is what lets a RAG system cite its sources, and it is what keeps you out of arguments about where a piece of training data came from. The legal baseline is its own page (is web scraping legal).

What to hand the model instead

The pipeline is the same three stages whether you build it or buy it: fetch, clean, extract. The output shape depends on the job:

  • Markdown for context. Chatting with a page, summarizing, feeding a coding agent. One page, cleaned, structure preserved.
  • JSON via schema. Pulling fields (prices, dates, author names) at scale. This is where an LLM with a JSON schema beats hand-written selectors on messy sites, and where selectors still win on stable ones; the trade-offs are measured in LLM extraction vs CSS selectors.
  • Chunked and embedded. RAG. Retrieval quality is bounded by chunk quality, which is bounded by everything above: a chunk of footer embeds beautifully and answers nothing.

Magpie does this pipeline locally: scrape returns cleaned markdown with the boilerplate stripped, schema mode extracts JSON fields through whichever LLM provider you point it at, and watch mode flags page changes so staleness gets caught instead of shipped. It’s a desktop CLI, not a hosted API, so it fits when the data should stay on your machine. For the no-code path, scraping a website with ChatGPT shows what the manual version looks like and where it stops scaling.

Five questions people ask next

Is AI-ready data the same as clean data? No. Clean is necessary, not sufficient. AI-ready data also carries structure the model can parse, freshness the use case can trust, and provenance you can cite. A squeaky-clean text dump with no headings and no source URL still fails.

Do RAG pipelines need it? More than chatbots do. Retrieval picks chunks by similarity, so boilerplate chunks compete with content chunks and often win, because footers repeat across pages and look statistically important. Cleanup happens before chunking, or it doesn’t happen.

Is markdown better than HTML for LLMs? Usually. On the specimen article above it came out at 180:1, with structure preserved as a bonus. HTML wins only when the model needs attributes or nesting that markdown flattens. The full token-level comparison is in markdown vs HTML for LLMs.

How do I turn scraped pages into AI-ready data? Fetch completely (render JavaScript if the site needs it), remove boilerplate, keep semantic structure, dedupe repeated chrome across pages, attach URL and date, output markdown or schema-shaped JSON. Every step above has a failure mode worth testing on your target sites.

Does this matter for training, not just context? Training cares about scale, licensing, and provenance more than per-page token counts. A web-scale training set is judged on dedupe and rights; a context window is judged on tokens and structure. “AI-ready” covers both, but the measurements differ.

Where this goes deeper

Run the count on your own target page. Two minutes, no paid tools:

pip install trafilatura
curl -s https://example.com/the-page-you-actually-want -o page.html
python3 -c "
import re, trafilatura
html = open('page.html', encoding='utf-8', errors='ignore').read()
main = trafilatura.extract(html, output_format='markdown') or ''
ratio = len(html) / max(1, len(main))
print(f'raw ~{len(html)//4:,} tokens | clean ~{len(main)//4:,} tokens | {ratio:.0f}x')
"

If the clean number comes back at zero, the page is a JavaScript shell and your pipeline is missing the render step. If the ratio is under 20×, your page is unusually honest and you can skip most of the cleanup argument. Everything between those two numbers is what AI-ready data means for the web: pay tokens for content, not for chrome.

For the broader practice, what data scraping is covers the whole pipeline from collection on up.

Stop renting credits.

One flat price, your machine, your keys.

Download free for Windows, macOS and Linux

Windows · macOS · Linux $49/mo flat, cancel anytime