# Documents in. Grounded data out.
import { Card, CardHeader, CardTitle, CardDescription, CardContent } from "zudoku/ui/Card.js";
import { Button } from "zudoku/ui/Button.js";
DocAI parses PDFs, scans and spreadsheets into markdown, table geometry and
schema-shaped JSON — with page coordinates on every segment, so an answer can
point at the line it came from.
45 operations · 36 endpoints · 128 documented error codes
Parse
Upload anything, get a bundle back
Markdown in reading order, per-segment bounding boxes, table cell geometry,
page renders and extracted figures. Born-digital and scanned take different
paths automatically.
Extract
Your schema, filled in
Describe the fields you want and get JSON shaped to them, with citations
back to the exact segment each value came from. Generate a schema from a
document if you do not have one yet.
Search
Evidence, not embeddings
Full-text search across a knowledge base returns file and segment pointers
you can cite. It calls no model, so it costs no credits — search first,
then read only what you need.
## Work from your editor
The MCP server puts 23 DocAI tools inside Claude Code, Cursor and Codex —
upload, parse, extract, split, search, and sync a local folder — without
leaving the file you are in.
```bash
/plugin marketplace add ProvidusAI/docai-plugins
/plugin install docai
```
Cloud or your own hardware
The same API, the same tools and the same docs run against
`api.providus.ai` or an on-prem deployment. Point `DOCAI_BASE_URL` at your
instance; nothing else changes.
Errors you can branch on
Every failure returns a stable `code` beside its human-readable message.
All 128 are listed, generated from the API's own registry — so the
reference cannot fall behind the code.
## What a document becomes
A parse produces a bundle, not a blob:
| Artifact | What it is |
|---|---|
| `result_md` | The document as markdown, in reading order |
| `grounding_json` | Every segment with its page and bounding box |
| `tables_json` | Table structure with cell geometry |
| `result_json` | Schema-shaped extraction output |
| `pages`, `imgs` | Page renders and extracted figures |
Because every segment carries coordinates, an answer can point at the exact
place in the source it came from. That is what "grounded" means here, and it is
the difference between a citation and a guess.
## Where to go
Read in this order if you are new. Skip to the page you need if you are not.
- [Quickstart](/quickstart) — start here: keys, the four calls that parse a
document, and the conventions every endpoint shares.
- [Parsing](/parsing) — for anyone who needs the artifacts a parse produces and
the coordinates that ground them.
- [Extraction](/extraction) — for pulling schema-shaped JSON, with citations,
out of a parsed document.
- [Knowledge bases and search](/knowledge-bases) — for organising documents and
retrieving evidence without spending credits.
- [Split](/split) and [Classify](/classify) — separate combined PDFs and
label documents; [document workflows](/workflows) covers the queued
operation model they share, plus edit.
- [MCP server](/mcp) — for what each of the 23 agent tools does and what it
costs.
- [Plugins and commands](/plugins) — for installing those tools into Claude
Code, Cursor or Codex.
- [Agent guidance](/skill) — for the four rules that ship with the tools, and
why they are the safety mechanism.
- [API reference](/api) — for every endpoint, request body and response.
- [Error codes](/errors) — for the stable `code` behind each failure and what
to do about it.