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
- Sign up and verify your email (optional MFA via authenticator or email OTP).
- Open Developers and create an API key.
- 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|vttSearchable 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.