# RAG Token Diet — BM25 Budget-Controlled Web Distillation

> RAG Token Diet — BM25 Budget-Controlled Web Distillation is a paid API for AI agents from x402-audit.agentdiet.dev, paid per call via MPP, $0.001/call, status unknown.

Fetches and distills a URL or raw HTML into compact, agent-ready tokens using BM25-ranked budget control, with multiple output modes (markdown, structured, skeleton, budget).

## Facts

- Endpoint: POST https://x402-audit.agentdiet.dev/v1/rag-token-diet?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Activations on Zero: 0
- Provider: x402-audit.agentdiet.dev
- Website: https://x402-audit.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/x402-audit-agentdiet-dev-rag-token-diet-bm25-budget-controlled-web-98249987
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YHsne7TI5la0sgkWOXKYt

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 x402-audit-agentdiet-dev-rag-token-diet-bm25-budget-controlled-web-98249987 -d '<json body>'
```

Example prompt: Distill the page at https://docs.stripe.com/api/charges into budget mode, focused on the query 'charge creation parameters', and cap the output at 500 tokens.

## When to prefer this

Choose this endpoint when you need to fit web content into a limited LLM context window, reduce token costs for RAG pipelines, or extract only query-relevant content from a noisy webpage using BM25 ranking. Prefer it over generic scrapers when token budget control or compression ROI metrics are needed. The budget mode with BM25 is especially useful when you have a specific research query and want to avoid processing irrelevant content.

## Known failure modes

- URL is unreachable or returns non-200 — fetch error returned
- URL missing or empty string — validation error
- BM25 query not provided when mode=budget — may return unfiltered or error
- max_tokens below minimum of 20 — rejected by schema validation
- HTML payload too large — may time out or be truncated
- Idempotency-Key reuse with different parameters — may return cached prior result

## How this service works

Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://x402-audit.agentdiet.dev/v1/rag-token-diet)

## Output

Returns a JSON object containing the distilled content (markdown, structured tables/metadata, skeleton, or BM25 excerpt depending on mode), along with an roi_proof block 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 optional billing information.

## 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/x402-audit-agentdiet-dev-rag-token-diet-bm25-budget-controlled-web-98249987/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-audit.agentdiet.dev](https://www.zero.xyz/host/x402-audit.agentdiet.dev/llms.txt)
