{"uid":"cap_lUnYEU1laSqDSrDkjoJiX","slug":"domain-osint-agentdiet-dev-web-page-html-distillation-with-bm25-c0b211d1","name":"Web Page & HTML Distillation 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://domain-osint.agentdiet.dev/v1/pdf-extract)","url":"https://domain-osint.agentdiet.dev/v1/pdf-extract?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_-X0AEAd26i6nbTvMeXQS9","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"domain-osint.agentdiet.dev","brandSlug":"domain-osint-agentdiet-dev-mpp","brandBaseUrl":"https://domain-osint.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 mode, then give me a BM25-focused budget excerpt about 'payment intents' capped at 500 tokens so I can fit it into my context window efficiently.","exampleUseCases":[{"title":"Token-budget excerpt for LLM grounding","prompt":"Grab the page at https://docs.openai.com/api-reference and give me a BM25 excerpt focused on 'function calling', capped at 300 tokens — I need to stay within my context budget."},{"title":"Clean Markdown from documentation site","prompt":"Fetch https://fastapi.tiangolo.com/tutorial/path-params and distill it into clean markdown — I want to paste the core content into my coding agent without all the HTML clutter."},{"title":"Structured data extraction from raw HTML","prompt":"I have this raw HTML blob from a product listing page — can you distill it in structured mode so I get the tables, metadata, and key fields as JSON rather than prose?"}],"resultDescription":"Returns a status field ('ok'), a data object containing the distilled content in the requested format (Markdown text, structured JSON tables/metadata, skeleton outline, or BM25-ranked excerpt), an roi_proof object showing raw vs distilled token counts, tokens saved, compression ratio percentage, estimated LLM cost saved in USD, and an optional cache object indicating HIT/MISS status and latency.","failureModes":["Missing or unreachable URL returns an error status","mode=budget without a query field may return unranked or full content","max_tokens below minimum (20) causes validation rejection","Raw HTML too large may cause timeout or truncation","Invalid URL format returns a fetch error","BM25 query returning no relevant passages may yield minimal excerpt"],"whenToPreferThis":"Choose this endpoint when you need to feed web page content to an LLM and want to minimize token consumption — especially with mode=budget and a BM25 query to extract only the most relevant passages. Prefer it over generic scrapers when you need compression metrics (ROI proof), structured JSON extraction from HTML tables, or skeleton outlines of long documentation pages. Ideal when you have a strict token budget and need deterministic cost control.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:30:44.361Z","isFirstParty":false,"canonicalSlug":"domain-osint-agentdiet-dev-web-page-html-distillation-with-bm25-c0b211d1"}