import requests
url = "https://platform.reducto.ai/extract"
payload = {
"input": "<string>",
"parsing": {
"enhance": {
"agentic": [],
"intelligent_ordering": False,
"summarize_figures": True
},
"retrieval": {
"chunking": {
"chunk_mode": "disabled",
"chunk_overlap": 0
},
"embedding_optimized": False,
"filter_blocks": []
},
"formatting": {
"add_page_markers": False,
"include": [],
"merge_tables": False,
"table_output_format": "dynamic"
},
"spreadsheet": {
"clustering": "accurate",
"exclude": [],
"include": [],
"split_large_tables": {
"enabled": True,
"size": 50
}
},
"settings": {
"embed_pdf_metadata": False,
"embed_pdf_metadata_dpi": 100,
"extraction_mode": "hybrid",
"force_url_result": False,
"hybrid_vpc": {},
"ocr_system": "standard",
"persist_results": False,
"return_images": [],
"return_ocr_data": False
}
},
"instructions": {
"schema": {},
"system_prompt": "Be precise and thorough."
},
"settings": {
"include_images": False,
"optimize_for_latency": False,
"force_url_result": False,
"array_extract": False,
"deep_extract": False,
"citations": {
"enabled": False,
"numerical_confidence": True,
"parent_block": "full"
}
}
}
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({
input: '<string>',
parsing: {
enhance: {agentic: [], intelligent_ordering: false, summarize_figures: true},
retrieval: {
chunking: {chunk_mode: 'disabled', chunk_overlap: 0},
embedding_optimized: false,
filter_blocks: []
},
formatting: {
add_page_markers: false,
include: [],
merge_tables: false,
table_output_format: 'dynamic'
},
spreadsheet: {
clustering: 'accurate',
exclude: [],
include: [],
split_large_tables: {enabled: true, size: 50}
},
settings: {
embed_pdf_metadata: false,
embed_pdf_metadata_dpi: 100,
extraction_mode: 'hybrid',
force_url_result: false,
hybrid_vpc: {},
ocr_system: 'standard',
persist_results: false,
return_images: [],
return_ocr_data: false
}
},
instructions: {schema: {}, system_prompt: 'Be precise and thorough.'},
settings: {
include_images: false,
optimize_for_latency: false,
force_url_result: false,
array_extract: false,
deep_extract: false,
citations: {enabled: false, numerical_confidence: true, parent_block: 'full'}
}
})
};
fetch('https://platform.reducto.ai/extract', 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"
payload := strings.NewReader("{\n \"input\": \"<string>\",\n \"parsing\": {\n \"enhance\": {\n \"agentic\": [],\n \"intelligent_ordering\": false,\n \"summarize_figures\": true\n },\n \"retrieval\": {\n \"chunking\": {\n \"chunk_mode\": \"disabled\",\n \"chunk_overlap\": 0\n },\n \"embedding_optimized\": false,\n \"filter_blocks\": []\n },\n \"formatting\": {\n \"add_page_markers\": false,\n \"include\": [],\n \"merge_tables\": false,\n \"table_output_format\": \"dynamic\"\n },\n \"spreadsheet\": {\n \"clustering\": \"accurate\",\n \"exclude\": [],\n \"include\": [],\n \"split_large_tables\": {\n \"enabled\": true,\n \"size\": 50\n }\n },\n \"settings\": {\n \"embed_pdf_metadata\": false,\n \"embed_pdf_metadata_dpi\": 100,\n \"extraction_mode\": \"hybrid\",\n \"force_url_result\": false,\n \"hybrid_vpc\": {},\n \"ocr_system\": \"standard\",\n \"persist_results\": false,\n \"return_images\": [],\n \"return_ocr_data\": false\n }\n },\n \"instructions\": {\n \"schema\": {},\n \"system_prompt\": \"Be precise and thorough.\"\n },\n \"settings\": {\n \"include_images\": false,\n \"optimize_for_latency\": false,\n \"force_url_result\": false,\n \"array_extract\": false,\n \"deep_extract\": false,\n \"citations\": {\n \"enabled\": false,\n \"numerical_confidence\": true,\n \"parent_block\": \"full\"\n }\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))
}{
"usage": {
"num_pages": 123,
"num_fields": 123,
"credits": 123
},
"result": "<unknown>",
"response_type": "v3_extract",
"job_id": "<string>",
"studio_link": "<string>",
"confidence_reason": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Extract
import requests
url = "https://platform.reducto.ai/extract"
payload = {
"input": "<string>",
"parsing": {
"enhance": {
"agentic": [],
"intelligent_ordering": False,
"summarize_figures": True
},
"retrieval": {
"chunking": {
"chunk_mode": "disabled",
"chunk_overlap": 0
},
"embedding_optimized": False,
"filter_blocks": []
},
"formatting": {
"add_page_markers": False,
"include": [],
"merge_tables": False,
"table_output_format": "dynamic"
},
"spreadsheet": {
"clustering": "accurate",
"exclude": [],
"include": [],
"split_large_tables": {
"enabled": True,
"size": 50
}
},
"settings": {
"embed_pdf_metadata": False,
"embed_pdf_metadata_dpi": 100,
"extraction_mode": "hybrid",
"force_url_result": False,
"hybrid_vpc": {},
"ocr_system": "standard",
"persist_results": False,
"return_images": [],
"return_ocr_data": False
}
},
"instructions": {
"schema": {},
"system_prompt": "Be precise and thorough."
},
"settings": {
"include_images": False,
"optimize_for_latency": False,
"force_url_result": False,
"array_extract": False,
"deep_extract": False,
"citations": {
"enabled": False,
"numerical_confidence": True,
"parent_block": "full"
}
}
}
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({
input: '<string>',
parsing: {
enhance: {agentic: [], intelligent_ordering: false, summarize_figures: true},
retrieval: {
chunking: {chunk_mode: 'disabled', chunk_overlap: 0},
embedding_optimized: false,
filter_blocks: []
},
formatting: {
add_page_markers: false,
include: [],
merge_tables: false,
table_output_format: 'dynamic'
},
spreadsheet: {
clustering: 'accurate',
exclude: [],
include: [],
split_large_tables: {enabled: true, size: 50}
},
settings: {
embed_pdf_metadata: false,
embed_pdf_metadata_dpi: 100,
extraction_mode: 'hybrid',
force_url_result: false,
hybrid_vpc: {},
ocr_system: 'standard',
persist_results: false,
return_images: [],
return_ocr_data: false
}
},
instructions: {schema: {}, system_prompt: 'Be precise and thorough.'},
settings: {
include_images: false,
optimize_for_latency: false,
force_url_result: false,
array_extract: false,
deep_extract: false,
citations: {enabled: false, numerical_confidence: true, parent_block: 'full'}
}
})
};
fetch('https://platform.reducto.ai/extract', 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"
payload := strings.NewReader("{\n \"input\": \"<string>\",\n \"parsing\": {\n \"enhance\": {\n \"agentic\": [],\n \"intelligent_ordering\": false,\n \"summarize_figures\": true\n },\n \"retrieval\": {\n \"chunking\": {\n \"chunk_mode\": \"disabled\",\n \"chunk_overlap\": 0\n },\n \"embedding_optimized\": false,\n \"filter_blocks\": []\n },\n \"formatting\": {\n \"add_page_markers\": false,\n \"include\": [],\n \"merge_tables\": false,\n \"table_output_format\": \"dynamic\"\n },\n \"spreadsheet\": {\n \"clustering\": \"accurate\",\n \"exclude\": [],\n \"include\": [],\n \"split_large_tables\": {\n \"enabled\": true,\n \"size\": 50\n }\n },\n \"settings\": {\n \"embed_pdf_metadata\": false,\n \"embed_pdf_metadata_dpi\": 100,\n \"extraction_mode\": \"hybrid\",\n \"force_url_result\": false,\n \"hybrid_vpc\": {},\n \"ocr_system\": \"standard\",\n \"persist_results\": false,\n \"return_images\": [],\n \"return_ocr_data\": false\n }\n },\n \"instructions\": {\n \"schema\": {},\n \"system_prompt\": \"Be precise and thorough.\"\n },\n \"settings\": {\n \"include_images\": false,\n \"optimize_for_latency\": false,\n \"force_url_result\": false,\n \"array_extract\": false,\n \"deep_extract\": false,\n \"citations\": {\n \"enabled\": false,\n \"numerical_confidence\": true,\n \"parent_block\": \"full\"\n }\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))
}{
"usage": {
"num_pages": 123,
"num_fields": 123,
"credits": 123
},
"result": "<unknown>",
"response_type": "v3_extract",
"job_id": "<string>",
"studio_link": "<string>",
"confidence_reason": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
- SyncExtractConfig
- AsyncExtractConfig
For parse/split/extract pipelines, 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 jobid:// prefixed URL obtained from a previous /parse invocation 5. A list of URLs (for multi-document pipelines, V3 API only)
For edit pipelines, this should be a string containing the edit instructions
The configuration options for parsing the document. If you are passing in a jobid:// URL for the file, then this configuration will be ignored.
Show child attributes
Show child attributes
The instructions to use for the extraction.
Show child attributes
Show child attributes
The settings to use for the extraction.
Show child attributes
Show child attributes
Response
Successful Response
- V3ExtractResponse
- AsyncExtractResponse
Show child attributes
Show child attributes
The extracted response in your provided schema. This is a list of dictionaries. If disable_chunking is True (default), then it will be a list of length one.
"v3_extract"The link to the studio pipeline for the document.
Optional document-level deep extract confidence label.
high, low Optional explanation for the document-level confidence label.
Was this page helpful?