# 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.