# URL to Markdown Web Distiller with BM25 Budget Control

> URL to Markdown Web Distiller with BM25 Budget Control is a paid API for AI agents from arxiv-digest.agentdiet.dev, paid per call via MPP, $0.001/call, status unknown (last checked 2026-10-21).

Fetches a web URL (or accepts raw HTML) and converts it into compact, agent-ready Markdown or structured output with token budget enforcement and BM25-based relevance filtering

## Facts

- Endpoint: GET https://arxiv-digest.agentdiet.dev/v1/url-to-markdown?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Provider: arxiv-digest.agentdiet.dev
- Website: https://arxiv-digest.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/arxiv-digest-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-9278c661
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lt8Pe63PZBRwTZnX9ahYy

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 arxiv-digest-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-9278c661
```

Example prompt: Fetch https://arxiv.org/abs/2406.01234 and distill it into compact markdown using budget mode with a focus query on 'transformer attention mechanisms' and a max of 500 tokens.

## When to prefer this

Choose this endpoint when an AI agent needs to ingest web content but must stay within a token budget — particularly when feeding live web pages into an LLM context window. It is ideal over generic web scrapers when you need BM25 relevance filtering (mode=budget with a query), structured JSON table extraction, or skeleton outlines rather than raw HTML dumps. Prefer it when token cost and compression ROI matter, since it returns explicit metrics on tokens saved and LLM cost avoided.

## Known failure modes

- Invalid or unreachable URL returns an error status
- Target site blocks scraping with 403/bot detection, returning fetch failure
- Token budget too small (below 20) for meaningful content extraction
- Raw HTML input malformed or empty leading to empty distillation output
- Rate limiting or payment failure via x402 if USDC balance insufficient
- mode=budget without a query may produce suboptimal BM25 filtering

## How this service works

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

## Output

Returns a JSON object containing distilled content (Markdown text, structured JSON tables/metadata, skeleton outline, or BM25-filtered excerpt depending on mode), plus an ROI proof block showing raw token count, distilled token count, tokens saved, compression ratio percentage, estimated LLM cost saved in USD, and a cache status indicator (HIT/MISS).

## 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/arxiv-digest-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-9278c661/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from arxiv-digest.agentdiet.dev](https://www.zero.xyz/host/arxiv-digest.agentdiet.dev/llms.txt)
