Meet the Docling team at IBM TechXchange 2026 · Atlanta, GA · October 26–29, 2026See our sessions
DoclingDocling for IBM watsonx

Concepts

How Docling for IBM watsonx processes documents, which outputs it produces, and how requests work

From a document to AI-ready data

When you submit a document, the service does much more than extract text. It runs a pipeline of specialized models:

Your documents
PDF, Office, images, HTML, EPUB, email, …
Docling for IBM watsonx
Parsing and OCR, layout, tables, reading order, headings
Structured document
One model of the whole document
Outputs
mdhtmltextdoclangdclxchunks

The result is one structured document. It keeps what is usually lost when you only extract text:

  • headings and their nesting
  • tables with real rows, columns and merged cells
  • figures and their captions
  • lists and code blocks
  • the natural reading order across columns
  • the page and position of every element

Every output format is generated from this structured document.

A PDF page and the structured document Docling builds from it: page header, caption, table with cells, picture, text and footnote, in reading order

Output formats

Pick the formats you need with to_formats. You can request several in one call.

Formatto_formats valueBest for
MarkdownmdLLM prompts, quick reading, most RAG pipelines
HTMLhtmlDisplay in web applications
Plain texttextSearch indexing, simple NLP
DocLangdoclangThe full structure in an open, standard format
DocLang archivedclxDocLang plus the page and picture images, as a single file
JSONjsonPython applications that use the Docling SDK object model

DocLang

DocLang is an open, XML-based format for structured documents, being standardized at ISO. Think of it as doing for documents what JSON does for data or HTML does for the web: any tool can read it.

Docling uses DocLang as its native structured output:

  • Self-describing. Every element is typed (heading, paragraph, table cell, picture, caption, …) and carries its page and position.
  • Addressable. A section, table or cell can be found with a path, for example /heading[2]. That makes DocLang a good format for agents and for precise citations.
  • Portable. A .dclx archive bundles the document with its images in one file, ready to store, send or reopen later.

To inspect a DocLang file:

  • Drop it onto the DocLang Viewer to see the structure next to the page.
  • Query it from the terminal with dclq.

See Explore with DocLang for both.

Chunks

For retrieval-augmented generation (RAG), documents have to be split into chunks that fit an embedding model. Docling chunks along the document's own structure: a chunk does not cut a table or a section in half, and each chunk carries its headings and page numbers. The service can deliver chunks directly into Kafka or a vector database. See Chunking.

Asynchronous tasks

Every conversion runs as a task:

  1. Submit. A POST to a convert endpoint returns a task_id immediately.
  2. Poll. GET /v1/status/poll/{task_id} reports pending (with a queue position), processing, success or failure.
  3. Retrieve. GET /v1/result/{task_id} returns the per-document status and the outputs.

The Python and Java SDKs and the command-line tool do the polling for you. Results are kept for 24 hours.

Single, batch or connectors?

You want to…UseResults
Convert one document (URL or upload)/v1/convert/source/async, /v1/convert/file/asyncDownload links
Convert several documents from URLs/v1/convert/source/batch with presigned_url targetOne download link per document and format
Ingest a whole bucket, folder or libraryBatch endpoint with a source connectorWritten to a storage target that you choose
Feed a RAG pipelineBatch endpoint with chunking_options and a chunk target: Kafka, OpenSearch, AstraDBChunks streamed or indexed
Use documents from an AI assistantMCP or agent skillsConverted on demand

On this page