{"uid":"cap_jToVzfiUubGGouEEpM-Hz","slug":"llms-generator-agentdiet-dev-spa-markdown-reader-url-html-distiller-0caacf62","name":"SPA Markdown Reader — URL/HTML Distiller with BM25 Budget Control","description":"Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://llms-generator.agentdiet.dev/v1/spa-markdown-reader)","url":"https://llms-generator.agentdiet.dev/v1/spa-markdown-reader?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","minLength":1,"description":"Target webpage URL to fetch and distill (or builtin://stripe-docs)"},"html":{"type":"string","description":"Optional raw HTML string to distill directly without fetching"},"mode":{"enum":["markdown","structured","skeleton","budget"],"type":"string","default":"markdown","description":"Distillation mode"},"query":{"type":"string","description":"BM25 focus query when mode=budget"},"max_tokens":{"type":"integer","minimum":20,"description":"Strict token budget ceiling when mode=budget"}}},"responseSchema":{"type":"object","required":["status","roi_proof","data"],"properties":{"data":{"type":"object","description":"Distilled Markdown, structured JSON tables/metadata, skeleton outline, or BM25 budget excerpt."},"cache":{"type":"object","properties":{"status":{"enum":["HIT","MISS"],"type":"string"},"cache_key":{"type":"string"},"latency_ms":{"type":"number"}}},"status":{"type":"string","description":"Execution status ('ok')"},"billing":{"type":"object","properties":{"agent_id":{"type":"string"},"payment_method":{"type":"string"},"fee_charged_usd":{"type":"number"}}},"roi_proof":{"type":"object","properties":{"raw_tokens":{"type":"integer"},"tokens_saved":{"type":"integer"},"roi_multiplier":{"type":"number"},"distilled_tokens":{"type":"integer"},"llm_cost_saved_usd":{"type":"number"},"compression_ratio_pct":{"type":"number"}}}}},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"0.001","displayCostAsset":"USD","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"mpp","network":"tempo","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"mpp","network":"tempo","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_190jZ8l8qSmgaxtmpQrIz","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"llms-generator.agentdiet.dev","brandSlug":"llms-generator-agentdiet-dev-mpp","brandBaseUrl":"https://llms-generator.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches a URL or accepts raw HTML and distills it into clean Markdown, structured JSON, skeleton outline, or a BM25-focused token-budgeted excerpt","exampleAgentPrompt":"Distill the content at https://stripe.com/docs/payments into clean markdown, but keep it under 800 tokens and focus on the topic of payment intents.","exampleUseCases":[{"title":"Token-budget research digest","prompt":"Grab the article at https://techcrunch.com/2025/05/ai-agents-future and distill it into markdown focused on the query 'agent infrastructure' — cap it at 500 tokens so it fits in my context window."},{"title":"Structured data extraction from e-commerce page","prompt":"Take this raw HTML from an Amazon product page and distill it into structured JSON tables with the product title, price, and specs extracted cleanly."},{"title":"Documentation skeleton outline","prompt":"Fetch https://docs.openai.com/api-reference and give me a skeleton outline of the page structure so I can understand the top-level sections without reading the whole thing."}],"resultDescription":"Returns a JSON object with a 'data' field containing the distilled content (Markdown text, structured JSON tables, skeleton outline, or BM25-excerpted text depending on mode), plus an 'roi_proof' object showing raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, roi_multiplier, and llm_cost_saved_usd. Also includes optional cache hit/miss status and billing details.","failureModes":["URL is unreachable or returns non-200 status — endpoint may return an error status","JavaScript-heavy SPA content may not render if fetch cannot execute client-side JS","mode=budget without a query or max_tokens may return unfiltered output","HTML input is empty or malformed — distillation returns minimal content","Token budget too low (below 20) — rejected by schema validation","Rate limiting or payment failure via x402 — call blocked until payment resolved"],"whenToPreferThis":"Choose this endpoint when you need to feed live web content to an LLM and want to minimize token consumption — especially when you have a specific query focus (use mode=budget with a BM25 query) or need structured extraction from messy HTML. It is superior to raw web scraping for LLM pipelines because it returns compression ROI metrics alongside the content. Prefer it over generic scrapers when you need Markdown, structured JSON tables, or skeleton outlines rather than raw HTML. The built-in token budget ceiling (max_tokens) makes it ideal for agents with tight context windows.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:37:14.403Z","isFirstParty":false,"canonicalSlug":"llms-generator-agentdiet-dev-spa-markdown-reader-url-html-distiller-0caacf62"}