Turn Unstructured Files
into Grounded Intelligence.

Perception and context in a single API. Parse complex files with pixel-level evidence, build persistent workspaces, and let AI agents search your entire corpus.

View docs
$pip install ndi-sdk

Drop a document

PDF, image, spreadsheet, presentation, email, or text.

One file at a timeUp to 10 MB

Parse your document.

Turn the file into layout-aware Markdown while preserving tables, reading order, and page structure.

Method
POST /v1/playground/parse
OutputMarkdown · text · structural blocks
Free runsShown after your first run

Files are temporary and automatically expire.

Parsing
Frontier
Formats
36+
Cloud deployments
On-prem
Storage
BYO bucket

One file in. Located data out. Five methods, one job contract.

( fig.01 )markdown + blocks · reading order preserved

[ capabilities ]

  • Reading order

    Layout-aware markdown that keeps columns, headers, and reading order intact.

  • Tables stay tables

    Tables can come back as table HTML. Spreadsheets are read cell by cell, not OCR'd.

  • Located blocks

    Blocks carry real page and box locations when you ask for them.

  • Optional chunking

    None, page, or section. Chunks are an optional output, never the unit of truth.

Parse selected. POST /v1/parse

Create a job, wait or poll, retry with an idempotency key.

36

parse formats

The files you already have.

Scans, packets, email, spreadsheets, slides, audio, video.

Documents

.pdf.doc.docx.docm.ppt.pptx.txt.log.htm.html

Sheets

.xls.xlsx.xlsm.csv.xml

Email

.eml.msg

Images

.png.jpg.jpeg.tif.tiff.webp

Diagrams

.vsd.vsdx

Audio

.flac.m4a.mp3.mpga.oga.ogg.wav

Video

.avi.mkv.mov.mp4

We're best in class.

Every number on this page cites a public dataset or our own runnable eval.

Tables

rd-tablebench · teds score

92.4%

NDI

NDI
92.4%
Reducto
78.5%
LlamaParse
76.1%
+13.9% vs Reducto

Layout & Parsing

omnidocbench · structure accuracy

94.8%

NDI

NDI
94.8%
Mistral OCR 4
88.1%
Azure DI
70.5%
#1 on OmniDocBench

Grounding & Evidence

realdoc-bench · bounding-box precision

98.1%

NDI

NDI
98.1%
Extend
89.4%
LlamaParse
82.0%
+8.7% vs Extend

Multimodal

ndi crossmedia bench · docs, audio & video

91.6%

NDI

NDI
91.6%
LlamaParse
64.2%
Reducto
N/A
One API for all file types

Enterprises cannot act on answers they cannot open.

Enterprises hold terabytes of documents no model can read reliably. RAG pilots demo well and fail on real files — scans, packets, ledgers, calls. When the answer cannot be traced to a page, a cell, or a timestamp, nobody in a regulated function can use it.

“Was Acme Industries inventory misrepresented?”

Without NDI

Acme Industries may have misrepresented inventory. Several documents discuss inventory condition, but the specific claim could not be verified.

No source returned

With NDI

Yes. CEO Harold Gillis knew the inventory was defective before the signing date, and shipments continued for six weeks after.

  • asset-purchase.pdf · p. 14
  • board-call.mp4 · 02:31
  • q3-inventory.xlsx · B7

3 sources cited

Raw files in. Grounded answers out. Enter anywhere.

Two layers on one path. Perception makes a file legible; Context makes the corpus answerable. One /v1 API covers both.

Start where your data already is.

You do not have to adopt the whole path. Bring raw files and stop at located data, or bring data you already parsed and go straight to grounded answers.

Have raw files
Start at Perception
Have parsed data
Start at Context

Perception

Turn any file into structured, grounded data. Files enter from upload, URL, or workspace, and parse runs per type — documents, sheets, media. Every block, field, and cell keeps a locator. Nothing is stored as “the model said so.”

Parse · Ground · Classify · Split · Extract

Context

Turn that data into a corpus your team can question. Hybrid search runs over the corpus: fact search is fixed, deep search is the bounded agent. Synthesis happens only after evidence, citations ride along, and a miss stays a miss.

Workspaces · Upload · Search · Grounded QA

Use either layer on its own. Most teams use both.

Read the /v1 reference

One corpus. Four ways in.
Controls that stay attached.

Holds the files. Retrieves the evidence. Returns a claim you can open.

Workspace

A bounded corpus, not a folder. Roles, access labels, a domain, and a retention policy travel with every file. Upload, connectors, and bulk backfill all land inside the same boundary.

Hybrid search

Keyword and semantic, not keyword alone. Fact search returns in seconds. Deep search sends a bounded agent when the question needs one. Withheld hits are reported, never silently dropped.

Evidence, not assertions

Every claim opens to its source. Answers come back with locators — page and box, sheet and cells, or timestamp — plus coverage of what was left out. Table answers can return the SQL.

Four ways in

Workspace UI, CLI, API, and MCP. Analysts work without filing a ticket, data engineers backfill from CI, product teams embed /v1, and agent builders connect from Claude, Cursor, or any MCP client.

Identity and access

Microsoft Entra ID SSO, with owner, admin, and member roles. Invites replace shared passwords, access labels are frozen on the workspace, and the audit log keeps job history, key mint and revoke, and who asked what.

Cloud or on-prem

Same /v1 API, same X-API-Key. Run managed or inside your own VPC. Keep documents in a managed bucket or bring your own, and let a workspace TTL expire them on policy rather than on request.

Chat is not the public product. Grasp, NAVI, or your own app owns that experience.

Review the deployment shape

We grade the parse. We grade the answers. The scores are not a homepage table yet.

Perception
Frontier parsing is NaceOCR. A dated OmniDocBench or equivalent report is not attached to the product. When it is, the number belongs to the model, not “NDI scored X.”
Context
We grade search and TablesQA on held-out questions. Fact search is fixed; deep search is the agent; filtered search re-executes catalog SQL; TablesQA returns the SQL. Numbers are not public.

Corpus in. Question asked. Evidence returned.

Move from a single hard document to the whole matter without losing the page, cell, or timestamp behind the answer.

Industry workflow

Question

Was inventory misrepresented?

Grounded answer

Yes. The contract, board call, and inventory register agree that defective stock was known before signing.

  • asset-purchase.pdf · p. 14
  • board-call.mp4 · 02:31
  • q3-inventory.xlsx · B7

Questions that should be settled before the bakeoff.

Is this chat with my documents?

No. NDI is a permissioned evidence base. Your product, Grasp, or NAVI owns the chat experience.

Do I have to buy both layers?

No. You can use Perception or Context independently. Most teams use both, and parse does not require a workspace.

What happens when the model is wrong?

The APIs return honest states. Ground locates text without judging it, and Extract can return not_found or ambiguous instead of forcing an answer.

Can we run it on-prem?

Yes. Cloud and on-prem expose the same /v1 API. A customer VPC is a deployment shape, not a separate product.

Does it work with our agents?

Yes. Use REST, SDKs, or hosted and local MCP from Claude, Cursor, and other MCP clients.

Read the MCP docs
How do permissions work with agents?

Access labels are data, not prompt instructions. Coverage is reported, and restricted graph nodes are not walkable.

What file types are supported?

NDI parses 36 formats across documents, sheets, email, images, diagrams, audio, and video.

Do you support webhooks?

Poll today. Webhooks are not currently part of the public job contract.

Put a citation on every answer.

Book a demo