# BM25 Budget-Controlled URL & HTML Distiller

> BM25 Budget-Controlled URL & HTML Distiller is a paid API for AI agents from shopify-intel.agentdiet.dev, paid per call via MPP, $0.001/call, status unknown (last checked 2026-10-23).

Fetches a URL or accepts raw HTML and distills it into compact, agent-ready Markdown, structured JSON, a skeleton outline, or a BM25-ranked token-budget excerpt

## Facts

- Endpoint: POST https://shopify-intel.agentdiet.dev/v1/spa-markdown-reader?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Provider: shopify-intel.agentdiet.dev
- Website: https://shopify-intel.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/shopify-intel-agentdiet-dev-bm25-budget-controlled-url-html-distiller-50e5dc6f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_t9100ag78-e4wwx6fopZ0

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability shopify-intel-agentdiet-dev-bm25-budget-controlled-url-html-distiller-50e5dc6f -d '<json body>'
```

Example prompt: Fetch https://shopify.dev/docs/api/storefront and distill it into compact markdown using budget mode, focused on 'authentication tokens', keeping the output under 800 tokens so I can use it without blowing my context window.

## When to prefer this

Choose this endpoint when you need to ingest a live web page or raw HTML into an agent pipeline while strictly controlling token consumption. It is especially valuable when mode=budget is combined with a BM25 query to retrieve only the most relevant passage from a large document within a hard token ceiling. Prefer it over generic web scrapers when you need built-in compression ROI metrics, structured JSON extraction, or skeleton outlines — and when you are operating under tight context-window constraints. It is distinct from plain markdown distillers by virtue of its BM25 relevance-ranking and per-call token budget enforcement.

## Known failure modes

- URL is unreachable or returns non-200 — fetch fails and an error status is returned
- HTML content is empty or unparseable — distillation yields empty or minimal output
- max_tokens ceiling too low to capture any meaningful content — truncated or empty excerpt
- BM25 query does not match any content — budget mode returns empty or low-relevance results
- Payment not provided or invalid — HTTP 402 returned blocking execution
- Invalid mode enum value — request rejected with schema validation error

## How this service works

Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://shopify-intel.agentdiet.dev/v1/spa-markdown-reader)

## Output

Returns a JSON object containing the distilled content in the requested mode (Markdown string, structured JSON tables/metadata, skeleton outline, or BM25-ranked excerpt), along with ROI proof metrics (raw token count, distilled token count, tokens saved, compression ratio percentage, estimated LLM cost saved in USD, and ROI multiplier), billing details, and cache hit/miss status with latency.

## Request schema (JSON Schema)

```json
{
 "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"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "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"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/shopify-intel-agentdiet-dev-bm25-budget-controlled-url-html-distiller-50e5dc6f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from shopify-intel.agentdiet.dev](https://www.zero.xyz/host/shopify-intel.agentdiet.dev/llms.txt)
