# AgentDiet Context Compress — BM25 Budget-Controlled Web Distillation

> AgentDiet Context Compress — BM25 Budget-Controlled Web Distillation is a paid API for AI agents from agentdiet.dev, paid per call via MPP, $0.001/call, status unknown (last checked 2026-10-24).

Fetches and distills a URL or raw HTML into compact Markdown, structured JSON, skeleton outline, or BM25-focused excerpt within a strict token budget

## Facts

- Endpoint: POST https://agentdiet.dev/v1/context-compress?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Provider: agentdiet.dev
- Website: https://agentdiet.dev
- Canonical page: https://www.zero.xyz/c/agentdiet-dev-agentdiet-context-compress-bm25-budget-controlled-web-eff2ef7e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lB7P2BCIcOJKwmm1Xv4H1

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 agentdiet-dev-agentdiet-context-compress-bm25-budget-controlled-web-eff2ef7e -d '<json body>'
```

Example prompt: Distill https://stripe.com/docs/api into clean Markdown using budget mode, focused on the query 'webhook event types', with a max of 500 tokens.

## When to prefer this

Choose this endpoint when you need to shrink web content to fit within an LLM context window before inference, especially when you have a specific topic focus (use budget+query mode for BM25 relevance filtering) or need a strict token ceiling. It is superior to raw scraping when token cost matters, and better than generic summarizers when you need structured output modes (tables, skeleton, Markdown) with transparent ROI metrics showing exactly how many tokens and dollars were saved.

## Known failure modes

- URL is unreachable or returns non-200 — fetch error with status detail
- HTML payload is empty or malformed — distillation returns minimal or empty data field
- max_tokens is below the minimum of 20 — validation error
- mode=budget used without a query — BM25 scoring may return generic top passage
- Page is JavaScript-rendered and content is not in static HTML — distillation may miss dynamic content
- x402 payment fails or agent_id is invalid — 402 Payment Required response

## How this service works

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

## Output

Returns a JSON object with a 'data' field containing the distilled content (Markdown text, structured JSON tables/metadata, skeleton outline, or BM25-scored excerpt depending on mode), an 'roi_proof' object showing raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, roi_multiplier, and llm_cost_saved_usd, plus optional cache metadata (HIT/MISS, latency_ms) and billing info (fee_charged_usd).

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