{"uid":"cap_T-gKtzNLVL2z9Um1l7Orv","slug":"shopify-spy-agentdiet-dev-article-extractor-with-bm25-budget-control-1c94a644","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://shopify-spy.agentdiet.dev/v1/article-extractor)","url":"https://shopify-spy.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_woPPpnDI8JKseudwzPwUq","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"shopify-spy.agentdiet.dev","brandSlug":"shopify-spy-agentdiet-dev-mpp","brandBaseUrl":"https://shopify-spy.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches and distills a URL or raw HTML into compact, token-efficient markdown, structured JSON, skeleton outline, or BM25-scored budget excerpt for agent consumption","exampleAgentPrompt":"Can you fetch this article at https://techcrunch.com/2024/05/01/openai-news/ and distill it into markdown, keeping it under 500 tokens and focused on the topic of model safety?","exampleUseCases":[{"title":"Research article extraction for agent","prompt":"Pull the content from https://www.wired.com/story/ai-regulation-europe/ and distill it into clean markdown — keep it under 800 tokens and focus on regulatory implications."},{"title":"Competitor page structured analysis","prompt":"Take this URL https://stripe.com/pricing and extract it in structured mode so I can see all the pricing tables and metadata in a clean JSON format."},{"title":"Token-efficient focused reading","prompt":"I need to read https://arxiv.org/abs/2401.00001 but I only have about 300 tokens to spare — distill it using budget mode with the query focused on 'transformer architecture improvements'."}],"resultDescription":"Returns a data object containing the distilled content in the requested format (markdown text, structured JSON with tables/metadata, skeleton outline, or BM25-ranked budget excerpt), along with ROI proof metrics showing raw token count, distilled token count, tokens saved, compression ratio percentage, and estimated LLM cost saved. Also includes cache hit/miss status and billing details.","failureModes":["URL is unreachable or returns non-200 status — endpoint may return an error status","HTML payload is malformed or empty — distillation may return minimal or empty data","max_tokens set below minimum of 20 — request rejected with validation error","mode=budget used without a query parameter — BM25 ranking has no focus signal","Paywalled or JavaScript-heavy pages may not fully render — content may be incomplete","Token budget exhausted by the billing layer before response is returned"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to read a webpage but must stay within a strict token budget, or when you want BM25-ranked relevance scoring to surface only the most query-relevant content from a page. It is preferred over generic scrapers when you need multiple output modes (markdown, structured, skeleton, budget) and built-in ROI proof showing exactly how many tokens were saved. Ideal when working with long-form articles, documentation pages, or HTML blobs that would otherwise overflow context windows.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:37:28.253Z","isFirstParty":false,"canonicalSlug":"shopify-spy-agentdiet-dev-article-extractor-with-bm25-budget-control-1c94a644"}