- Verification: Confirm extractions are correct by checking source text
- Compliance: Maintain audit trails for regulated workflows
- Debugging: See where the model looked when values are wrong
- User experience: Let users click from extracted data to the original location
Response Structure
With citations enabled, each value becomes an object withvalue and citations:
type: Block type (Text,Table,Key Value, etc.)content: The source textbbox: Bounding box coordinates (normalized 0-1 for PDFs/images)confidence:"high"or"low"granular_confidence: Numeric scores (extract_confidence,parse_confidence) between 0-1parentBlock: The larger Parse block containing this citation, for context
Working with Citations
Accessing a scalar field:Bounding Box Coordinates
For PDFs and images, coordinates are normalized to [0, 1] relative to page dimensions.left: 0.5 means halfway across the page.
page is the page number in the processed result. original_page is the page number in the original document, which differs when you use page ranges.
To convert to pixels, multiply by page dimensions:
Spreadsheet Citations
Excel and CSV files use cell coordinates instead of normalized positions:left: Column number (0-indexed, so 0 = A, 1 = B, 2 = C)top: Row number (0-indexed, so 0 = first row)page: Sheet number, derived from the sheet name (e.g. “Sheet1” → 1, “Sheet2” → 2)
{"left": 2, "top": 14, "page": 2} points to cell C15 on the second sheet.
Confidence Scores
Each citation includes aconfidence field with a categorical value ("high" or "low").
By default in v3, numerical_confidence is enabled, which adds granular_confidence with numeric 0-1 scores:
extract_confidence: How confident the LLM is about the extractionparse_confidence: How confident the OCR/parsing is about the underlying text
parse_confidence suggests OCR errors. Low extract_confidence suggests the model was uncertain about interpretation.
Constraints
Citations disable chunking: The document is processed as a single unit to maintain precise coordinate mapping. Empty citations: A field’scitations array can be empty in two cases. The value was inferred rather than found directly in the document, or the value was found but Reducto could not reliably localize it to a source span. The second case is rare. In both cases the value is still returned correctly. Always check if field.citations: before accessing them. For an inferred value, re-running will not add a citation, so adjust the schema or field description if you need the value tied to source text. For the rare localization failure, re-running the extraction can recover the citation.
Studio Visualization
Every response includes astudio_link. In Studio, citations are interactive:
- Click an extracted field to highlight its source in the document
- Click a highlight to jump to the corresponding field