{"uid":"cap_f24RpVWQC4wIjLoJvIyxZ","slug":"agentdiet-dev-agentdiet-web-distill-bm25-budget-aware-url-html-scraper-314d4d50","name":"AgentDiet Web Distill — BM25 Budget-Aware URL & HTML Scraper","description":"Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://agentdiet.dev/v1/web-scrape)","url":"https://agentdiet.dev/v1/web-scrape?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_RV-mOKUSI4V_nTWGQ00gs","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"agentdiet.dev","brandSlug":"agentdiet-dev-mpp","brandBaseUrl":"https://agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches and distills a URL or raw HTML into compressed Markdown, structured JSON, skeleton outline, or a BM25-ranked token-budget excerpt","exampleAgentPrompt":"Scrape https://stripe.com/docs/api and distill it into a BM25-focused excerpt about payment intents, keeping it under 500 tokens so it fits cleanly into my prompt context.","exampleUseCases":[{"title":"LLM-ready competitor pricing page","prompt":"Fetch https://openai.com/pricing and distill it into clean markdown, stripping ads and nav bars — I want just the pricing tables and plan details to feed into my analysis agent."},{"title":"Token-budget research extraction","prompt":"Pull the content from https://arxiv.org/abs/2406.01234, run it through budget mode with the query 'retrieval augmented generation' and cap the output at 300 tokens so I can include it inline without blowing my context window."},{"title":"Structured data from raw HTML","prompt":"I have a raw HTML blob from an e-commerce product page — distill it in structured mode so I get the metadata, price tables, and specs as clean JSON without me having to parse it manually."}],"resultDescription":"Returns a 'data' object containing the distilled content in the requested format (Markdown text, JSON tables/metadata, skeleton outline, or BM25-ranked excerpt), plus an 'roi_proof' block showing raw vs distilled token counts, compression ratio, tokens saved, and estimated LLM cost saved in USD. Optionally includes billing details and cache hit/miss status with latency.","failureModes":["URL is unreachable or returns non-200 — fetch failure with error status","HTML payload is empty or malformed — distillation returns minimal or empty content","max_tokens set below minimum of 20 — validation error","mode=budget used without a query field — missing required BM25 query error","Payment/x402 auth failure — 402 response if payment is not properly attached","Rate limiting or timeout on slow target pages — latency spike or timeout error"],"whenToPreferThis":"Choose this endpoint when you need to feed web content into an LLM context window efficiently and cost-effectively — especially when token budget is a concern. The BM25 budget mode is uniquely valuable when you have a specific query and want only the most relevant passages from a page rather than the full text. Prefer it over generic scrapers when you need built-in compression ROI metrics, multiple distillation modes (markdown, structured, skeleton, budget), or when working within the agentdiet MCP/A2A ecosystem. It is particularly strong for documentation pages, research papers, and data-rich HTML where token savings matter.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:36:37.880Z","isFirstParty":false,"canonicalSlug":"agentdiet-dev-agentdiet-web-distill-bm25-budget-aware-url-html-scraper-314d4d50"}