New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsWeb Scraping & Browsers
Tool

Reducto Tools

Parse, extract, and split documents with the Reducto document API.

Reducto turns documents (PDFs and other files reachable by URL) into structured content. Use these tools in a workflow to parse a document into structured chunks, extract specific fields against a JSON schema, or split a document into labeled sections.

Overview

PropertyValue
Providerreducto
Categorytools
AuthBearer Token (Reducto API key sent as Authorization: Bearer <apiKey>)

Operations

OperationTool IDDescription
Parsereducto_parseParse a document into structured content (chunks, blocks, usage) via POST /parse.
Extractreducto_extractExtract structured data from a document against a JSON schema via POST /extract.
Splitreducto_splitSplit a document into sections based on described categories via POST /split.

Configuration

reducto_parse

Parses a document at a public URL into structured content. Request: POST https://platform.reducto.ai/parse.

ParameterTypeRequiredDescription
apiKeystringYesReducto API key. Secret — sent as Authorization: Bearer <apiKey>. Visibility: user-only.
documentUrlstringYesPublicly accessible URL of the document to parse. Visibility: user-or-llm.

reducto_extract

Extracts structured data from a document against a JSON schema. Request: POST https://platform.reducto.ai/extract.

ParameterTypeRequiredDescription
apiKeystringYesReducto API key. Secret — sent as Authorization: Bearer <apiKey>. Visibility: user-only.
documentUrlstringYesPublicly accessible URL of the document to extract from. Visibility: user-or-llm.
schemajsonYesJSON schema describing the fields to extract. Visibility: user-or-llm.
systemPromptstringNoOptional system prompt guiding the extraction. Visibility: user-or-llm.

reducto_split

Splits a document into sections based on described categories. Request: POST https://platform.reducto.ai/split.

ParameterTypeRequiredDescription
apiKeystringYesReducto API key. Secret — sent as Authorization: Bearer <apiKey>. Visibility: user-only.
documentUrlstringYesPublicly accessible URL of the document to split. Visibility: user-or-llm.
splitDescriptionjsonYesArray of category objects defining the sections to split into, e.g. [{"name":"invoice","description":"Pages containing an invoice"}]. Visibility: user-or-llm.

Outputs

All three tools return the same output shape.

reducto_parse

  • data (json) — Parsed document content (chunks, blocks, usage).
  • metadata (json) — Job metadata. Contains:
    • jobId (string) — Reducto job identifier.
    • status (number) — HTTP status code returned by Reducto.

reducto_extract

  • data (json) — Extracted structured data and citations.
  • metadata (json) — Job metadata. Contains:
    • jobId (string) — Reducto job identifier.
    • status (number) — HTTP status code returned by Reducto.

reducto_split

  • data (json) — Split result with detected sections and page ranges.
  • metadata (json) — Job metadata. Contains:
    • jobId (string) — Reducto job identifier.
    • status (number) — HTTP status code returned by Reducto.

YAML Example

reducto_1:
  type: reducto
  name: "Reducto"
  inputs:
    operation: "reducto_parse"
    documentUrl: "https://example.com/document.pdf"
    apiKey: "{{REDUCTO_API_KEY}}"
  connections:
    outgoing:
      - target: next-block-id

Extract example (operation reducto_extract):

reducto_2:
  type: reducto
  name: "Reducto"
  inputs:
    operation: "reducto_extract"
    documentUrl: "https://example.com/invoice.pdf"
    schema: '{"type":"object","properties":{"total":{"type":"number"}}}'
    systemPrompt: "Be precise and thorough."
    apiKey: "{{REDUCTO_API_KEY}}"
  connections:
    outgoing:
      - target: next-block-id

Split example (operation reducto_split):

reducto_3:
  type: reducto
  name: "Reducto"
  inputs:
    operation: "reducto_split"
    documentUrl: "https://example.com/bundle.pdf"
    splitDescription: '[{"name":"invoice","description":"Pages containing an invoice"}]'
    apiKey: "{{REDUCTO_API_KEY}}"
  connections:
    outgoing:
      - target: next-block-id

Tips

  • Auth setup: A single Reducto API key authenticates every operation. It is sent as a Bearer token (Authorization: Bearer <apiKey>), so store it as a secret/environment variable and reference it with {{REDUCTO_API_KEY}} rather than hardcoding it.
  • Documents must be reachable by URL: documentUrl has to be publicly accessible — Reducto fetches the file itself. Pass an upstream block's output with {{blockName.field}} if the URL is produced earlier in the workflow.
  • schema and splitDescription are JSON: For Extract, provide a valid JSON schema object describing the fields to pull out. For Split, provide a JSON array of {"name", "description"} category objects. Malformed JSON will cause the request to fail.
  • Reading results: Every operation returns the same shape — use {{reducto_1.data}} for the result payload and {{reducto_1.metadata.jobId}} / {{reducto_1.metadata.status}} for job tracking and the HTTP status.