# readfetch.com Batch URL Fetcher

> readfetch.com Batch URL Fetcher is a paid API for AI agents from readfetch.com, paid per call via x402, $0.015/call, status unknown (last checked 2026-10-31).

Fetches up to 50 URLs in a single call, returning results in input order, with undelivered pages neither billed nor counted toward the fee.

## Facts

- Endpoint: POST https://readfetch.com/v1/batch?utm_source=zero.xyz
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/readfetch-com-batch-url-fetcher-2756d0fe
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jtyEdOEl9vXDLsnwLgTTR

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 readfetch-com-batch-url-fetcher-2756d0fe -d '<json body>'
```

Example prompt: Fetch all 30 of these URLs for me in one go and return their page content in the same order I gave them — only charge me for the ones you successfully retrieve.

## When to prefer this

Choose this endpoint when you need to fetch many URLs (up to 50) efficiently in a single API call and payment, rather than making individual fetch requests per URL. It is ideal for agent pipelines that process lists of pages, bulk content extraction tasks, or any workflow where you want to minimize round-trips and only pay for successfully delivered pages.

## Known failure modes

- Undelivered pages returned as failed entries with no billing charge
- Exceeding the 50-URL limit per batch call may result in an error or truncation
- Paywalled or login-gated pages may return empty or partial content
- Timeouts on slow-loading pages may result in undelivered status
- Malformed URLs in the batch cause individual entry failures without failing the whole batch

## How this service works

Read a fixed list of public HTML pages in one call—the same article extraction as POST /v1/text for each URL (Markdown or plain text plus title and metadata). One x402 payment covers the batch (minimum 10 pages quoted; URLs deduped, max 50). Returns results in input order: each item has url, status_code, text, billed, and hint when undelivered, plus batch-level delivered, failed, billed_pages, and optional credit for unused pages. Undelivered pages are not billed. Use readfet

## Output

An ordered array of results matching the input URL list. Each entry contains the fetched page content (typically as Markdown or HTML text) and a delivery status. URLs that could not be fetched are marked as undelivered and are not billed, and may include a credit or error indicator.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "urls": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "uri"
   },
   "maxItems": 50,
   "minItems": 1,
   "description": "URLs to read, deduped before quoting."
  },
  "format": {
   "enum": [
    "markdown",
    "text"
   ],
   "type": "string",
   "default": "markdown",
   "description": "Per-item output flavour, same as /v1/text: markdown (default) or plain text."
  },
  "pipeline": {
   "enum": [
    "text",
    "render"
   ],
   "type": "string",
   "default": "text",
   "description": "text (default) = HTTP-first per URL, same as readfetch_text; use render when probe reported challenge:true or items need JavaScript — bills like scrape per undelivered page, not like plain text."
  },
  "timeout_s": {
   "type": "number",
   "default": 95,
   "maximum": 95,
   "minimum": 1,
   "description": "Total budget for the whole batch in seconds; every item shares it and no item restarts it."
  },
  "accept_language": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Accept-Language header for every item, e.g. 'de-DE,de;q=0.9'. Defaults to en-US when omitted."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/readfetch-com-batch-url-fetcher-2756d0fe/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from readfetch.com](https://www.zero.xyz/host/readfetch.com/llms.txt)
