Skip to main content

Overview

This page provides ready-to-use Anthropic tool-use JSON schemas that let Claude interact with Unsiloed’s document processing API. Copy the tool definitions into your messages.create() call and Claude can parse, extract, classify, and split documents on your behalf.
All Unsiloed API operations are asynchronous. Each tool submits a job and returns a job_id. Use the unsiloed_get_job_result tool to poll for results. Since Claude cannot upload binary files, all tools accept a publicly accessible URL to the document.

Prerequisites

Before using these tool schemas, you’ll need:

Key Features

Drop-In Tool Schemas

Copy-paste JSON tool definitions directly into your Anthropic API calls

Async Job Handling

Built-in polling tool to retrieve results from asynchronous operations

Core Document Operations

Parse documents, extract structured data, classify, and split PDFs

Agentic Loop Ready

Full working example of an autonomous document processing agent

Tool Definitions

Each tool follows Anthropic’s tool format with name, description, and input_schema. Expand each tool below to see its full schema.
Parse documents (PDF, images, Office files) into structured chunks with element detection, OCR, and reading order analysis.
Extract structured data from PDF documents using a custom JSON schema you define.
Classify a PDF document into one of several predefined categories with confidence scoring.
Split a multi-document PDF into separate files by classifying each page into categories.
Poll for the result of any asynchronous Unsiloed job.

All Tools (Copy & Paste)

Copy this complete tools array and pass it directly to your Anthropic API call. The SDK examples below refer back to it as the tools array.

Show the full tools array (JSON)

Usage with the Anthropic SDK

Here’s how to register these tools and handle Claude’s tool calls:

Complete Agentic Loop Example

This standalone example shows a full autonomous loop where Claude processes a document end-to-end:
Python

Error Handling

When integrating with the Unsiloed API, handle these common scenarios:
If a job’s status is "Failed" or "failed", the response includes an error message. Parse jobs use capitalized statuses (Succeeded, Failed), while extraction, classification, and splitting jobs use lowercase (completed, failed).
A 401 response means the API key is missing or invalid. Ensure you pass the key in the api-key header.
A 402 response means your organization has run out of credits. Check the quota_remaining field in successful responses to monitor usage proactively.
If a job hasn’t completed after 5 minutes of polling, treat it as a timeout. Jobs rarely take longer than 2 minutes for standard documents.

Best Practices

  1. Use descriptive categories — When classifying or splitting, add description fields to your category objects. This significantly improves accuracy.
  2. Poll with backoff — Wait 5-10 seconds between unsiloed_get_job_result calls. Tight polling wastes quota and adds no benefit.
  3. Use publicly accessible URLs — Claude cannot upload binary files. Use presigned URLs from your cloud storage or any publicly accessible link.
  4. Keep extraction schemas focused — Smaller, targeted extraction schemas produce better results than large catch-all schemas. Extract what you need.
  5. Handle errors gracefully — Always check job status before processing results. Return clear error messages so Claude can inform the user.
  6. Monitor your quota — Check the quota_remaining field in API responses and alert when running low.

Next Steps

Parsing

Learn about document parsing and structure analysis

Classification

Explore document classification with confidence scoring

Splitting

Split multi-document PDFs into separate files

API Reference

Full API reference with all endpoints and parameters