Sada Files
  1. Developers
  2. Tool endpoints

OCR PDF API

Make scanned PDFs searchable with OCR in 100+ languages — deskew, rotate, clean, and output PDF/A if you like.

Environment

EnvironmentBase URL
Productionhttps://api.sadafiles.com/v1

There is one environment and no sandbox, so every request here is real and counts toward your limits.

Request

POSThttps://api.sadafiles.com/v1/tools/ocr-pdf
Content type
multipart/form-data
Auth
X-API-Key with tools:run
Accepts
pdf
Files per request
1 to 500
Largest file
2 GB
Job timeout
300 s
Rate weight
2 units

Parameters

Send these as a JSON string in the options form field. Anything else is rejected.

NameTypeDefaultAllowed
languagesarrayeng—
deskewbooleantrue—
rotatebooleantrue—
cleanbooleanfalse—
pdfabooleanfalse—
skipTextSkip pages that already have textbooleantrue—

Response

StatusBodyWhen
201pdf, zipThe run finished within 60 seconds
202Job summary JSONStill running; poll the job
4xx, 5xxError JSONSee error codes

A file response carries X-Sada-Job and X-Sada-Expires-At. For long work, post to /v1/tools/ocr-pdf/jobs instead. See jobs and webhooks.

Also runs on the device

In the web tool and apps, OCR PDF can run locally with no upload. The API always processes on the server.

Ready settings

These settings power the matching pages on the site, and work the same in the API.

Useoptions
Hindi OCR PDF{"languages":["hin","eng"]}
Telugu OCR PDF{"languages":["tel","eng"]}
Tamil OCR PDF{"languages":["tam","eng"]}
Kannada OCR PDF{"languages":["kan","eng"]}
Malayalam OCR PDF{"languages":["mal","eng"]}

Try it yourself!

Pick a file, set the options and run a real request with your key. The code follows your changes.

Headers

You need a free key to run this request. Sign in and create a key.

Body

curl -X POST "https://api.sadafiles.com/v1/tools/ocr-pdf" \  -H "X-API-Key: $SADAFILES_API_KEY" \  -F "files[]=@input.pdf" \  -o output.pdf

What's next?