{"uid":"cap_uThYzmkSLEdvM4y3Q8We4","slug":"github-audit-agentdiet-dev-agentdiet-clean-html-bm25-budget-59ebb9d5","name":"AgentDiet Clean HTML – BM25 Budget-Controlled Web Distillation","description":"Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://github-audit.agentdiet.dev/v1/clean-html)","url":"https://github-audit.agentdiet.dev/v1/clean-html?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_NmcpfhK4-ipNWL1kLJ2i9","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"github-audit.agentdiet.dev","brandSlug":"github-audit-agentdiet-dev-mpp","brandBaseUrl":"https://github-audit.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches a URL or accepts raw HTML and distills it into compact, agent-ready tokens using BM25 ranking with a strict token budget ceiling","exampleAgentPrompt":"Distill https://stripe.com/docs/payments into clean markdown, and use budget mode with the query 'payment intents API' capped at 500 tokens so I can feed it to my LLM without blowing the context window.","exampleUseCases":[{"title":"Focused documentation extraction for agents","prompt":"Grab the Stripe docs at https://stripe.com/docs/api and distill them in budget mode with the query 'webhooks' and a max of 300 tokens — I only need the webhook-relevant parts for my agent."},{"title":"Clean up raw HTML before LLM processing","prompt":"I've got a raw HTML blob from a scraped product page — can you distill it into structured markdown so I can pass just the clean content to my LLM?"},{"title":"Skeleton outline of a long article","prompt":"Fetch https://en.wikipedia.org/wiki/Large_language_model and give me a skeleton outline of the page structure so I can see the main sections without reading the whole thing."}],"resultDescription":"Returns a JSON object with a 'data' field containing the distilled output (Markdown, structured tables/metadata, skeleton outline, or BM25-ranked excerpt), an 'roi_proof' object showing raw vs. distilled token counts, tokens saved, compression ratio percentage, LLM cost saved in USD, and an ROI multiplier. Optionally includes cache hit/miss status and billing details.","failureModes":["URL is unreachable or returns non-200 status — endpoint cannot fetch the page","max_tokens set below minimum of 20 — validation error","mode=budget used without a query parameter — may return unranked or degraded output","Raw HTML too large — may hit processing limits","Invalid URL format — returns error on malformed URL","Network timeout fetching the target URL","Payment failure via x402 — request blocked if USDC payment not settled"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to process web content but must stay within a token budget, or when BM25 query-focused extraction is needed to surface only the most relevant sections of a long page. Prefer it over generic web scrapers when token cost reduction and ROI proof are important, or when you need multiple output modes (markdown, structured, skeleton, budget) in a single API with built-in x402 micropayment support.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:34:21.208Z","isFirstParty":false,"canonicalSlug":"github-audit-agentdiet-dev-agentdiet-clean-html-bm25-budget-59ebb9d5"}