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

Does Firecrawl preserve figures and their captions in place?

Firecrawl did not preserve the figure with its caption in the converted document. It kept the survey-plan caption in position but returned no image.

1 of 1 test case failed

Every test case in this scenario has a result.

Pass rate0%0 of 1 gradable
Coverage1 of 1test case with a result
0PassNo test case passed.
1FailMissed at least one thing it was expected to do; the reason and proof are with each test case below.
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.

Figure with caption — preserved in placeFailEvidence
What we sent
InputDocument (PDF)
Input PDF: intertidal survey report with a captioned plan on page 2
Open the PDF ↗
What the tool returned
JSON
{
  "markdown": "# Intertidal survey of Kellow Sands and Thrimby Point\n\nReport BEP/SR/2026/11 · Survey of 19 to 23 January 2026 · Issued February 2026\n\n## Summary\n\nThe four fixed transects at Kellow Sands and Thrimby Point were resurveyed in January, in the … [5,675 characters in the file]",
  "metadata": {
    "scrapeId": "01a08b71-d172-72ea-9c10-cde69e77a8e3",
    "sourceURL": "intertidal_survey_BEP-SR-2026-11.pdf",
    "url": "https://parse.firecrawl.dev/uploads/intertidal_survey_BEP-SR-2026-11.pdf",
    "statusCode": 200,
    "numPages": 4,
    "totalPages": 4,
    "title": "(anonymous)",
    "contentType": "application/pdf",
    "proxyUsed": "basic",
    "creditsUsed": 4,
    "concurrencyLimited": false
  }
}

API response: converted Markdown and processing metadata

Copied from Output file (JSON), data · an excerpt

Open the whole JSON file ↗
Output file (Markdown)
Returned Markdown: survey report text with the plan caption
Markdown55 lines
# Intertidal survey of Kellow Sands and Thrimby Point

Report BEP/SR/2026/11 · Survey of 19 to 23 January 2026 · Issued February 2026

## Summary

The four fixed transects at Kellow Sands and Thrimby Point were resurveyed in January, in the third winter since sediment recharge began. This report sets out the method, the profiles measured, and the change on each transect since the surveys began.

Levels were taken at five-metre intervals along each transect with a total station from the survey marks on the training wall and at the lifeboat house. Sediment samples were taken at the mid-shore station on each transect for particle size, and are reported by the laboratory separately.

Conditions during the survey were settled, with no swell and a spring range near the mean. Nothing about the week's weather is likely to have affected the levels measured.

## Background

The Partnership has surveyed the intertidal at Kellow Sands since 2019, when the four transects were established to provide a baseline for the sediment recharge then being planned. The first two winters were surveyed before any material was placed. Placement began in the winter of 2023/24 and has been carried out in each winter since, most recently between November 2025 and January 2026.

The purpose of the survey is a narrow one. It is meant to answer whether the intertidal profile at Kellow Sands is gaining or losing sediment, and at what rate, on lines whose position is fixed. It is not a study of where the placed material goes, which would need tracer work the Partnership has not commissioned, and it cannot by itself attribute a change to the recharge rather than to the weather.

## Method

Levels were taken with a total station from the two survey marks used since 2019, at five-metre intervals along each transect and at every break of slope between them. Each line was run twice, out and back, and the two sets agreed everywhere within the tolerance the method allows. Where they did not, which happened once on transect three, the point was re-observed.

The horizontal position of each line is fixed by a mark set in concrete at the landward end and by a pin in the training wall or the marsh edge at the seaward end. All eight marks were found and checked against the 2019 coordinates before work began. The pin at the seaward end of transect two has moved and was re-established from the landward mark; the correction is recorded in the level book and is smaller than the interval between observations.

Sediment samples were taken at the mid-shore station on each line, in the order in which the lines were surveyed, and delivered to the laboratory the same afternoon. Particle size is reported separately and is not discussed here.

## The transects

Transect one runs from the seawall opposite the boatyard to the low water mark, crossing the widest part of the sand. It is the longest of the four lines and the only one on which the whole intertidal profile can be surveyed within a single tide.

Transects two and three are the pair the recharge was expected to affect. Both cross the placement footprint at its northern end, transect two some sixty metres from the discharge point and transect three about a hundred and forty. Neither has been moved since it was established, and the marks at both ends of both lines were found in good order.

