# Web URL Context Compressor (BM25 Budget Control)

> Web URL Context Compressor (BM25 Budget Control) is a paid API for AI agents from x402-audit.agentdiet.dev, paid per call via MPP, $0.001/call, status unknown (last checked 2026-10-21).

Fetches and distills a web URL or raw HTML into compact, agent-ready tokens with multiple extraction modes including BM25-focused budget control

## Facts

- Endpoint: GET https://x402-audit.agentdiet.dev/v1/context-compress?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-21
- 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-web-url-context-compressor-bm25-budget-control-cab663ba
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RzVLzhjJSXNKHcRN4F-cF

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-web-url-context-compressor-bm25-budget-control-cab663ba
```

Example prompt: Can you distill https://stripe.com/docs/payments/accept-a-payment into compact markdown, keeping it under 800 tokens and focusing on the query 'accept payment integration'?

## When to prefer this

Choose this endpoint when you need to feed web page content into an LLM context window but want to minimize token usage and cost. It is especially valuable when you have a strict token budget (use mode=budget with a BM25 query to surface only the most relevant passage), when you need structured tables or metadata from a page (mode=structured), or when a high-level outline suffices (mode=skeleton). Prefer it over raw web scraping when downstream LLM token cost matters, and when you want quantified proof of compression savings (ROI multiplier and cost saved are returned with every response).

## Known failure modes

- URL is unreachable or returns non-200 HTTP status — endpoint may return an error status
- URL points to non-HTML content (PDF, binary) — extraction may fail or return empty data
- Token budget too low (max_tokens below 20) — rejected by schema validation
- BM25 query provided without mode=budget — query parameter is silently ignored
- Raw HTML and URL both omitted — URL is required and missing will cause a validation error
- Network timeout fetching the target URL — may return a timeout error
- Payment not completed via x402 — returns HTTP 402 with payment instructions

## 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/context-compress)

## Output

Returns a JSON object with a 'data' field containing the distilled content (Markdown, structured JSON, skeleton outline, or BM25-focused 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 optional cache hit/miss status and billing details.

## 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-web-url-context-compressor-bm25-budget-control-cab663ba/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)
