{"uid":"cap_5_GpIXtvi38cSdWksnp4D","slug":"hn-pulse-agentdiet-dev-web-url-to-compact-markdown-distiller-bm25-ca9ab129","name":"Web URL to Compact Markdown Distiller (BM25 Budget Control)","description":"Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://hn-pulse.agentdiet.dev/v1/spa-markdown-reader)","url":"https://hn-pulse.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_Q95TOMHZoHqCS2FfBn2Ek","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"hn-pulse.agentdiet.dev","brandSlug":"hn-pulse-agentdiet-dev-mpp","brandBaseUrl":"https://hn-pulse.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches a 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 page at https://docs.stripe.com/payments/payment-intents and distill it into compact markdown, keeping it under 2000 tokens and focusing on the BM25 query 'payment confirmation flow'.","exampleUseCases":[{"title":"Summarize documentation within token budget","prompt":"Pull the page at https://platform.openai.com/docs/guides/function-calling and compress it into a BM25-focused excerpt under 1500 tokens, using the query 'how to define tool parameters'."},{"title":"Extract structured data from a web article","prompt":"Fetch https://techcrunch.com/2024/05/01/ai-funding-roundup and distill it into structured JSON tables — I want the companies, amounts raised, and investors listed cleanly."},{"title":"Get a skeleton outline of a long webpage","prompt":"Read https://en.wikipedia.org/wiki/Large_language_model and give me a skeleton outline of its sections so I can decide which parts are worth reading in full."}],"resultDescription":"Returns a JSON object containing distilled content (markdown text, structured JSON tables/metadata, skeleton outline, or BM25 budget-trimmed excerpt depending on mode), an ROI proof block showing raw vs. distilled token counts, compression ratio, and estimated LLM cost saved, plus optional cache hit/miss status and billing details.","failureModes":["URL is unreachable or returns non-200 — endpoint may return an error status","JavaScript-heavy SPA fails to render fully — content may be incomplete","Token budget too low (below 20) — rejected by schema validation","BM25 query provided without mode=budget — query parameter ignored","Raw HTML too large — may exceed server processing limits","Payment not completed (HTTP 402) — call blocked until x402 payment is settled"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to read web content but must stay within a strict context-window or cost budget. It is especially valuable for single-page apps that are hard to scrape with plain HTTP, when BM25-relevance filtering is needed to focus on a specific topic within a long page, or when you want an ROI-auditable compression step before feeding web content to an LLM. Prefer it over generic scrapers when token efficiency and structured distillation modes (markdown, structured, skeleton, budget) are required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T12:51:17.108Z","isFirstParty":false,"canonicalSlug":"hn-pulse-agentdiet-dev-web-url-to-compact-markdown-distiller-bm25-ca9ab129"}