# Vextorium PDF Text Extractor

> Vextorium PDF Text Extractor is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-11).

Extracts plain text from a PDF file by URL, returning page-by-page text content with word counts

## Facts

- Endpoint: POST https://api.vextorium.com/v1/pdf-text?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vextorium-pdf-text-extractor-04da4c96
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jxiGlQHEpsxbBboU0Oq2l

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 vextorium-pdf-text-extractor-04da4c96 -d '<json body>'
```

Example prompt: Can you extract the text from this PDF — https://www.bls.gov/news.release/pdf/cpi.pdf — and return all the pages?

## When to prefer this

Choose this endpoint when you need to extract raw text from a PDF accessible via a public URL, especially for documents with embedded text (not scanned images). Ideal for processing government reports, research papers, contracts, or any structured PDF document. At $0.004 per call it is cost-effective for per-document extraction in agent workflows that need to read PDF content programmatically without setting up a local PDF parser.

## Known failure modes

- PDF URL is unreachable or returns a non-PDF file — may result in an error or empty text
- Password-protected or encrypted PDFs cannot be parsed and will return no text
- Scanned image-only PDFs without embedded text will return empty or minimal text per page
- Very large PDFs may be truncated by max_characters limit
- Invalid URL format will cause a request validation error
- Network timeouts if the PDF host is slow to respond

## How this service works

Text of a PDF (URL) split by page with page numbers and word counts; ask for specific pages (e.g. 1-3,7). Better than one blob for citing or chunking documents.

## Output

Returns a JSON object with an array of page objects, each containing the page number, extracted text, and word count. Also includes the total number of pages returned and the total number of pages in the original PDF. An optional note field may contain additional metadata.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string"
      },
      "pages": {
       "type": "string"
      },
      "max_characters": {
       "type": "integer"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "note": {},
      "pages": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": [
         "null",
         "object"
        ],
        "properties": {
         "page": {
          "type": [
           "number",
           "null"
          ]
         },
         "text": {
          "type": [
           "string",
           "null"
          ]
         },
         "words": {
          "type": [
           "number",
           "null"
          ]
         }
        }
       }
      },
      "returned": {
       "type": [
        "number",
        "null"
       ]
      },
      "pdf_pages": {
       "type": [
        "number",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "note": null,
  "pages": [
   {
    "page": 1,
    "text": "Transmission of material in this release is embargoed until    USDL-26-1496 \n8:30 a.m. (ET) Friday, September 11, 2026      \nT\nechnical information: (202) 691-7000  •  cpi_info@bls.gov  •  www.bls.gov/cpi \nMedia contact:              (202) 691-5902  •  PressOffice@bls.gov\nCONSUMER PRICE INDEX – AUGU…",
    "words": 301
   }
  ],
  "returned": 1,
  "pdf_pages": 38
 }
}
```

## More

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