DOCUMENT CONVERSION API / BUILT FOR RAG

Documents in.
Structured data out.

Turn PDFs, office and other supported documents into structured Markdown, JSON, or chunks ready to inject into any vector database. One API, without the document-processing infrastructure to maintain.

>_ cURL
curl --request POST "https://docuapi.dev/convert" \
  --header "Authorization: Bearer $DOCUAPI_API_KEY" \
  --form "file=@./annual-report.pdf" \
  --form "output_format=json"
Example request cURL

Explore a conversion.

Use sample data instantly, or upload a document to try the DocuAPI document conversion.

DOCUMENT INPUTMax 10 MB

Choose a sample or upload your own file

PDF, DOCX, PPTX, XLSX, HTML, Markdown, TXT, CSV, EPUB, JPG, JPEG, PNG, BMP, GIF, TIF or TIFF. Images require OCR. See all supported formats in the documentation.

No document retention
SAMPLE DOCUMENT

Annual Report 2025

PDF · 12 pages5 content blocks
OUTPUT SAMPLE
document.jsonJSON
{
  "document": {
    "title": "Annual Report 2025",
    "source": "annual-report.pdf",
    "page_count": 12
  },
  "content": [
    {
      "id": "block_001",
      "type": "heading",
      "text": "Revenue and growth",
      "page": 2
    },
    {
      "id": "block_002",
      "type": "paragraph",
      "text": "Revenue increased by 12% in 2025, driven by expansion in the European market and stronger customer retention.",
      "page": 2
    },
    {
      "id": "block_003",
      "type": "heading",
      "text": "Regional performance",
      "page": 3
    },
    {
      "id": "block_004",
      "type": "table",
      "text": "Revenue by region",
      "page": 3,
      "rows": [
        [
          "Region",
          "Revenue",
          "Growth"
        ],
        [
          "Europe",
          "CHF 8.4M",
          "+15%"
        ],
        [
          "North America",
          "CHF 5.1M",
          "+9%"
        ],
        [
          "Asia Pacific",
          "CHF 2.7M",
          "+11%"
        ]
      ]
    },
    {
      "id": "block_005",
      "type": "paragraph",
      "text": "The company plans to continue investing in platform reliability and customer support during the next financial year.",
      "page": 4
    }
  ],
  "metadata": {
    "extraction_mode": "sample",
    "ocr_enabled": false
  }
}

A small API between you and document chaos.

Focus on retrieval and product logic. Let the conversion layer handle the messy first mile.

See how it works
⌘

Structure, not just text

Keep headings, tables, reading order, and useful document metadata where the source supports them.

{ }

Output made for pipelines

Choose Markdown, normalized JSON, or ready-to-ingest chunks for any vector database.

↗

Sync or async

Use a direct response for small conversions or submit a job for longer-running documents.

◷

Usage you can reason about

Clear monthly allowances and explicit limits, designed for developers building production systems.

Three steps. Back to building.

A predictable conversion layer should be easy to understand, test, and replace if your needs change.

Read the quickstart
01

Send a document

Submit a supported file with your API request. Set the output format and conversion options.

PDF · DOCX · HTML · AND OTHER SUPPORTED FORMATS
02

Get structured content

Receive Markdown, normalized JSON, or paragraph-based chunks with source and section metadata.

MARKDOWN · JSON · CHUNKS
03

Feed your RAG pipeline

Send the returned chunks to your embedding and indexing workflow, then store them in any vector database.

VECTOR DB AGNOSTIC

Connect in a few lines of code.

With API libraries for pretty much every programming language you can think of, DocuAPI fits seamlessly into any stack.

cURL
curl --request POST "https://docuapi.dev/convert" \
  --header "Authorization: Bearer $DOCUAPI_API_KEY" \
  --form "file=@./annual-report.pdf" \
  --form "output_format=json"

Good questions, straight answers.

Browse documentation

DocuAPI converts supported documents into Markdown, structured JSON, or structured chunks for retrieval-augmented generation (RAG). Chunks include source and section metadata, so you can send them to your embedding model and vector database.

BUILD YOUR RAG PIPELINE

Spend less time parsing.
More time building.