Credits are the billing unit for Reducto API usage. This page explains how credits are calculated for each endpoint and document type.
Parse Endpoint
Documents and Images
Supported formats: PDF, DOCX, DOC, PPTX, PPT, PNG, JPEG, GIF, TIFF, HEIC, and more.
Processing Type Credits/Page When Applied Standard 1 Text, layout, simple tables, OCR Complex 2 VLM-enhanced pages (complex tables, key-value regions, figures with summarization) Agentic - Standard 2 Agentic mode enabled on simple pages Agentic - Complex 4 Agentic mode enabled on complex pages Advanced chart agent +4 Per chart when advanced_chart_agent: true
Reducto automatically classifies page complexity. You don’t choose “standard” vs “complex”. Complexity is determined by the content.
What makes a page complex?
Tables with merged cells or nested headers
Key-value form regions
Figures when summarize_figures: true (default)
Spreadsheets
Supported formats: XLSX, XLS, CSV, XLSM
Clustering Mode Credits Description Accurate (default)1 per 1,000 cells Intelligent table detection Fast 1 per 5,000 cells Basic clustering Disabled 1 per 5,000 cells Single table output
Text Files
Supported formats: HTML, TXT, RTF
Format Credits/Page Text formats 0.5
Mode Credits Notes Standard 2 per page Schema-based extraction Deep Extract 30 (base) + 0.1 per field extracted Agentic loop for near-perfect accuracy
If you pass a URL or file directly to Extract (instead of a jobid://), Parse credits are also charged. To avoid double-charging, parse first, then extract using the job ID.
# ❌ Charges for both Parse AND Extract
result = client.extract.run(
input = upload.file_id,
instructions = { "schema" : schema}
)
# ✅ Only charges for Extract (reuses parsed content)
parse_result = client.parse.run( input = upload.file_id)
result = client.extract.run(
input = f "jobid:// { parse_result.job_id } " ,
instructions = { "schema" : schema}
)
Split Endpoint
Mode Credits/Page Standard 2
Same as Extract: passing a URL charges Parse + Split. Use jobid:// to avoid double-charging.
Classify Endpoint
Mode Credits/Page Notes Standard 0.5 Per page of context used
Classify reads the first 5 pages of a document by default, costing 2.5 credits per classification. You can configure context up to 10 pages (5.0 credits).
Classify is currently in a preview pricing period that is in effect until April 3rd, 2026.
Edit Endpoint
Mode Credits/Page Notes Beta 4 Subject to change
Pipeline Endpoint
Pipelines combine multiple operations. Credits are the sum of all operations in the pipeline:
Pipeline credits = Parse + Extract (if configured) + Split (if configured)
Credit Optimization Tips
1. Reuse Parse Results
Parse once, then run multiple Extract or Split calls using the job ID:
# Parse once
parse = client.parse.run( input = upload.file_id)
# Extract multiple schemas without re-parsing
invoice_data = client.extract.run(
input = f "jobid:// { parse.job_id } " ,
instructions = { "schema" : invoice_schema}
)
vendor_data = client.extract.run(
input = f "jobid:// { parse.job_id } " ,
instructions = { "schema" : vendor_schema}
)
2. Disable Agentic Mode When Not Needed
Agentic mode doubles credit usage. Only enable it for:
Handwritten content
Low-quality scans
Complex tables that parse incorrectly
# Standard parsing (1-2 credits/page)
result = client.parse.run( input = upload.file_id)
# Only enable agentic when needed (2-4 credits/page)
result = client.parse.run(
input = upload.file_id,
enhance = { "agentic" : [{ "scope" : "text" }]}
)
3. Use Page Ranges
Process only the pages you need:
# Only process pages 1-10
result = client.parse.run(
input = upload.file_id,
settings = { "page_range" : { "start" : 1 , "end" : 10 }}
)
4. Choose Appropriate Spreadsheet Clustering
For large spreadsheets where you don’t need intelligent table detection:
result = client.parse.run(
input = upload.file_id, # spreadsheet file
spreadsheet = { "clustering" : "fast" } # 5x cheaper than "accurate"
)
Monitoring Usage
Track your credit usage in Reducto Studio :
Usage dashboard : View credits consumed over time
Job logs : See credits charged per job
Usage alerts : Set threshold notifications
Each API response also includes credit information:
{
"job_id" : "abc123" ,
"usage" : {
"num_pages" : 10 ,
"credits" : 15.0
}
}
Rate Limits Request limits and optimization.
Chaining Endpoints Reuse parse results to save credits.