# Utilia PDF to Markdown

> Utilia PDF to Markdown is a paid API for AI agents from api.utilia.ink, paid per call via x402, $0.0025/call, status down (last checked 2026-10-12).

Converts a public HTTPS PDF URL or base64-encoded PDF payload into deterministic Markdown text plus metadata, with configurable page cap and 8 MiB size limit.

## Facts

- Endpoint: POST https://api.utilia.ink/base/v1/pdf/to-markdown?utm_source=zero.xyz
- Price: $0.0025/call
- Payment: x402
- Status: down
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/utilia-pdf-to-markdown-93826751
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Cxbe4U7aL4ZhtBBZ51235

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 utilia-pdf-to-markdown-93826751 -d '<json body>'
```

Example prompt: Can you fetch the PDF at https://example.com/report.pdf and convert it to Markdown — cap it at 10 pages?

## When to prefer this

Choose this endpoint when you need deterministic, reproducible Markdown extraction from a PDF — particularly useful in agentic pipelines where consistent output across repeated calls matters. Ideal for LLM pre-processing, document QA, and structured extraction from publicly accessible PDFs or base64-encoded payloads. Prefer this over general-purpose scraping tools when the input is specifically a PDF and clean Markdown output is required.

## Known failure modes

- Non-public or private HTTPS URL returns a network/fetch error
- PDF exceeds the 8 MiB size limit, returning a payload-too-large error
- Requested page cap exceeds actual document length, truncating output gracefully
- Malformed or corrupt base64 payload returns a parse error
- Non-PDF file at the URL returns an unsupported format error
- PDF with only scanned images (no embedded text) returns empty or near-empty Markdown

## How this service works

Extract deterministic Markdown and metadata from a public HTTPS PDF URL or a base64 PDF payload. Enforces public-network fetching, an 8 MiB limit, and a caller-selected page cap.

## Output

Returns deterministic Markdown text representing the PDF content, along with document metadata such as page count, title, and author fields. The output is structured to be LLM-friendly and consistently formatted across calls for the same input.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "pattern": "^https://",
   "description": "Public HTTPS PDF URL"
  },
  "title": {
   "type": "string",
   "maxLength": 200
  },
  "maxPages": {
   "type": "integer",
   "default": 50,
   "maximum": 100,
   "minimum": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "title": "Quarterly report",
  "sha256": "47b9...",
  "markdown": "# Quarterly report\n\n## Page 1\n\n...",
  "totalPages": 4,
  "sourceBytes": 48321,
  "textCharacters": 12940
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/utilia-pdf-to-markdown-93826751/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.utilia.ink](https://www.zero.xyz/host/api.utilia.ink/llms.txt)
