AI Demos Research — the structured-intelligence platform. Every verdict on these pages opens to the execution behind it.
Graded 30 October 2026

Can LlamaParse extract values from a document with digital and scanned pages?

LlamaParse extracted the requested values from a document mixing digital and scanned pages. It returned all five values correctly, including two found only on the scanned page.

1 of 1 test case passed

Every test case in this scenario has a result.

Pass rate100%1 of 1 gradable
Coverage1 of 1test case with a result
1PassDid everything it was expected to do.
0FailNo test case failed.
0Not gradableEvery result here could be graded.
0UntestedEvery test case in this scenario has a result.
The pass rate is a summary. The evidence is the test case below: what we sent, what we checked, what the tool returned, and the proof.

The test case

Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above is based on this test case.

Values on both digital and scanned pagesPassEvidence
What we sent
InputDocument (PDF)
Input PDF: three-page invoice with a scanned delivery note between digital pages
Open the PDF ↗
ConfigurationCaptured file (JSON)
Extraction schema: five required fields across digital and scanned pages
Cited values2 values from this file
properties
{ "invoice_reference": { "type": "string", "description": "The invoice reference number printed on the invoice" }, "order_reference": { "type": "string", "description": "The order reference the invoice relates to" }, "vehicle_registration": { "type": "string", "description": "The registration plate of the delivery vehicle" }, "received_by": { "type": "string", "description": "The name of the person who received the delivery" }, "total_due": { "type": "string", "description": "The total amount due on the invoice, including the currency symbol" } }
required
["invoice_reference", "order_reference", "vehicle_registration", "received_by", "total_due"]
Show the whole file (1 KB)
JSON
{
  "type": "object",
  "properties": {
    "invoice_reference": {
      "type": "string",
      "description": "The invoice reference number printed on the invoice"
    },
    "order_reference": {
      "type": "string",
      "description": "The order reference the invoice relates to"
    },
    "vehicle_registration": {
      "type": "string",
      "description": "The registration plate of the delivery vehicle"
    },
    "received_by": {
      "type": "string",
      "description": "The name of the person who received the delivery"
    },
    "total_due": {
      "type": "string",
      "description": "The total amount due on the invoice, including the currency symbol"
    }
  },
  "required": ["invoice_reference", "order_reference", "vehicle_registration", "received_by", "total_due"]
}
Open the JSON file ↗
What the tool returned
JSONline 1, lines 9–15, line 142 of the file · copied lines 9–15
{
  …
  "extract_result": {
    "invoice_reference": "HIS-4402",
    "order_reference": "FWT-PO-2291",
    "vehicle_registration": "LR19 KVM",
    "received_by": "J. Whitlock",
    "total_due": "£1,246.80"
  },
…
}

Extraction output: five requested values returned

Copied from Output file (JSON), lines 9–15

Open the JSON file ↗
Expected vs. Found
✓Expected: Return all requested values from the digital and scanned pages accurately.Found: It returned five correct values. The total due was £1,246.80 in both the document and the output.
Supporting proof
Proof 1Screenshot
Extract screenshot: the uploaded invoice and its five results
Open original ↗
Why this result

The test required values from both page types. LlamaParse returned all five correctly, including the two available only on the image-only page, so the result is a pass.

Also observed in this test case

Confidence note. In the five-field result, the app marked three fields below 90% confidence, although all five values were correct.

Tested by Rugved Nichite · evidence dated 28 October 2026

Configuration and setup

How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.

Software that produced the output
LlamaParse
Build or version
LlamaCloud web app (build v9bc3d1a1); Extract, Agentic tier
Plan or tier
Free plan (20,000 credits)
Surface
Web app
Set up before the run
The document had to start with a digital page followed by an image-only page, with requested values unique to each page type.
Invoice reference field
The invoice reference number printed on the invoice
Order reference field
The order reference the invoice relates to
Vehicle registration field
The registration plate of the delivery vehicle
Received by field
The name of the person who received the delivery
Total due field
The total amount due on the invoice, including the currency symbol
Extraction schema
Five required string fields spanning both page kinds
Tested
28 October 2026 · Rugved Nichite

How this scenario is graded

How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.

How results are decided

Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.

The rules
  • Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
  • Fail: at least one expected behaviour clearly didn't happen; the test case's result says which one and quotes the tool.
  • Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the test case's result says what's missing.

Where this sits in the benchmark

This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.

LevelNameScope
BenchmarkStructured Document Extraction →19 scenarios · 10 tools
CapabilityOCR →
ScenarioA document mixing digital and scanned pages →
ToolLlamaParse →

History of this result

What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.

from the publication record
9 November 2026First publishedStructured Document Extraction v1

Act on this result

Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.

This matches what I see

You run the same kind of test against your own setup and get the same behaviour.

Agree →
This does not match

Yours behaves differently. Tell us what you got, with a screenshot if you have one.

Disagree →
Point out an issue

Something here is wrong — a reference value, a transcription, a grade.

Report an issue →
Request a retest

On a newer build, a larger dataset, or your own setup.

Request a retest →
We have fixed this

Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.

Vendor notice →
Filed against this evidenceNothing yet. Challenges, counter-evidence and fix notices appear here with their outcome, and stay on the page after they are resolved.
Cite this result
aidemos.com/benchmarks/structured-document-extraction/results/llamaparse/a-document-mixing-digital-and-scanned-pages · 1 pass · 0 fail · coverage 1/1 · graded 2026-10-30

The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.

Verify the proof files

These files support this result. Open a file to inspect the original evidence.

Input · Document (PDF) ↗application/pdf · 176 KB
Proof 1 · Screenshot ↗image/png · 71 KB
Output file (JSON) ↗text/plain; charset=utf-8 · 4 KB
File fingerprints (SHA-256)

A fingerprint identifies the exact file used for this result.

Input · Document (PDF)89fb14d7c0897bbfef47ffa3aa3930ee7eccf62c8a9430710d1906598c9bdfec
Configuration · Captured file (JSON)45d539cc4b0a84fcfce83d00d4ee811c148402d64262c6a284c3a63bff047ed7
Proof 1 · Screenshot4a9520a6adbd783b668824b015a41d28579220c47355c5d79d5427e5451a4758
Output file (JSON)7f2aaa2fa094cfd6a726ae1e8f0efa4626cf11101d3901bf7c3d6b96776c29d1