# Web URL Context Compressor (AgentDiet)

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

Fetches and distills any web URL or raw HTML into compact, agent-ready tokens using BM25 budget control and multiple extraction modes

## Facts

- Endpoint: GET https://mesh.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: mesh.agentdiet.dev
- Website: https://mesh.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/mesh-agentdiet-dev-web-url-context-compressor-agentdiet-85e36ff8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yyrHM_KppezfbfhoD2jSZ

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 mesh-agentdiet-dev-web-url-context-compressor-agentdiet-85e36ff8
```

Example prompt: Distill https://stripe.com/docs/payments/payment-intents into clean markdown and keep it under 800 tokens, focusing the BM25 budget on 'payment confirmation' so I can fit it into my agent context.

## When to prefer this

Choose this endpoint when you need to feed web content into an LLM context window but want to minimize token usage and cost. It is especially valuable when working with long documentation pages, news articles, or HTML payloads where a strict token budget is required. The BM25 budget mode makes it superior to generic scrapers when you need topically focused compression around a specific query. Prefer this over raw scraping endpoints when you need ROI proof of token savings.

## Known failure modes

- URL is unreachable or returns non-200 status — endpoint may error or return empty content
- Invalid or missing `url` parameter returns a 400-level error
- mode=budget without a `query` or `max_tokens` may produce unoptimized output
- Raw HTML too large may hit internal limits
- Payment/402 not settled causes request to be rejected before processing
- Highly JavaScript-rendered pages may yield poor distillation if JS is not executed

## How this service works

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

## Output

Returns a distilled representation of the target webpage in the requested mode (markdown, structured JSON tables/metadata, skeleton outline, or BM25-focused budget excerpt), along with an ROI proof object showing raw token count, distilled token count, tokens saved, compression ratio, and estimated LLM cost saved. Includes optional cache hit/miss status and billing metadata.

## 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/mesh-agentdiet-dev-web-url-context-compressor-agentdiet-85e36ff8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mesh.agentdiet.dev](https://www.zero.xyz/host/mesh.agentdiet.dev/llms.txt)