The plan below shows the four lines as they were surveyed in January, together with the saltmarsh edge as it stood at the 1998 survey. The 1998 edge is drawn because it is the last edge surveyed on the ground rather than taken from photography, and because it is the line against which the advisers have asked that marsh extent be reported.

Figure 1. Survey transects at Kellow Sands and Thrimby Point. Sampling stations are shown as filled circles and the 1998 saltmarsh

edge as a broken line.

Transect four crosses the toe of the training wall and has always behaved differently from the other three. It is retained because the wall itself is the reason for the difference, and because the Partnership was asked in 2019 to keep a line there.

The stations shown on the plan are those at which sediment samples are taken, and not the points at which levels were observed: the level observations are too close together to plot at this scale. A full set of profiles is bound into the copy of this report held by the secretariat.

## Change since the first survey

Change is reported as a mean annual rate over each winter, taken across the whole intertidal part of the line. Accretion varied markedly between transects, and the pattern is the same in each of the three winters measured.

The rates plotted are means over the intertidal part of each line, weighted by the length of profile each observation represents. A mean of that kind conceals a good deal. On transect two most of the gain is in the upper third of the profile, and on transect four the loss is almost all at the toe of the wall; the profiles show this plainly and a mean does not.

The advisers' view, which the secretariat shares, is that three winters is too short a run to separate the effect of placement from the variation the estuary shows anyway. The transects should be resurveyed next January on the same lines and by the same method before anything is concluded from them.

## The next survey

The profiles themselves, the level books and the mark check sheets are held by the secretariat and are available to Partnership members on request.

The next survey is due in January 2027. The secretariat proposes to keep the January window, and to ask the laboratory for particle size on the same four stations so that the series stays comparable.
Open the Markdown file ↗
Expected vs. Found
✗Expected: Preserve the image at its original position, embedded or referenced, with its caption.Found: The survey-plan caption remained between the same paragraphs as in the source, but the image was neither embedded nor linked.
Supporting proof
Proof 1Screenshot
Comparison: source page 2 and its returned Markdown
Open original ↗
Proof 2Screenshot
Run card: input, conversion settings and result
Open original ↗
Proof 3Screenshot
Earlier run card: input and conversion result
Open original ↗
Why this result

The whole PDF was processed successfully, but the figure was missing even though its caption remained. A separate request using the documented image option also returned no images, so the failure was not an uncompleted conversion.

Also observed in this test case

Same text with image option. A separate request for Markdown and images returned the same Markdown as the default request.

Tested by Chandresh Bisht · evidence dated 10 September 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
Firecrawl
Build or version
not exposed (Firecrawl API v2, /v2/parse)
Plan or tier
free tier
Surface
API
Set up before the run
The input had to be a PDF with a figure and a caption in normal text. The complete PDF was sent for conversion to Markdown in one pass using the default pipeline, without tuning options.
Pipeline
Default pipeline; single pass; no options set (product defaults); parser mode automatic by default; Markdown format only
Tested
10 September 2026 · Chandresh Bisht

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.

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
11 November 2026First publishedConverting a complex PDF into clean Markdown with a hosted API 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/pdf-to-markdown-apis/results/firecrawl/a-document-with-figures-and-captions · 0 pass · 1 fail · coverage 1/1 · graded 2026-10-18

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 · 301 KB
Proof 1 · Screenshot ↗image/png · 398 KB
Output file (Markdown) ↗text/markdown · 6 KB
Output file (JSON) ↗application/json · 6 KB
Proof 2 · Screenshot ↗image/png · 91 KB
Proof 3 · Screenshot ↗image/png · 53 KB
File fingerprints (SHA-256)

A fingerprint identifies the exact file used for this result.

Input · Document (PDF)75b2bcc613580942d7d3222254c0f0d084525c2c6521f55cffa629c49f64c608
Proof 1 · Screenshotf1b42001834366ba25c388ab220f177677046a0c43669e3a82020bb78290cfe5
Output file (Markdown)bd07a79586975fe68e5aadb39205264ba1fc4c1a7e1eb2a10054b08079c5113e
Output file (JSON)810b6f6d112ad0953e1b97efaf237536cacffeee6f2053623b671c0dcd6be6b3
Proof 2 · Screenshot455160b851b5f24426e2ebd5e5299870315f448d0f444ddc168e4c0aa2bd7b09
Proof 3 · Screenshot0f47dd3eae3a2e7383b23ea21ed82843ffde75fcc9ca5ab6888782d809c3d66d