{"uid":"cap_4ZHLX0A07WuD8BMQ0vdnb","slug":"serp-extract-agentdiet-dev-webpage-distiller-with-bm25-budget-control-fea33bd0","name":"Webpage 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://serp-extract.agentdiet.dev/v1/webpage-distiller)","url":"https://serp-extract.agentdiet.dev/v1/webpage-distiller?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_ogRTyXg7f9IWbZw5-jTkj","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"serp-extract.agentdiet.dev","brandSlug":"serp-extract-agentdiet-dev-mpp","brandBaseUrl":"https://serp-extract.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches and distills a URL or raw HTML into Markdown, structured JSON, a skeleton outline, or a BM25-ranked token-budget excerpt","exampleAgentPrompt":"Can you distill this URL into clean markdown and keep it under 800 tokens, focused on anything about pricing? https://example.com/product — use budget mode with that token ceiling.","exampleUseCases":[{"title":"Token-efficient research summarization","prompt":"Fetch and distill https://openai.com/pricing into markdown so I can compare their model prices — keep it tight, no more than 500 tokens, and focus the BM25 budget on 'API pricing per token'."},{"title":"Structured data extraction from article","prompt":"Take this webpage https://techcrunch.com/2024/05/01/some-article and distill it into structured JSON with any tables, metadata, and key facts — I need it in structured mode."},{"title":"Skeleton outline for long documentation page","prompt":"Give me a skeleton outline of https://docs.stripe.com/api so I can see the high-level structure without reading the whole thing — use skeleton mode."}],"resultDescription":"Returns a JSON object with a 'data' field containing the distilled content (Markdown text, structured JSON with tables/metadata, a skeleton outline, or a BM25-ranked excerpt), plus an 'roi_proof' object showing raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, and llm_cost_saved_usd. Also includes cache status (HIT/MISS) and billing details.","failureModes":["URL is unreachable or returns non-200 — fetch failure error","HTML payload is empty or malformed — parsing error","mode=budget used without a query parameter — missing required field error","max_tokens set below minimum of 20 — validation error","Rate limit or payment failure via x402 — 402 Payment Required","Target page is JavaScript-rendered and content is not in static HTML — empty or incomplete distillation","Idempotency-Key collision on a different payload — conflict error"],"whenToPreferThis":"Choose this endpoint when you need to reduce LLM context costs by compressing webpage content before passing it to a model, especially when you have a token budget constraint or a specific BM25 focus query. It is superior to raw scraping when you need clean Markdown, structured JSON, or a skeleton outline rather than raw HTML. The ROI proof output makes it ideal for agents that need to justify token savings. Prefer it over generic scraping APIs when you want built-in compression metrics and BM25-ranked relevance filtering.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:37:29.679Z","isFirstParty":false,"canonicalSlug":"serp-extract-agentdiet-dev-webpage-distiller-with-bm25-budget-control-fea33bd0"}