{"uid":"cap_wcskLzukIx4SSiwaEy_ew","slug":"serp-extract-agentdiet-dev-semantic-html-pruner-with-bm25-budget-e99deed2","name":"Semantic HTML Pruner 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/semantic-html-pruner)","url":"https://serp-extract.agentdiet.dev/v1/semantic-html-pruner?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_YQ5GE_lrfGbzp37U_NQRC","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 clean Markdown, structured JSON, skeleton outlines, or BM25-focused token-budget excerpts to compress web content for LLM consumption.","exampleAgentPrompt":"Can you distill https://stripe.com/docs/payments into clean markdown and keep it under 2000 tokens, focused on the query 'payment intents' using budget mode?","exampleUseCases":[{"title":"Token-efficient research agent","prompt":"Fetch https://openai.com/research/gpt-4 and distill it into markdown, trimming it to under 1500 tokens focused on the query 'training data and benchmarks' using budget mode — I need it compact for my downstream LLM call."},{"title":"Structured data extraction from product page","prompt":"Take this HTML I'm pasting and distill it into structured JSON tables with all the pricing tiers and feature comparisons — use structured mode so I get clean machine-readable output."},{"title":"Outline skeleton for long documentation page","prompt":"Pull the page at https://docs.aws.amazon.com/lambda/latest/dg/welcome.html and give me just the skeleton outline of its sections and headings — use skeleton mode so I can navigate the structure without loading the whole thing."}],"resultDescription":"Returns a 'data' object containing the distilled content in the requested format (Markdown, structured JSON, skeleton, or BM25 excerpt), an 'roi_proof' object showing raw vs. distilled token counts, tokens saved, compression ratio percentage, ROI multiplier, and estimated LLM cost saved in USD, plus optional cache status (HIT/MISS) and billing details.","failureModes":["URL is unreachable or returns non-200 status — fetch failure error","HTML input is empty or malformed — parse error","max_tokens too low to fit any meaningful content — budget floor error","mode=budget used without a query parameter — missing required field error","Rate limit or payment failure via x402 — 402 Payment Required response","Idempotency-Key collision on concurrent retries — deduplicated response returned"],"whenToPreferThis":"Choose this endpoint when you need to compress web content before passing it to an LLM to reduce token costs and latency, especially when you have a strict token budget or want to focus extraction on a specific topic using BM25 ranking. It is ideal over generic scrapers when you want built-in compression ROI reporting and multiple output modes (markdown, structured, skeleton, budget). Prefer it over raw HTML fetchers when LLM-readability and token efficiency are primary concerns.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:36:02.506Z","isFirstParty":false,"canonicalSlug":"serp-extract-agentdiet-dev-semantic-html-pruner-with-bm25-budget-e99deed2"}