V2 released

Schema-first OCR for messy, real-world documents

LeapOCR turns PDFs, scans, photos, and multilingual paperwork into markdown for review or JSON that already fits your downstream schema.

Start with 100 free credits

Document types teams already handle in one OCR flow

Invoices
Receipts
Driver IDs
Forms
Bills of lading
Archive scans
Multilingual docs
Markdown + JSON
Workflow

From intake to handoff that fits the next system.

LeapOCR keeps document intake simple, then shapes and validates the result before it lands in finance, logistics, compliance, or internal ops tools.

Send the page once. Get back a usable record.

The goal is not raw text. It is output a person can review or a system can accept without another cleanup layer.

See digitization
sdk.ts
TypeScript SDK
1const job = await leapocr.ocr.processFile("./invoice.pdf", {
2 format: "structured",
3 schema: invoiceSchema,
4 instructions: "Multiply all monetary fields by 100",
5});
6
7const result = await leapocr.ocr.getJobResult(job.jobId);

Ingest mixed documents through one lane

Upload PDFs, scans, photos, and batches without sorting the queue by template before OCR even starts.

invoice-schema.json
{
"type": "object",
"required": ["total", "invoice_date", "vendor"]
"total": { "type": "string" },
"invoice_date": { "type": "string" },
"vendor": { "type": "string" },
"currency": { "type": "string" }
+ "total": { "type": "number" },
+ "invoice_date": { "type": "string", "format": "date" },
+ "vendor": { "type": "string" },
+ "currency": { "type": "string", "minLength": 3 }
}

Shape the output before it breaks downstream

Send markdown to reviewers or schema-fit JSON to systems, with exceptions surfaced explicitly instead of hidden in the payload.

Fit

Built for real document ops. Not demo OCR.

LeapOCR is built for receipts, invoices, IDs, forms, and multilingual paperwork that still need to pass downstream checks after extraction.

For teams that cannot afford brittle OCR

When capture quality, layout, and language vary, the output still has to be dependable enough for the next workflow step.

Read docs

Stable enough for production document programs

Use one OCR stack across invoices, forms, IDs, and archive imports while keeping the output contract stable where it matters.

🇺🇸EN
🇲🇽ES
🇧🇷PT
🇫🇷FR
🇩🇪DE
🇷🇺RU
🇦🇪AR
🇮🇳HI
🇨🇳ZH
🇯🇵JA

Useful across multilingual and cross-border paperwork

Keep labels, totals, and document structure coherent even when the page language or layout shifts across vendors and regions.

SDK

Pick the client. See the implementation.

The same OCR flow, shown through four real integration surfaces. Switch languages at the top and inspect the exact request shape you would wire into production.

For teams that ship on day one.

One API surface, four client shapes. Pick the one that fits your stack and hand off a completed record.

Job model
Async by default

Submit work once, poll or wait, then hand off a completed record.

Output shape
Schema-first

Return structured data without inventing another translation layer.

Surface area
SDK + raw HTTP

Use the official client where it helps, or stay close to the API.

Active file
invoice.ts
import { LeapOCR } from "leapocr";const client = new LeapOCR({  apiKey: process.env.LEAPOCR_API_KEY,});const job = await client.ocr.processURL("https://example.com/document.pdf", {  format: "structured",  model: "standard-v2",  schema: {    invoice_number: "string",    invoice_total: "number",  },});const result = await client.ocr.waitUntilDone(job.jobId);console.log(result.data);
Step 01

Initialize the client and keep auth in one obvious place.

Step 02

Submit the page URL with model, format, and schema choices.

Step 03

Wait for completion and hand the result to the next system.

Bring in the queue you already have.

LeapOCR handles 100+ file formats, multilingual documents, webhook delivery, and rollout support for production teams.

Compare models

Coverage

Formats and language support

100+ file types
File intake

PDFs, images, spreadsheets, office docs, scans, and mixed uploads in one queue.

Language range

Multilingual invoices, forms, IDs, and logistics documents without separate routing.

Take the formats and languages already in the queue

Process PDFs, scans, photos, office docs, and multilingual paperwork without pre-cleaning everything upstream.

Deliver results into your stack with real support

