Skip to main content

PDF Tools API

PDF OCR API

Prepare OCR automation for scanned PDFs and connect it with cleanup, crop, and export workflows.

Credits

1 Credit / call

1 Credit per successful API request. Failed processing attempts are refunded automatically.

Pricing

1,000 Credits = $1

Every signed-in user receives 100 free API Credits each month.

Endpoint

/api/external/pdf-tools/pdf-ocr

Use your API Key in the x-api-key header.

Use case

Use it when scanned PDFs need searchable text extraction before routing, indexing, or conversion workflows.

cURL example

curl -X POST https://itextmaster.com/api/external/pdf-tools/pdf-ocr \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'file=@input.pdf;type=application/pdf' \
  -F 'options={"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}' \
  --output ocr-result.txt

Multipart example

curl -X POST https://itextmaster.com/api/external/pdf-tools/pdf-ocr \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'file=@input.pdf;type=application/pdf' \
  -F 'options={"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}' \
  --output ocr-result.txt

JSON base64 example

curl -X POST https://itextmaster.com/api/external/pdf-tools/pdf-ocr \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{
    "file": { "name": "input.pdf", "dataBase64": "JVBERi0xLjcK..." },
    "options": {"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}
  }' \
  --output ocr-result.txt

Node.js example

import { writeFile } from 'node:fs/promises';

const response = await fetch('https://itextmaster.com/api/external/pdf-tools/pdf-ocr', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': process.env.ITEXTMASTER_API_KEY
  },
  body: JSON.stringify({
  file: { name: 'input.pdf', dataBase64: 'JVBERi0xLjcK...' },
  options: {"languages":["eng"],"scale":2,"pages":[1],"outputFormat":"text","preserveLayout":false}
})
});

if (!response.ok) {
  throw new Error(await response.text());
}

await writeFile('ocr-result.txt', Buffer.from(await response.arrayBuffer()));

Python example

import os
import requests

response = requests.post(
    'https://itextmaster.com/api/external/pdf-tools/pdf-ocr',
    headers={
        'Content-Type': 'application/json',
        'x-api-key': os.environ['ITEXTMASTER_API_KEY'],
    },
    json={
        'file': {'name': 'input.pdf', 'dataBase64': 'JVBERi0xLjcK...'},
        'options': {'languages': ['eng'], 'scale': 2, 'pages': [1], 'outputFormat': 'text', 'preserveLayout': False}
    },
)
response.raise_for_status()

with open('ocr-result.txt', 'wb') as f:
    f.write(response.content)

Error codes

401invalid_api_key

The x-api-key header is missing, invalid, or has been rotated.

402insufficient_credits

The account does not have enough API Credits for the request.

422pdf_tool_processing_failed

The file, options, or PDF structure could not be processed. Failed processing attempts are refunded automatically.

Limits

  • Requires one valid PDF file.
  • OCR quality depends on scan resolution and language selection.
  • The Worker route refunds Credits with a 422 response until the dedicated OCR rendering backend is provisioned.

Response headers

ocr-result.txt with X-Credits-Charged: 1 and X-Credit-Balance response headers.

Content-Type
The MIME type of the generated file, usually application/pdf or application/zip.
Content-Disposition
Attachment filename for the generated output.
X-Credits-Charged
Credits charged for the successful request.
X-Credit-Balance
Remaining API Credit balance after the request.

FAQ

How much does the PDF OCR API cost?

Each successful PDF OCR API request uses 1 Credit. 1,000 Credits cost $1, and every signed-in user receives 100 free API Credits each month.

What happens if processing fails?

Failed processing attempts are refunded automatically, and the API returns an error response you can log or retry.

Should I call this API from the browser?

No. Keep API Keys server-side and call the endpoint from your backend, queue, or automation job when you need to pdf ocr.

Start with 100 free API Credits

Create an API Key, test PDF OCR API, and buy more Credits only when automation volume grows.