> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ndi.nace.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> What NDI is and what it does

**NDI (Nace Document Intelligence)** is a document-intelligence API. You send it a document — a PDF, a scanned image, a spreadsheet, an email, a Word file — and it gives you back structured, machine-usable output:

<CardGroup cols={3}>
  <Card title="Parse" icon="file-lines" href="/api-reference/parse">
    Convert any document into high-fidelity markdown. Spreadsheets become
    per-sheet markdown tables.
  </Card>

  <Card title="Ground" icon="crosshairs" href="/api-reference/ground">
    Locate values inside a source document and get back precise coordinates —
    bounding boxes on pages, cell ranges in spreadsheets, character ranges in
    text.
  </Card>

  <Card title="Categorize" icon="tags" href="/api-reference/categorize">
    Classify document segments and spreadsheet sheets against a taxonomy —
    yours or NDI's default.
  </Card>
</CardGroup>

NDI is deliberately **not** a chat service, a search engine, or a QA system. It hands you markdown, categories, and grounding coordinates; you own embedding, retrieval, and orchestration on top of them.

## How the API works

Every capability follows the same lifecycle:

1. **Give NDI a document** — upload it with [`POST /upload`](/api-reference/upload), or point at an `https://` or `s3://` URL. See [Files & sources](/concepts/files).
2. **Start a job** — call a method endpoint. Each method has a **sync** variant (`POST /parse`) that blocks until the result is ready, and an **async** variant (`POST /parse_async`) that returns a `job_id` immediately. See [Jobs](/concepts/jobs).
3. **Read the result** — inline from the sync response, or by polling [`GET /jobs/{job_id}`](/api-reference/get-job). Result artifacts (markdown files, cropped images) are returned as time-limited download URLs.

## Base URL

```text theme={"dark"}
https://ndi-api.nace.ai/api/v1
```

All endpoints in this documentation are relative to this base URL. Authentication is a single header — see [Authentication](/authentication).

NDI also provides a hosted [MCP integration](/mcp) at
`https://ndi-api.nace.ai/mcp` for using the same document capabilities from
Cursor and other compatible AI clients.

## A 30-second taste

```bash theme={"dark"}
curl -s https://ndi-api.nace.ai/api/v1/parse \
  -H "X-API-Key: $NDI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "file": {
      "source_url": "https://example.com/annual-report.pdf",
      "file_name": "annual-report.pdf"
    }
  }'
```

```json theme={"dark"}
{
  "job_id": "0c9b2c1e-8f4a-4a91-b7a5-3f2d1e0a9c8b",
  "action": "parse",
  "status": "succeeded",
  "result": {
    "result_type": "parse",
    "status": "success",
    "item": {
      "item_type": "file",
      "markdown_url": "https://…(time-limited download URL)…",
      "page_count": 96,
      "char_count": 184223,
      "extraction_duration_ms": 41250
    }
  },
  "created_at": "2026-07-12T21:04:11Z",
  "started_at": "2026-07-12T21:04:12Z",
  "completed_at": "2026-07-12T21:04:53Z"
}
```

Ready to make your first call? Head to the [Quickstart](/quickstart).
