Extract it, search it, ask it, automate it.
Upload a document once. Everything the harness reads from it comes back four ways — typed JSON, search results, exact totals, and answers you can trace.

One upload. Four things to do with it.
Each one reads from the same extraction, so nothing is processed twice and nothing disagrees with anything else.
Extract
Headers, line items, and your own schemas, returned as typed fields with a confidence score on every value.
"invoiceNumber": {
"value": "IL-2026-04812",
"confidence": "high"
}Search & Analytics
Three ways to find a document, then sums, averages and counts computed in the database rather than guessed by a model.
"total": 28451.67, "currency": "USD", "documents": 127
Chat
Questions in plain language, answered from the documents themselves — with the document IDs the answer came from.
"answer": "$900.24 across 2 invoices", "sources": ["a911da66…"]
Agents & MCP
13 tools on one hosted server, so an agent can do everything above without you writing the glue.
extract_document query_documents aggregate_documents
FileTag
A document's identity rather than its contents — vendor, date, type, total, a suggested filename, and an enriched copy with the metadata embedded. Over REST or MCP, with 1,500 tags a month on every plan.
Search, totals and chat are built on the full extraction above. FileTag is the step before that — when you need the data inside the file, that's Extract.
scan_0421.pdfacme-supply_invoice_2026-08-01.pdfWhy the four agree with each other.
Most AI extraction is a single LLM call wrapped in a prompt. Gemina is everything around it — specialized agents, validation layers, and compliance controls. One reading of the document, which is why search, totals and chat never contradict the JSON.
Agents that reason
Specialized agents that understand context, cross-check values, and refuse to guess — not a single model hoping for the best.
Works on any layout
No per-layout training and no templates to maintain. Upload a document and the harness handles it.
Compliance built in
Data residency by region and configurable retention. Your data never trains a model.
The same guarantees, whichever one you use.
These aren't per-product features. They hold for every document that enters the harness.
Any language, any script
Latin, Cyrillic, Arabic, Hebrew and CJK, with tuned support for Hebrew and English. Mixed-language documents are handled in one pass and right-to-left scripts are read correctly.
Handwriting, not just print
Cursive and print handwriting, signatures, annotations and form fills — read alongside printed text in the same document.
Confidence on every value
High, medium or low per field, not per document. A field that isn't there comes back empty and flagged rather than filled in with something plausible.
Speed you choose per call
Three model tiers on one parameter. Header extraction starts from 4–6 seconds on the fastest; the slowest trades time for accuracy on hard documents.
Your data stays yours
Choose the country your data is stored in, set automatic purge dates or delete via API, and know your documents never train a model.
REST, five SDKs, or MCP
The same capabilities over a REST API, official clients for Python, Node.js, Java, C# and PHP, or a hosted MCP server for agents.
Four families we've already mapped.
The API is the same for all of them. These pages cover what each family returns and where it gets awkward.
Invoice & spend
Key every invoice, then total the spend across all of them by vendor, category or period.
Read the pageInventory & procurement
Purchase orders, delivery notes and packing lists — what arrived, in what unit, at what price.
Read the pageContracts & legal
Parties, dates, renewal terms and amounts, then ask the whole repository where a clause lives.
Read the pageIdentity & forms
Applications, intake forms and ID documents, typed — handwritten or printed, in any script.
Read the pageBuilding this into a product your own customers use? That's Platforms & SaaS.
12 questions to ask any extraction vendor
A vendor-neutral checklist for evaluating any extraction API.
With Gemina's answer to each.
- 1
Can it handle varied, changing document types?
YesAgents reason about the document, so a new layout is just another document.
- 2
Can we define our own extraction schema?
YesYour own fields and line items, any document type, any language.
- 3
Does it return confidence — not just values?
YesPer-field high, medium, or low on every field.
- 4
Can it flag missing or low-confidence fields?
YesUncertain fields are flagged for review, not guessed.
- 5
How easy is the API integration?
Very easyOne REST call — file or URL. SDKs and webhooks for async.
- 6
Are webhooks available for async pipelines?
YesWebhooks for async, plus synchronous REST and MCP.
- 7
Is our data ever used to train models?
NeverYour documents are never used to train any model.
- 8
Can we control retention and deletion?
YesYou set the retention period. Delete via API; expired documents purge automatically.
- 9
Are data-residency options available?
YesChoose the country where your data is stored.
- 10
How transparent is the pricing?
FullyPer-page credit cost is published by extraction type and model.
- 11
Can we test with our own documents first?
YesFull API trial, all models, no credit card.
- 12
What happens when extraction is uncertain?
It flags itThe field is marked low-confidence for review — never guessed.
See it on your own document.
Full API access, all models included. No credit card required.