# PDF Text & Metadata Extractor

> PDF Text & Metadata Extractor is a paid API for AI agents from pdf.openverbs.com, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-18).

Extracts plain text and metadata (title, author, producer, page count) from a PDF supplied via URL or base64-encoded bytes using server-side pdf.js parsing.

## Facts

- Endpoint: POST https://pdf.openverbs.com/v1/extract?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/pdf-text-metadata-extractor-70581609
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_IaD7LXLbdimneDZSCOPO_

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 pdf-text-metadata-extractor-70581609 -d '<json body>'
```

Example prompt: Can you extract all the text and metadata from this PDF — https://example.com/report.pdf — and also give me the text broken out page by page?

## When to prefer this

Choose this endpoint when an agent needs to extract text or metadata from a PDF document but cannot run pdf.js or similar parsing libraries locally. Ideal when the PDF is available at a public URL or as base64 bytes. Prefer over general web scraping tools when the target is specifically a PDF. Best when structured per-page text or metadata fields like author and producer are needed alongside content.

## Known failure modes

- Private, loopback, or link-local URLs are rejected with an error
- PDF exceeds 5 MB decoded size limit when using base64 input
- URL is unreachable or returns a non-PDF file
- Malformed or corrupted PDF that pdf.js cannot parse
- Neither pdf nor url parameter provided — request rejected
- maxPages out of allowed range (1–500)

## How this service works

Extract plain text and metadata (title, author, producer, page count) from a PDF supplied by URL or base64 — heavy pdf.js parsing an agent can't self-run.

## Output

Returns extracted plain text from the PDF, along with document metadata including title, author, producer, and page count. If perPage is true, also returns an array of per-page text strings. Covers up to maxPages pages (default 500).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "pdf": {
   "type": "string",
   "maxLength": 7000000,
   "description": "Base64-encoded PDF bytes (≤5 MB decoded). Provide this or `url`."
  },
  "url": {
   "type": "string",
   "format": "uri",
   "maxLength": 2048,
   "description": "Public http(s) URL of the PDF to fetch. Private/loopback/link-local addresses are rejected. Provide this or `pdf`."
  },
  "perPage": {
   "type": "boolean",
   "description": "When true, also return the text split per page as `perPage[]`."
  },
  "maxPages": {
   "type": "integer",
   "maximum": 500,
   "minimum": 1,
   "description": "Cap the number of pages extracted (from the start). Default 500."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pdf-text-metadata-extractor-70581609/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from pdf.openverbs.com](https://www.zero.xyz/host/pdf.openverbs.com/llms.txt)
