Skip to main content
POST
/
extract_async
Extract Async
import requests

url = "https://platform.reducto.ai/extract_async"

payload = {
    "schema": "<unknown>",
    "document_url": "<string>",
    "options": {
        "ocr_mode": "standard",
        "extraction_mode": "ocr",
        "chunking": {
            "chunk_mode": "variable",
            "chunk_overlap": 0
        },
        "table_summary": { "enabled": False },
        "figure_summary": {
            "enabled": False,
            "prompt": "<string>",
            "override": False,
            "advanced_chart_agent": False
        },
        "filter_blocks": [],
        "force_url_result": False
    },
    "advanced_options": {
        "ocr_system": "highres",
        "table_output_format": "html",
        "merge_tables": False,
        "include_formula_information": False,
        "include_color_information": False,
        "include_dropdown_information": False,
        "continue_hierarchy": True,
        "keep_line_breaks": False,
        "page_range": {},
        "force_file_extension": "<string>",
        "large_table_chunking": {
            "enabled": True,
            "size": 50
        },
        "spreadsheet_table_clustering": "default",
        "max_cell_count": 2,
        "add_page_markers": False,
        "remove_text_formatting": False,
        "return_ocr_data": False,
        "document_password": "<string>",
        "filter_line_numbers": False,
        "read_comments": False,
        "persist_results": False,
        "exclude_hidden_sheets": False,
        "exclude_hidden_rows_cols": False,
        "enable_change_tracking": False,
        "enable_highlight_detection": False,
        "ignore_watermarks": False
    },
    "experimental_options": {
        "enrich": {
            "enabled": False,
            "mode": "standard"
        },
        "layout_enrichment": False,
        "enable_checkboxes": False,
        "enable_equations": False,
        "rotate_pages": True,
        "rotate_figures": False,
        "enable_scripts": False,
        "return_figure_images": False,
        "return_table_images": False,
        "return_page_images": False,
        "layout_model": "default",
        "embed_text_metadata_pdf": False,
        "embed_pdf_metadata_dpi": 100,
        "detect_signatures": False,
        "danger_filter_wide_boxes": False,
        "user_specified_timeout_seconds": 123
    },
    "system_prompt": "Be precise and thorough.",
    "deep_extract": False,
    "generate_citations": False,
    "array_extract": {
        "enabled": False,
        "mode": "legacy",
        "pages_per_segment": 10
    },
    "use_chunking": False,
    "include_images": False,
    "spreadsheet_agent": False,
    "experimental_table_citations": True,
    "priority": False,
    "citations_options": {
        "numerical_confidence": False,
        "parent_block": "full"
    },
    "agent_extract": { "enabled": False },
    "webhook": {
        "mode": "disabled",
        "channels": []
    }
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
schema: '<unknown>',
document_url: '<string>',
options: {
ocr_mode: 'standard',
extraction_mode: 'ocr',
chunking: {chunk_mode: 'variable', chunk_overlap: 0},
table_summary: {enabled: false},
figure_summary: {
enabled: false,
prompt: '<string>',
override: false,
advanced_chart_agent: false
},
filter_blocks: [],
force_url_result: false
},
advanced_options: {
ocr_system: 'highres',
table_output_format: 'html',
merge_tables: false,
include_formula_information: false,
include_color_information: false,
include_dropdown_information: false,
continue_hierarchy: true,
keep_line_breaks: false,
page_range: {},
force_file_extension: '<string>',
large_table_chunking: {enabled: true, size: 50},
spreadsheet_table_clustering: 'default',
max_cell_count: 2,
add_page_markers: false,
remove_text_formatting: false,
return_ocr_data: false,
document_password: '<string>',
filter_line_numbers: false,
read_comments: false,
persist_results: false,
exclude_hidden_sheets: false,
exclude_hidden_rows_cols: false,
enable_change_tracking: false,
enable_highlight_detection: false,
ignore_watermarks: false
},
experimental_options: {
enrich: {enabled: false, mode: 'standard'},
layout_enrichment: false,
enable_checkboxes: false,
enable_equations: false,
rotate_pages: true,
rotate_figures: false,
enable_scripts: false,
return_figure_images: false,
return_table_images: false,
return_page_images: false,
layout_model: 'default',
embed_text_metadata_pdf: false,
embed_pdf_metadata_dpi: 100,
detect_signatures: false,
danger_filter_wide_boxes: false,
user_specified_timeout_seconds: 123
},
system_prompt: 'Be precise and thorough.',
deep_extract: false,
generate_citations: false,
array_extract: {enabled: false, mode: 'legacy', pages_per_segment: 10},
use_chunking: false,
include_images: false,
spreadsheet_agent: false,
experimental_table_citations: true,
priority: false,
citations_options: {numerical_confidence: false, parent_block: 'full'},
agent_extract: {enabled: false},
webhook: {mode: 'disabled', channels: []}
})
};