Return results by API or webhook, then work with the LeapOCR team on edge cases, rollout details, and production tuning.

Setup

Set the input. Set the output. Stay in control.

Set up a document workflow without turning OCR into another cleanup project.

Upload

Send a file or URL, choose output settings, and run OCR

SourceURL upload
Direct Upload
URL Upload
Document URL
https://storage.example.com/invoices/march/invoice.pdf

LeapOCR fetches the remote file and processes it the same way as a direct upload.

ConfigurationRequired
Model
standard-v2
Result format
structured
Processing instructionsOptional
|
Custom schemaOptional
invoice-schema.json
{  "invoice_number": "string",  "invoice_date": "date",  "total": "number"}

Request

URL upload with model, format, instructions, and schema ready

Step 1

Choose the document source

Start with file upload, a URL, or an API request from the queue you actually care about.

Step 2

Choose the output contract

Return markdown or structured JSON, then add instructions or bbox only where the downstream workflow benefits from them.

Step 3

Route harder pages deliberately

Escalate difficult pages to pro-v2 or explicit review instead of quietly posting a record your team cannot trust.

Operator feedback

Teams judge LeapOCR by what happens after OCR.

The real test is whether the extracted record still works for finance, operations, onboarding, and review workflows once it leaves the model.

The difference was not just better OCR. We stopped rebuilding invoice fields by hand after every upload batch.
RS

Rina Solanki

Operations lead

JSON that already matched our payables contract let us delete a cleanup script we had been babysitting for months.
MH

Marcus Hale

AP automation manager

Bills of lading and freight paperwork stayed readable enough for review while still producing system-ready fields.
ET

Elena Torres

Logistics systems owner

We liked that harder pages could be escalated instead of pretending they were safe to post downstream.
NR

Nikhil Rao

Platform engineer

Bounding boxes were optional, which mattered. We only turned them on for the audit and overlay tooling that actually needed them.
DM

Dana Mercer

Compliance program manager

Markdown for people and JSON for systems from the same OCR lane made rollout much easier across teams.
JP

Julian Park

Product manager

Pricing

Recurring plans for document teams that need predictable credit budgets

Every new account starts with 100 free credits. Choose a subscription for baseline throughput, then use the dedicated pricing page for top-up packs and enterprise options.

Included for everyone

100 free credits

Packs are available on the full pricing page, but the homepage stays focused on subscriptions only.

View full pricing

Lite

Yearly-only entry plan for smaller production workloads

Yearly only

A low-commitment annual tier for teams that have moved past evaluation and need a clean paid starting point.

$99/ year

15,000 credits / year

Lite is available on yearly billing only.

  • Predictable low-volume annual usage
  • Clean paid starting point after evaluation
  • Best for small production automations

Starter

For teams launching real document workflows

The first recurring tier for production pipelines that need a stable monthly credit budget and room to grow.

$49/ month

7,500 credits / month

  • Best recurring sell-rate in the catalog
  • Fits early production and internal ops workflows
  • Works well with one-time top-ups for bursts

Growth

For steady OCR throughput in production

Most used

A balanced recurring tier for document-heavy apps and operations teams that need more room without jumping to enterprise-style volume.

$149/ month

22,500 credits / month

  • A practical fit for most production teams
  • Enough volume for sustained invoice and form workflows
  • Balanced room before moving into enterprise volume

Scale

For larger recurring document programs

Built for heavier throughput, cleaner annual budgeting, and teams that want a recurring pool sized for serious document automation.

$399/ month

60,000 credits / month

  • High recurring capacity for mature pipelines
  • Supports larger backlogs and steadier ingestion
  • Built for heavier recurring document programs

Need more than recurring credits?

Top-up packs and enterprise pricing live on the dedicated pricing page

Keep the homepage focused on subscriptions. Use the full pricing page for burst packs, surcharge details, and sales-led enterprise conversations.

Open pricing

Frequently asked questions

Short answers to the questions teams ask before they put OCR into a production workflow.

Run a real document through LeapOCR with 100 free credits.

Start with a page that matters. See whether the right handoff is markdown, schema-fit JSON, bbox, or custom instructions before you change the rest of the workflow.