# FreshProof PDF to Markdown Converter

> FreshProof PDF to Markdown Converter is a paid API for AI agents from freshproof-api-mainnet.up.railway.app, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-15).

Converts a public text-based PDF URL into page-referenced Markdown with document metadata, page boundaries, retrieval evidence, and a content hash

## Facts

- Endpoint: POST https://freshproof-api-mainnet.up.railway.app/v1/pdf-to-markdown
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/freshproof-pdf-to-markdown-converter-149a8782
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XrGg7ZP8mH48T3X6511Az

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 freshproof-pdf-to-markdown-converter-149a8782 -d '<json body>'
```

Example prompt: Can you convert this PDF into markdown for me — https://example.gov/annual-report-2024.pdf — and include up to 30 pages with page markers so I know where each section came from?

## When to prefer this

Choose this endpoint when you need structured, page-referenced Markdown from a publicly accessible text-layer PDF, especially when retrieval provenance and a content hash are required for auditability or AI grounding. It is ideal for RAG pipelines, compliance workflows, or any agent task that needs verifiable PDF content. Prefer it over generic PDF parsers when evidence metadata and deterministic hashing matter. Do not use it for scanned PDFs requiring OCR, private/authenticated PDFs, or non-PDF documents (use the sibling HTML/web endpoint for those).

## Known failure modes

- PDF requires OCR (scanned/image-based) — not supported, returns error
- URL is not publicly accessible or requires authentication — fails to retrieve
- PDF exceeds maxPages limit — only up to 50 pages processed
- URL does not point to a valid PDF — returns parsing error
- Network timeout or upstream PDF server unavailable — returns retrieval error
- PDF is encrypted or password-protected — conversion fails

## How this service works

Convert a public text-based PDF into page-referenced Markdown with document metadata, page boundaries, retrieval evidence, and a content hash for AI agents. OCR is not supported.

## Output

Returns page-referenced Markdown content of the PDF, including document metadata (title, author, page count), explicit page boundary markers, retrieval evidence (source URL, timestamp, access details), and a deterministic content hash for verification. OCR is not performed — only text-layer PDFs are supported.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "pattern": "^https?://",
   "maxLength": 4096
  },
  "options": {
   "type": "object",
   "default": {
    "maxPages": 50
   },
   "required": [
    "maxPages"
   ],
   "properties": {
    "maxPages": {
     "type": "integer",
     "default": 50,
     "maximum": 50,
     "minimum": 1
    }
   },
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "pages": [
    {
     "markdown": "Dummy PDF file",
     "pageNumber": 1,
     "characterCount": 14
    }
   ],
   "source": {
    "finalUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
    "statusCode": 200,
    "contentType": "application/pdf",
    "retrievedAt": "2026-08-03T08:00:00.000Z",
    "requestedUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
    "redirectChain": []
   },
   "document": {
    "title": "Dummy PDF file",
    "pageCount": 1,
    "processedPageCount": 1
   },
   "markdown": "# Page 1\n\nDummy PDF file",
   "warnings": [
    "TABLE_STRUCTURE_NOT_GUARANTEED"
   ],
   "truncated": false,
   "contentHash": "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
  },
  "success": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/freshproof-pdf-to-markdown-converter-149a8782/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from freshproof-api-mainnet.up.railway.app](https://www.zero.xyz/host/freshproof-api-mainnet.up.railway.app/llms.txt)
