{"uid":"cap_zwq0jU0FkhYBulAglFZN2","slug":"json-repair-agentdiet-dev-web-url-article-extractor-distiller-20cf2eef","name":"Web URL Article Extractor & Distiller","description":"Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://json-repair.agentdiet.dev/v1/article-extractor)","url":"https://json-repair.agentdiet.dev/v1/article-extractor?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_yLJ-0aymQTtoSJROxCCuT","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"json-repair.agentdiet.dev","brandSlug":"json-repair-agentdiet-dev-mpp","brandBaseUrl":"https://json-repair.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches a webpage URL (or raw HTML) and distills it into compact, agent-ready tokens using BM25 budget control across multiple extraction modes","exampleAgentPrompt":"Can you fetch https://stripe.com/docs/payments and distill it into markdown, keeping it under 2000 tokens using budget mode with the query 'payment intents'?","exampleUseCases":[{"title":"Compress docs page for LLM context","prompt":"Pull the content from https://docs.openai.com/guides/function-calling and distill it into markdown so I can feed it to my agent without blowing the context window."},{"title":"BM25 focused excerpt from news article","prompt":"Fetch https://techcrunch.com/2024/05/01/openai-raises-funding and give me only the parts relevant to 'valuation and investors' in budget mode with a max of 500 tokens."},{"title":"Structured metadata extraction from webpage","prompt":"Extract structured data from https://example.com/pricing — I want tables, headings, and metadata in structured mode so I can compare their pricing tiers."}],"resultDescription":"Returns a JSON object with a 'data' field containing the distilled content (markdown text, structured JSON tables/metadata, skeleton outline, or BM25-ranked excerpt), plus an 'roi_proof' object showing raw token count, distilled token count, tokens saved, compression ratio percentage, and estimated LLM cost saved in USD. Also includes cache hit/miss status and billing details.","failureModes":["Invalid or unreachable URL returns an error status","URL blocked by robots.txt or paywall returns empty or partial content","max_tokens set too low for meaningful extraction","query parameter missing when mode=budget","Raw HTML too large causes timeout or truncation","Non-HTML content types (PDF, binary) may not distill correctly"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to consume web content without spending excessive LLM context tokens — especially when scraping documentation, articles, or structured pages. Prefer it over generic scrapers when token budget control (BM25 mode) or structured extraction is needed. Ideal for agentic pipelines that must stay within a token ceiling or want ROI proof of compression savings.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T07:23:16.730Z","isFirstParty":false,"canonicalSlug":"json-repair-agentdiet-dev-web-url-article-extractor-distiller-20cf2eef"}