{"uid":"cap_JdIznT210W-ya1faiv9sk","slug":"sec-intel-agentdiet-dev-spa-web-url-distiller-with-bm25-budget-control-9a26070d","name":"SPA Web URL 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://sec-intel.agentdiet.dev/v1/spa-markdown-reader)","url":"https://sec-intel.agentdiet.dev/v1/spa-markdown-reader?utm_source=zero.xyz","method":"GET","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_sqB25cw8_rYuYUNsioeOS","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"sec-intel.agentdiet.dev","brandSlug":"sec-intel-agentdiet-dev-mpp","brandBaseUrl":"https://sec-intel.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches a webpage URL (or raw HTML) and distills it into compact, agent-ready markdown, structured JSON, skeleton outline, or BM25-focused token budget excerpt","exampleAgentPrompt":"Fetch the Stripe documentation page at https://stripe.com/docs/payments and distill it into compact markdown using budget mode with a focus query on 'payment intents' and a max of 500 tokens.","exampleUseCases":[{"title":"Distill docs page for agent context","prompt":"Grab the content from https://docs.openai.com/api-reference and compress it into markdown so I can fit it into my agent's context window — use budget mode with a 'function calling' focus query and cap it at 800 tokens."},{"title":"Structured data extraction from landing page","prompt":"Fetch https://linear.app and extract it in structured mode so I get tables and metadata about their product features — I want clean JSON, not raw HTML."},{"title":"Skeleton outline of long article","prompt":"Pull the article at https://www.wired.com/story/ai-agents-future-of-software and give me just a skeleton outline so I can see the section headers and key points without reading the whole thing."}],"resultDescription":"Returns a JSON object containing distilled content (markdown text, structured JSON tables/metadata, skeleton outline, or BM25-focused excerpt depending on mode), alongside an ROI proof block showing raw token count, distilled token count, tokens saved, compression ratio percentage, and estimated LLM cost saved in USD. Also includes cache status (HIT/MISS) and billing details.","failureModes":["Invalid or unreachable URL returns fetch error","SPA JavaScript-heavy pages may not render fully without a headless browser","Token budget too low (below 20) returns validation error","Missing required 'url' parameter returns 400 error","BM25 query mode without a query string may return generic result","Rate limiting or payment failure via x402 returns 402 Payment Required"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to read a webpage but must stay within a strict token budget — especially for documentation pages, landing pages, or any URL where raw HTML would be too large for an LLM context window. Prefer this over generic scrapers when token cost savings and compression ratio reporting matter, or when BM25-focused extraction on a specific subtopic is needed. Also suitable for SPA pages that require distillation rather than raw HTML passthrough.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T07:21:11.145Z","isFirstParty":false,"canonicalSlug":"sec-intel-agentdiet-dev-spa-web-url-distiller-with-bm25-budget-control-9a26070d"}