[ PARSE API ]

Turn documents into structured Markdown.

Send PDFs, images, Word documents, or PowerPoint files to /parse and get ordered Markdown chunks with layout segments and source coordinates. Use the dedicated /parse/excel endpoint for spreadsheets.

[ OVERVIEW ]
What it does

Parse converts documents into ordered Markdown chunks and layout-aware JSON. Each chunk contains segments for text, tables, figures, and headings, with coordinates that link the output to the source page.

Who it's for

Engineers building RAG pipelines, document agents, and search over messy enterprise files who need the structure that OCR throws away.

What it solves

Flat OCR loses reading order and document structure. Parse preserves tables, section boundaries, and layout so downstream systems do not have to reconstruct the page from a stream of characters.

[ USE CASES ]

Where teams reach for Parse first.

RAG over enterprise documents

Use ordered Markdown chunks as retrieval units while retaining their source-page context.

Document agents

Give agents structured content with segment labels and coordinates they can inspect and cite.

Tables and forms

Preserve rows, headers, and form structure instead of flattening every element into plain text.

Scans, faxes, and photos

Read page pixels when an embedded text layer is missing or unreliable.

Charts and figures

Figures are detected and captioned so downstream models know what a chart is showing.

Multi-column layouts

Recover reading order so paragraphs do not run left-to-right across unrelated columns.

[ WHY UNSILOED ]

Why teams switch their pipeline to Parse.

  • 01

    Layout preserved, not flattened

    Tables, lists, and section hierarchy remain represented in the returned Markdown and segments.

  • 02

    Bounding boxes on every block

    Each chunk ships with word-level coordinates, so you can highlight, redact, or ground a citation back to the exact spot on the page.

  • 03

    Vision OCR for scanned pages

    The vision model reads content and layout together when a document has no usable embedded text.

  • 04

    Reading order that makes sense

    Multi-column pages are re-threaded into natural reading order instead of streaming left-to-right across columns.

  • 05

    Asynchronous by design

    The submit-and-poll workflow lets document processing continue without holding an HTTP connection open.

  • 06

    A shared document layer

    Use parsed structure on its own or pass the result into downstream retrieval and automation workflows.

[ HOW IT WORKS ]

4 steps from raw file to structured output.

  1. 1

    Send a document

    POST the file to /parse as multipart form data with your api-key header and capture the returned job ID.

  2. 2

    Parse reads content and layout

    The service detects text, tables, figures, headings, and their positions on each page.

  3. 3

    Poll for completion

    GET /parse/{job_id} until the status is Succeeded. A Failed status includes an error message.

  4. 4

    Use the returned chunks

    Read Markdown from each chunk’s segments[].markdown, with layout details on the same segments.

parse.py
1 import os, time, requests
2
3 BASE = "https://prod.visionapi.unsiloed.ai"
4 HEADERS = {"api-key": os.environ["UNSILOED_API_KEY"]}
5
6 # 1. submit the document
7 with open("financial_report_q4.pdf", "rb") as file:
8 response = requests.post(
9 f"{BASE}/parse", headers=HEADERS,
10 files={"file": file}
11 )
12 response.raise_for_status()
13 job_id = response.json()["job_id"]
14
15 # 2. poll for the parsed Markdown and layout
16 for _ in range(60):
17 response = requests.get(
18 f"{BASE}/parse/{job_id}", headers=HEADERS)
19 response.raise_for_status()
20 result = response.json()
21 if result["status"] == "Succeeded": break
22 if result["status"] == "Failed":
23 raise RuntimeError(
24 result.get("message", "Parse failed"))
25 time.sleep(5)
26 else:
27 raise TimeoutError("Parse did not finish in 5 minutes")
28
29 for chunk in result["chunks"]:
30 for segment in chunk["segments"]:
31 print(segment.get("markdown") or segment.get("content", ""))
[ BUILT FOR PRODUCTION ]

The same API from
prototype to scale.

Use the same submit-and-poll workflow from prototype through production. Page-based pricing starts with a free tier, with managed, VPC, on-premises, and air-gapped deployment options for larger workloads.

Read the docs
99.9%

uptime target on enterprise plans.

SOC 2GDPRVPC availableOn-premises availableAir-gapped available
[ THE PLATFORM ]

One API for the document pipeline.

Parse uses the same authentication and billing as every other capability. Combine it with Parse, Extract, Split, and Classify, or call it on its own.

[ FAQS ]

Parse
questions

  • OCR recognizes characters. Parse also returns reading order, Markdown, layout segments, and source coordinates, so tables, headings, and sections remain represented in the output.
  • The /parse endpoint accepts PDFs, images such as JPG and PNG, Word documents, and PowerPoint files. Send XLS and XLSX workbooks to the dedicated /parse/excel endpoint.
  • Parse can read scanned pages, faxes, photographs, and legible handwriting with vision OCR. Accuracy depends on image quality and handwriting legibility, so test representative files from your workflow.
  • Parse is asynchronous. POST a file to /parse, then poll /parse/{job_id} until the status is Succeeded or Failed. The job continues processing between requests.
  • Managed, VPC, on-premises, and air-gapped deployment options are available. Contact Unsiloed to confirm the networking, authentication, and operational details for your environment.
  • Pricing is based on pages processed, with a free tier and custom plans for higher-volume workloads and enterprise deployment requirements.

See Unsiloed AI work on your own documents.

Tell us a little about your workflow and share a sample document. We’ll use it to show you a structured output during the call.

The accuracy, especially on tables, is meaningfully better than anything we tested. We evaluated over 15 solutions and Unsiloed was the only one that worked reliably.

Head of AI

Fortune 150 Bank, NY

Upload sample files you'd like us to run through Unsiloed. We'll use them to show you a sample structured output once we meet.