{"uid":"cap_6rrGrSw5YL9jpSsHaTnlL","slug":"hn-pulse-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-budget-468caadc","name":"URL to Markdown Web 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://hn-pulse.agentdiet.dev/v1/url-to-markdown)","url":"https://hn-pulse.agentdiet.dev/v1/url-to-markdown?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_6qZJgsAnz_QtFY41sqfXM","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 webpage URL (or accepts raw HTML) and distills it into compact, agent-ready Markdown, structured JSON, skeleton outline, or BM25-focused budget excerpt with token compression metrics.","exampleAgentPrompt":"Fetch https://stripe.com/docs/payments and distill it into compact markdown — use budget mode with a 2000 token ceiling, focusing the BM25 query on 'payment intents'.","exampleUseCases":[{"title":"Token-budget research for LLM context","prompt":"I need to pull in the content from https://openai.com/research/gpt-4 but I only have 1500 tokens of context left — can you distill it in budget mode with the BM25 query 'multimodal capabilities' so I only get the most relevant parts?"},{"title":"Structured data extraction from product page","prompt":"Grab https://aws.amazon.com/ec2/pricing/ and distill it in structured mode so I get the pricing tables as clean JSON I can reason over."},{"title":"Skeleton outline of documentation site","prompt":"Get me a skeleton outline of https://docs.github.com/en/actions so I can quickly understand the overall structure of the Actions documentation without reading the whole thing."}],"resultDescription":"Returns a 'data' object containing the distilled content in the requested format (Markdown text, structured JSON tables/metadata, skeleton outline, or BM25-focused excerpt), along with ROI proof metrics (raw token count, distilled token count, tokens saved, compression ratio percentage, estimated LLM cost saved in USD), optional cache status (HIT/MISS with latency), and billing info (fee charged in USD, agent ID, payment method).","failureModes":["Invalid or unreachable URL returns an error status","URL blocked by robots.txt or anti-scraping measures may return empty or partial content","max_tokens set below 20 is rejected by schema validation","mode=budget without a query may produce suboptimal BM25 results","Raw HTML too large may exceed processing limits","Payment failure via x402 prevents request execution","Cached responses (HIT) may be stale if the page has updated recently"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to read a webpage but must stay within a strict token budget, or when raw HTML is too verbose for direct inclusion in an LLM prompt. Prefer it over generic scrapers when you need built-in compression metrics (tokens saved, ROI multiplier) and multiple output modes including BM25-focused excerpting. Especially valuable in agentic workflows where context window efficiency is critical and you want to pay per-call with micropayments rather than managing a scraping infrastructure.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T07:21:06.916Z","isFirstParty":false,"canonicalSlug":"hn-pulse-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-budget-468caadc"}