{"uid":"cap_5GTJpLtGIHE_0IQTNKeFs","slug":"serp-extract-agentdiet-dev-article-extractor-with-bm25-budget-control-d846d40e","name":"Article Extractor 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://serp-extract.agentdiet.dev/v1/article-extractor)","url":"https://serp-extract.agentdiet.dev/v1/article-extractor?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_xugCHXLN34NiRo5eS6JHe","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"serp-extract.agentdiet.dev","brandSlug":"serp-extract-agentdiet-dev-mpp","brandBaseUrl":"https://serp-extract.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches a URL or accepts raw HTML and distills it into clean Markdown, structured JSON, a skeleton outline, or a BM25-ranked token-budget excerpt","exampleAgentPrompt":"Can you fetch https://techcrunch.com/2025/01/15/openai-news/ and distill it into clean markdown, keeping it under 800 tokens and focused on the topic 'OpenAI funding round'?","exampleUseCases":[{"title":"LLM-ready news article extraction","prompt":"Grab the article at https://www.nytimes.com/2025/06/01/technology/ai-regulation.html and distill it into clean markdown so I can feed it to my LLM without all the nav and ad clutter."},{"title":"Token-budget web research for agent","prompt":"Pull the content from https://docs.stripe.com/payments/checkout and give me a BM25 excerpt focused on 'subscription billing' that stays under 500 tokens — I need to fit this into a tight context window."},{"title":"Structured data extraction from HTML","prompt":"I have this raw HTML blob from a product page — can you distill it in structured mode to pull out the tables and metadata like price, specs, and description?"}],"resultDescription":"Returns a JSON object with a 'data' field containing the distilled content (Markdown string, structured JSON tables/metadata, skeleton outline, or BM25-ranked excerpt depending on mode), plus an 'roi_proof' object showing raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, roi_multiplier, and llm_cost_saved_usd. Also includes cache status (HIT/MISS) and billing details.","failureModes":["URL is unreachable or returns non-200 — endpoint may return an error status","HTML payload is malformed or empty — distillation may produce empty or minimal output","max_tokens set too low (below 20) — validation error returned","mode=budget used without a query parameter — BM25 ranking has no focus signal","Rate limiting or payment failure via x402 — 402 Payment Required returned","Target URL blocks bots or requires authentication — content fetch fails"],"whenToPreferThis":"Choose this endpoint when you need to reduce the token footprint of web content before passing it to an LLM, especially when working within strict context window limits. It is ideal for agentic pipelines that crawl live URLs and need clean, structured, or token-budgeted text rather than raw HTML. The BM25 budget mode is uniquely suited for relevance-focused extraction when you have a specific query in mind. Prefer it over generic scrapers when LLM cost savings and compression ratio reporting are important.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:35:00.416Z","isFirstParty":false,"canonicalSlug":"serp-extract-agentdiet-dev-article-extractor-with-bm25-budget-control-d846d40e"}