---
title: "Extract tables from a text-based PDF (file_base64) by column alignment; returns rows per page. Scanned PDFs need OCR"
method: POST
path: "/api/pdf-table-extract"
tags: ["PDF"]
---

# Extract tables from a text-based PDF (file_base64) by column alignment; returns rows per page. Scanned PDFs need OCR

`POST /api/pdf-table-extract`

## Request

- Base URL: `https://toolsthatdontupload.com`
- URL: `https://toolsthatdontupload.com/api/pdf-table-extract`
- Auth: one of:
  - none
  - API key in header `X-API-Key`

## Request body

- object
  - `file_base64` string, required: PDF, base64-encoded (max 10 MB)
  - `max_pages` integer
  - `include_lines` boolean

## Response `200`

Success (JSON)

## Other responses

- `400`: Invalid input (problem+json)
- `429`: Anonymous daily limit reached (file tier: 20/day per IP)

---

[API](https://skmtc.dev/toolsthatdontupload/apis/tools-that-don-t-upload-api.md) · [All operations](https://skmtc.dev/toolsthatdontupload/apis/tools-that-don-t-upload-api/llms.txt) · [OpenAPI document](https://skmtc.dev/toolsthatdontupload/apis/tools-that-don-t-upload-api/revisions/fc4cea318919?raw)
