OCRs.ai

API reference

Create an API key in the dashboard, then send Authorization: Bearer ocr_… on every request. Webhooks fire on job completion; Turnstile protects browser signup/login only — API keys are not captcha-gated.

Quickstart

  1. Sign up and verify your email (optional MFA via authenticator or email OTP).
  2. Open Developers and create an API key.
  3. POST a file to /api/v1/documents/, then poll status.
curl https://api.ocrs.ai/v1/documents/ \
  -H "Authorization: Bearer ocr_..." \
  -F file=@invoice.pdf
GET/api/v1/documents/

List recent OCR jobs for your account.

POST/api/v1/documents/

Upload a document, image, or video for OCR.

GET/api/v1/documents/{id}/status/

Poll job status + progress.

GET/api/v1/documents/{id}/

Full OCR result, all pages/tracks.

GET/api/v1/documents/{id}/source/

The original uploaded file.

GET/api/v1/documents/{id}/export/?format=pdf|docx|json|txt|srt|vtt

Searchable PDF, DOCX, JSON, plain text, or (video) SRT/VTT per track.

POST/api/v1/documents/{id}/embeddings/

Chunk + embed the document's OCR text.

GET/api/v1/documents/{id}/embeddings/

List embedding jobs for a document.

POST/api/v1/documents/{id}/vector-db-push/?connection_id=

Push already-computed embeddings to a connection.

GET / POST/api/v1/vector-db-connections/

List / register a vector DB destination.

GET / PATCH / DELETE/api/v1/vector-db-connections/{id}/

Manage one connection.

GET / POST/api/v1/webhooks/

List / register a webhook for job.completed/job.failed.

GET / PATCH / DELETE/api/v1/webhooks/{id}/

Manage one webhook.