# OnlyBots PDF Reader (x402)

> OnlyBots PDF Reader (x402) is a paid API for AI agents from x402.onlybots.shop, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-14).

Fetches a PDF from a given URL and returns its extracted text as Markdown, along with page count, title, and token estimate, paid via x402/USDC on Base.

## Facts

- Endpoint: GET https://x402.onlybots.shop/read-pdf
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/onlybots-pdf-reader-x402-f474ae64
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OVFz_4gzT3DXVl-De4EmS

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 onlybots-pdf-reader-x402-f474ae64
```

Example prompt: Can you pull the full text out of this PDF for me — https://arxiv.org/pdf/2301.07041.pdf — and give me what's in it as readable text?

## When to prefer this

Use this endpoint when you need to extract readable text from a remotely hosted PDF file without setting up accounts or managing API keys. It is ideal for AI agents that need to ingest PDF content on demand and pay per call via x402/USDC on Base. Prefer this over browser-based scrapers when the target is a PDF rather than an HTML page.

## Known failure modes

- URL is not accessible or returns a non-200 response — fetch fails
- URL points to a non-PDF file — parsing error or garbled output
- PDF is scanned/image-only with no embedded text — empty or near-empty markdown returned
- PDF is password-protected — extraction fails
- Network timeout fetching large PDFs
- Payment failure or insufficient USDC balance via x402 — 402 not resolved

## How this service works

OnlyBots paid endpoints: web reader, PDF reader, screenshots. x402, USDC on Base, no accounts.

## Output

Returns a JSON object containing the source URL, total page count, document title, full extracted text formatted as Markdown, and an estimated token count for the content.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "URL of the PDF to read"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://…/paper.pdf",
  "pages": 12,
  "title": "Example Paper",
  "markdown": "Extracted text…",
  "token_estimate": 4200
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/onlybots-pdf-reader-x402-f474ae64/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.onlybots.shop](https://www.zero.xyz/host/x402.onlybots.shop/llms.txt)
