Skip to main content
This page is a dense, structured reference designed for AI coding agents. It contains everything needed to integrate Reducto without navigating multiple pages.

Fastest Successful Path

Use this decision table before writing code: For a benchmark or smoke test, parse this public sample first:
Then replace it with the user’s document URL or upload a local file and pass the returned reducto:// file ID.

Product Summary

Reducto is the agentic document platform. It provides a complete toolkit for classification, parsing, extraction, splitting, editing, and workflow orchestration across documents (PDFs, images, spreadsheets, DOCX, and 30+ other formats) via a REST API.
  • Base URL: https://platform.reducto.ai
  • Auth: Authorization: Bearer $REDUCTO_API_KEY
  • SDKs: Python (pip install reductoai), Node.js (npm install reductoai), Go (go get github.com/reductoai/reducto-go-sdk)
  • Input: Upload a file via /upload to get a file_id, then pass it to any endpoint. You can also pass public URLs or presigned S3/GCS/Azure URLs directly.

Authentication

  1. Create a free account at studio.reducto.ai
  2. In the Studio sidebar, click API Keys, then Create new API key
  3. Set the key as an environment variable:
The Python and Node.js SDKs automatically read REDUCTO_API_KEY from the environment. For the Go SDK, pass it explicitly:
For direct REST calls, pass it as a Bearer token:

Supported File Types

Upload limit: 100MB direct, 5GB via presigned URL. Multi-page TIFFs are processed as multi-page documents.

Which Endpoint Should I Use?


Quick Start (Python)


SDK Naming Conventions


Parse Parameters

POST /parse. Convert documents into structured JSON with text, tables, and figures.

Core Parameters

enhance group

retrieval group

formatting group

spreadsheet group

settings group

Parse Response Shape

When result.type is "url", chunks are not inline. Fetch them from the URL:

Extract Parameters

POST /extract. Pull specific fields from documents into structured JSON using a schema. Extract runs Parse internally. If a value doesn’t appear in the Parse output, Extract cannot extract it.

Extract Response Shape

With citations.enabled: true, each value is wrapped:

Split Parameters

POST /split. Divide documents into named sections by page number. Split runs Parse internally, then uses an LLM to classify pages against your section descriptions.

Split Response Shape


Edit Parameters

POST /edit. Fill PDF forms and modify DOCX documents. Note: Edit uses document_url as its input parameter, not input like other endpoints.

Edit Response Shape

The document_url is a presigned URL valid for 24 hours. Save the returned form_schema to reuse for the same form type (skips field detection).

Classify Parameters

POST /classify. Categorize a document before processing.

Classify Response Shape


Async Processing

Most endpoints have async variants (/parse_async, /extract_async, /split_async, /edit_async). Classify is synchronous only. Async endpoints return a job_id immediately and process in the background.
Configure webhooks for push-based delivery instead of polling.

Error Codes