[ SPLIT API ]

Split a mixed PDF into labeled documents.

Define document categories, send a PDF to /splitter, and receive separate downloadable PDFs with a confidence score for each result. Use it to separate mixed intake batches before downstream processing.

[ OVERVIEW ]
What it does

Split classifies pages against categories you define and creates separate PDF files from the result. Each returned file includes a category-based name, download URL, and confidence score.

Who it's for

Teams processing combined statements, mailroom scans, and intake batches that need to separate document types before routing or extraction.

What it solves

Mixed PDFs force downstream systems to handle unrelated document types together. Split separates the batch first so each output file can follow the workflow for its category.

[ USE CASES ]

Separate mixed PDFs before the next workflow runs.

Mailroom and intake batches

Separate invoices, receipts, contracts, and other document classes from one scanned PDF.

Combined statements

Divide a merged statement package into labeled outputs for account- or document-specific processing.

Claims and onboarding packets

Separate forms, identification, evidence, and supporting documents before extraction.

Patient-record batches

Route labs, referrals, notes, and administrative pages to the workflow for each category.

Contracts and exhibits

Split agreements and supporting exhibits into files that can be reviewed or processed separately.

Archive digitization

Turn scanned bundles into labeled PDFs before indexing and retention workflows run.

[ WHY UNSILOED ]

Why teams route through Split.

  • 01

    Categories with descriptions

    Define each category with a name and optional description so the classification criteria travel with the request.

  • 02

    Downloadable PDF outputs

    The completed job returns a file name and download URL for each split result.

  • 03

    Confidence on each result

    Use the returned confidence score to decide which files continue automatically and which require review.

  • 04

    Asynchronous processing

    Submit the PDF once, then poll the job while the service classifies pages and creates the output files.

  • 05

    Works with scanned batches

    Page classification uses document content rather than relying only on bookmarks or filenames.

  • 06

    Ready for downstream routing

    Send each downloaded PDF to the parsing, extraction, storage, or review workflow for its category.

[ HOW IT WORKS ]

4 steps from raw file to structured output.

  1. 1

    Send a PDF and categories

    POST the file and a JSON categories array to /splitter with your api-key header.

  2. 2

    Pages are classified

    Split assigns pages to the supplied categories using the page content and layout.

  3. 3

    Poll for completion

    GET /splitter/{job_id} until the status is completed or failed.

  4. 4

    Download the split files

    Read each result from result.files and use full_path to download the generated PDF.

split.py
1 import os, json, time, requests
2
3 BASE = "https://prod.visionapi.unsiloed.ai"
4 HEADERS = {"api-key": os.environ["UNSILOED_API_KEY"]}
5
6 categories = [
7 {"name": "invoice",
8 "description": "Invoices with payment details"},
9 {"name": "contract",
10 "description": "Agreements and legal terms"}
11 ]
12
13 with open("mixed_documents.pdf", "rb") as file:
14 response = requests.post(
15 f"{BASE}/splitter", headers=HEADERS,
16 files={"file": file},
17 data={"categories": json.dumps(categories)}
18 )
19 response.raise_for_status()
20 job_id = response.json()["job_id"]
21
22 for _ in range(60):
23 response = requests.get(
24 f"{BASE}/splitter/{job_id}", headers=HEADERS)
25 response.raise_for_status()
26 job = response.json()
27 if job["status"] == "completed": break
28 if job["status"] == "failed":
29 raise RuntimeError(job.get("error", "Split failed"))
30 time.sleep(5)
31 else:
32 raise TimeoutError("Split did not finish in 5 minutes")
33
34 for file in job["result"]["files"]:
35 print(file["name"], file["full_path"])
[ 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.

Split 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 ]

Split
questions

  • Chunking creates text units for retrieval. Split classifies pages in a mixed PDF and returns separate downloadable PDF files for the categories you supplied.
  • Pass a JSON array of category objects. Each category requires a name and can include a description that explains the document type you expect.
  • Pages assigned to the same category are represented in that category’s generated output. Test mixed ordering and repeated document types from your workflow to confirm the resulting grouping.
  • A completed job contains result.files. Each entry includes the generated PDF’s name, storage identifier, download URL, and classification confidence score.
  • Yes. Split can classify pages in scanned PDFs using their content. Results still depend on scan quality and how clearly the supplied categories differ.
  • Pricing is based on pages processed, with a free tier and custom plans for higher-volume splitting workflows.

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.