An open-source project by Imran Khan

Extract with confidence.
Review with clarity.

Turn invoices, resumes and forms into fields your app can act on. JevAPI asks Jev, TypeSafe's decision model, whether the document really says each value. Then it tells you which fields to fill and which ones a person should check, with a reason for each.

JavaScript + Python · Field verification · Confidence calibration

invoice_2231.txtChecking with Jev
Sample invoice. Scores are from real Jev runs on this sample. The due date was sent wrong on purpose.
01   Document text→02   Extract & verify→03   Fill or review

How it works

Three steps. One request to Jev per document.

A few lines in your app

Call the free hosted API from any language, or run the open-source package inside your own server.

  • curl, JavaScript and Python examples
  • Recipes for resumes, invoices, receipts, bank statements and forms
  • Your keys, your costs. JevAPI never pays for or marks up model calls
  • Stateless. Nothing you send is kept
Quickstart →
# Check values against the document
curl -X POST https://jevscope.vercel.app/api/v1/verify \
  -H "X-Jev-Key: $TYPESAFE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"text": "...",
       "fields": [{"name": "due_date",
                   "value": "12 Sep 2026"}]}'

# Back comes a decision per field
{"field": "due_date",
 "action": "review",
 "confidence": 0.02,
 "reason": "... Below the 95% bar,
            so a person should check it."}

Honest by default

Until you calibrate, JevAPI says the scores are raw. Every answer carries its own reason, so nobody has to trust a number blindly.

₹0

Costs you nothing

Jev runs on your own TypeSafe key. The hosted API is free, with fair limits.

{ }

Open source

MIT licensed, in JavaScript and Python, with zero dependencies. Read every line on GitHub.

%

Your own numbers

Label a few hundred of your fields and JevAPI measures the scores on your documents, not ours.

Behind the project

Getting a value is only half the job.

I built JevAPI to explore a practical question: when should software trust an extracted field, and when should it ask a person?

01

The problem

An extractor can confidently read the wrong date, mix up a subtotal and total, or guess a missing value. Passing that straight into an app turns a small reading error into bad data.

02

What I built

A document extraction and verification API with JavaScript and Python SDKs. It checks values against the source and returns a fill or review decision for each field.

03

What I learned

Confidence needs measurement. The project includes calibration tools to test scores on labelled examples and choose a threshold that fits the cost of an error.

Explore bundled samples in the demo. Live model calls use your own provider key. Sample results illustrate the workflow; they are not a production accuracy guarantee.

See it on a real document

Load a sample invoice, resume, receipt, bank statement or form, add your TypeSafe key, and watch each field get filled or flagged.

Explore the demo → Read the docs →