# Agent Tools UK – PDF Table Extractor

> Agent Tools UK – PDF Table Extractor is a paid API for AI agents from agent-tools-production-e6aa.up.railway.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-13).

Extracts all tables from a PDF file (by URL or base64) and returns them as structured JSON rows with page numbers.

## Facts

- Endpoint: POST https://agent-tools-production-e6aa.up.railway.app/v1/pdf-tables?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-tools-uk-pdf-table-extractor-17a34b9d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_DeyMuIvc00Gjtf_ehKf_5

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 agent-tools-uk-pdf-table-extractor-17a34b9d -d '<json body>'
```

Example prompt: Can you pull all the tables out of this financial report PDF — https://example.com/annual-report-2024.pdf — and give me the data as structured rows so I can work with the numbers?

## When to prefer this

Use this endpoint when you need to extract structured tabular data (rows and columns) from a PDF — especially financial statements, invoices, price lists, or reports — and need the data as machine-readable JSON. Prefer it over OCR endpoints when the PDF has real embedded tables rather than scanned images. If the PDF contains only images of text with no real table structure, consider the OCR endpoint instead.

## Known failure modes

- 400 Bad Request: the file is not a valid PDF
- 413 Payload Too Large: file exceeds the 20 MB size limit
- Empty tables array: PDF contains no detectable tabular structure (e.g. text-only or image-only pages without real tables)
- Truncated output: PDFs longer than 50 pages are processed only up to page 50, with truncated=true
- Network/timeout error: public URL unreachable or base64 malformed

## How this service works

Extract every table from a PDF and return it as rows of cells in JSON, with the page number of each table. Use when you need numbers from financial statements, invoices, price lists or reports that are locked in a PDF. Send {url} or {base64}. Max 20 MB, first 50 pages. Returns {pages, tables:[{page, rows}], truncated}. Errors: 400 not a PDF, 413 too large.

## Output

Returns a JSON object containing: total page count processed (`pages`), a `tables` array where each entry has the `page` number and a `rows` array of cell arrays, and a `truncated` boolean indicating if the document exceeded the 50-page limit.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Public URL of the file. Provide url OR base64."
  },
  "base64": {
   "type": "string",
   "description": "File contents, base64-encoded (max 20 MB). Provide url OR base64."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-tools-uk-pdf-table-extractor-17a34b9d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-tools-production-e6aa.up.railway.app](https://www.zero.xyz/host/agent-tools-production-e6aa.up.railway.app/llms.txt)