fetch('https://platform.reducto.ai/extract_async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://platform.reducto.ai/extract_async"

payload := strings.NewReader("{\n \"schema\": \"<unknown>\",\n \"document_url\": \"<string>\",\n \"options\": {\n \"ocr_mode\": \"standard\",\n \"extraction_mode\": \"ocr\",\n \"chunking\": {\n \"chunk_mode\": \"variable\",\n \"chunk_overlap\": 0\n },\n \"table_summary\": {\n \"enabled\": false\n },\n \"figure_summary\": {\n \"enabled\": false,\n \"prompt\": \"<string>\",\n \"override\": false,\n \"advanced_chart_agent\": false\n },\n \"filter_blocks\": [],\n \"force_url_result\": false\n },\n \"advanced_options\": {\n \"ocr_system\": \"highres\",\n \"table_output_format\": \"html\",\n \"merge_tables\": false,\n \"include_formula_information\": false,\n \"include_color_information\": false,\n \"include_dropdown_information\": false,\n \"continue_hierarchy\": true,\n \"keep_line_breaks\": false,\n \"page_range\": {},\n \"force_file_extension\": \"<string>\",\n \"large_table_chunking\": {\n \"enabled\": true,\n \"size\": 50\n },\n \"spreadsheet_table_clustering\": \"default\",\n \"max_cell_count\": 2,\n \"add_page_markers\": false,\n \"remove_text_formatting\": false,\n \"return_ocr_data\": false,\n \"document_password\": \"<string>\",\n \"filter_line_numbers\": false,\n \"read_comments\": false,\n \"persist_results\": false,\n \"exclude_hidden_sheets\": false,\n \"exclude_hidden_rows_cols\": false,\n \"enable_change_tracking\": false,\n \"enable_highlight_detection\": false,\n \"ignore_watermarks\": false\n },\n \"experimental_options\": {\n \"enrich\": {\n \"enabled\": false,\n \"mode\": \"standard\"\n },\n \"layout_enrichment\": false,\n \"enable_checkboxes\": false,\n \"enable_equations\": false,\n \"rotate_pages\": true,\n \"rotate_figures\": false,\n \"enable_scripts\": false,\n \"return_figure_images\": false,\n \"return_table_images\": false,\n \"return_page_images\": false,\n \"layout_model\": \"default\",\n \"embed_text_metadata_pdf\": false,\n \"embed_pdf_metadata_dpi\": 100,\n \"detect_signatures\": false,\n \"danger_filter_wide_boxes\": false,\n \"user_specified_timeout_seconds\": 123\n },\n \"system_prompt\": \"Be precise and thorough.\",\n \"deep_extract\": false,\n \"generate_citations\": false,\n \"array_extract\": {\n \"enabled\": false,\n \"mode\": \"legacy\",\n \"pages_per_segment\": 10\n },\n \"use_chunking\": false,\n \"include_images\": false,\n \"spreadsheet_agent\": false,\n \"experimental_table_citations\": true,\n \"priority\": false,\n \"citations_options\": {\n \"numerical_confidence\": false,\n \"parent_block\": \"full\"\n },\n \"agent_extract\": {\n \"enabled\": false\n },\n \"webhook\": {\n \"mode\": \"disabled\",\n \"channels\": []\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
{
  "job_id": "<string>"
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
schema
any
required

The JSON schema to use for extraction.

document_url
required

The URL of the document to be processed. You can provide one of the following:

  1. A publicly available URL
  2. A presigned S3 URL
  3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document
  4. A job_id (jobid://) or a list of job_ids (jobid://) obtained from a previous /parse endpoint
options
BaseProcessingOptions · object
advanced_options
AdvancedProcessingOptions · object
experimental_options
ExperimentalProcessingOptions · object
system_prompt
string
default:Be precise and thorough.

A system prompt to use for the extraction. This is a general prompt that is applied to the entire document before any other prompts.

deep_extract
boolean
default:false

If True, use Deep Extract, an agentic extraction mode that iteratively refines its output to achieve near-perfect accuracy. Best for complex documents where accuracy is critical.

generate_citations
boolean
default:false

If citations should be generated for the extracted content.

array_extract
ArrayExtractConfig · object

The configuration options for array extract

use_chunking
boolean
default:false

If chunking should be used for the extraction. Defaults to False.

include_images
boolean
default:false

If images should be passed directly for extractions. Can only be enabled for documents with less than 10 pages. Defaults to False.

spreadsheet_agent
boolean
default:false

If spreadsheet agent should be used for extraction.

experimental_table_citations
boolean
default:true

If table citations should be generated for the extracted content.

priority
boolean
default:false

If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.

citations_options
AdvancedCitationsConfig · object

The configuration options for citations.

agent_extract
AgentExtractConfig · object

The configuration options for agent extract

webhook
WebhookConfigNew · object

Response

Successful Response

job_id
string
required