*** September 2026 Major Release ***Read and watch
Document type

Extracting data from elevation certificates

Licensed surveyors and engineers complete FEMA's Elevation Certificate, on whichever edition of the form their software prints. Floodplain administrators keep one on file for every new or substantially improved building in a flood zone, and insurance agents use them to rate policies. They arrive as emailed PDFs, permit uploads and scans.

Floodplain review needs the community number, the map panel, the flood zone, the base flood elevation and the surveyed elevation of the lowest floor. The community's permit system compares the floor with the base flood elevation to confirm the building meets the floodplain ordinance.

Page 1 of a sample Elevation Certificate (Flood), with extracted values outlined
21,876Markdown characters
97parse blocks
49fields extracted
The problem

What makes elevation certificates hard

Elevations compared across pages

The base flood elevation in Section B is read against the surveyed floor and grade elevations in Section C, usually on the next page.

Numbered items on shared lines

Numbered items such as B9 and C2.a pack a caption and a value onto shared lines of small type, several items to a line.

Answers marked by checkbox

The vertical datum, the source of the base flood elevation and the building's construction status are each answered by a checked box.

How it works

Parse, extract, verify

1

Parse

Parse turns the document into reading-order Markdown and a hierarchy of blocks (text, tables, figures), and grounds each block to its exact location on the page.

2

Extract

You define the fields in a JSON schema, and Extract returns their values in a consistent, structured format, each linked back to where it appears in the Markdown.

3

Verify

Each value links back to where it appears, down to the character range in the Markdown, and the page and bounding box in the source document, so every result can be verified.

Worked example

One elevation certificate, end to end

About this document: A completed FEMA Elevation Certificate for a county fire station in Nokomis, Florida, certified by a licensed surveying firm. Sarasota County posts it in its public floodplain records. Seven portrait pages: property and map data in Sections A and B, surveyed elevations and certification, Sections E to I, and two pages of photographs. Page 1 is featured. The surveyor's seal and digital signature were removed.

Processing objective: The objective is to read the flood map data for the building: its community, map panel and zone, and the base flood elevation with its source. A floodplain reviewer compares that elevation with the surveyed floor on the next page. Each value grounds to its line in Section B.

Demonstration fields: NFIP community ID, FIRM map panel, BFE source, Flood zone, Base flood elevation

The document

4 of 7 pages
  • Page 1 of the sample Elevation Certificate (Flood)Page 1shown below
  • Page 2 of the sample Elevation Certificate (Flood)Page 2
  • Page 6 of the sample Elevation Certificate (Flood)Page 6
  • Page 7 of the sample Elevation Certificate (Flood)Page 7

Where each value came from

Page 1 of the sample Elevation Certificate (Flood), with every featured field outlined
NFIP community IDfirm.nfip_community_id
125144
The region of the sample Elevation Certificate (Flood) containing NFIP community ID, with the extracted value outlined
extraction_metadata["firm.nfip_community_id"]
{
  "value": "125144",
  "page": 1,
  "range": {
    "end": 2769,
    "start": 2718
  },
  "box": {
    "xmin": 0.04469,
    "ymin": 0.74786,
    "xmax": 0.95617,
    "ymax": 0.76797
  }
}
FIRM map panelfirm.map_panel_number
12115C0239
The region of the sample Elevation Certificate (Flood) containing FIRM map panel, with the extracted value outlined
extraction_metadata["firm.map_panel_number"]
{
  "value": "12115C0239",
  "page": 1,
  "range": {
    "end": 2842,
    "start": 2812
  },
  "box": {
    "xmin": 0.04504,
    "ymin": 0.77083,
    "xmax": 0.95493,
    "ymax": 0.79091
  }
}
BFE sourcefirm.bfe_source
FIRM
The region of the sample Elevation Certificate (Flood) containing BFE source, with the extracted value outlined
extraction_metadata["firm.bfe_source"]
{
  "value": "FIRM",
  "page": 1,
  "range": {
    "end": 3134,
    "start": 3126
  },
  "box": {
    "xmin": 0.08393,
    "ymin": 0.85571,
    "xmax": 0.95388,
    "ymax": 0.87361
  }
}
Flood zonefirm.flood_zone
AE
The region of the sample Elevation Certificate (Flood) containing Flood zone, with the extracted value outlined
extraction_metadata["firm.flood_zone"]
{
  "value": "AE",
  "page": 1,
  "range": {
    "end": 2964,
    "start": 2942
  },
  "box": {
    "xmin": 0.04627,
    "ymin": 0.81627,
    "xmax": 0.95469,
    "ymax": 0.83629
  }
}
Base flood elevationfirm.base_flood_elevation
10
The region of the sample Elevation Certificate (Flood) containing Base flood elevation, with the extracted value outlined
extraction_metadata["firm.base_flood_elevation"]
{
  "value": 10,
  "page": 1,
  "range": {
    "end": 3035,
    "start": 2965
  },
  "box": {
    "xmin": 0.04627,
    "ymin": 0.81627,
    "xmax": 0.95469,
    "ymax": 0.83629
  }
}

How to try it yourself

Everything on this page is reproducible. The sample, its schema, and the Parse and Extract API outputs are published. You can repeat the same two calls from whichever surface you already build on.

  • Claude Skilldescribe the job; the agent writes it
  • CLIno code at all
  • MCPexpose ADE docs as an agent tool
  • REST APIany language
  • Pythonlandingai-ade
  • TypeScriptlandingai-ade
Why LandingAI?

Documents into data

Accurate

The best accuracy on the difficult documents other tools get wrong, such as messy scans, complicated tables, checkboxes and handwriting.

Auditable

Every answer cites its sources. Values come back with an audit trail (page, bounding box, character range) so a human can review them.

Agentic

Applies multi-step reasoning, and plans before it acts. Handles documents it has never seen before and adapts to variations.

API-first

Composable APIs that drop into any tech stack and can be called from anywhere. Easy to build on and embed in your pipelines and products.

Affordable

Cost-competitive rates with complete price transparency. Spend controls before you run, and every job reports its exact cost.

Enterprise-grade

Built for production and scale from day one. Fully observable and monitored, running securely in our cloud or yours.

Built for high-volume, high-throughput production

  • Zero data retention
  • Priority rate limits
  • Enhanced support
  • VPC and on-prem deployment

Available on Team and Enterprise plans. VPC and on-prem deployment require an Enterprise plan.

Compare plans
Capabilities

Elevation Certificate processing highlights

NFIP community number
FIRM panel and suffix
Flood zone and BFE
BFE source checkboxes
Lowest floor elevations
Elevation datum and units
Building diagram number
Latitude and longitude
Crawlspace and garage areas
Certification date and firm
Building photograph captions
Bounding box for every value
FAQs

Questions, answered

Yes. Parsing writes every checkbox into the Markdown in one standard form, marked checked or unchecked beside its label. A field for the BFE source or the vertical datum comes back as the option marked on the certificate.

Yes. Describe each elevation item, such as the top of the bottom floor or the lowest adjacent grade, as a number in your schema. Each comes back grounded to its own line of Section C, with the datum and units as separate fields.

Yes. Section A's latitude and longitude come back as numbers, alongside the horizontal datum the surveyor checked. Each value is grounded to its line of the form, ready to place the building on a map.

No. A schema names the fields you want and describes them in plain language. Where a value sits on the page is not part of it, so one schema covers certificates prepared in different software.

Every extracted value carries the character range it was quoted from in the parsed Markdown. The Ground API maps that range to a page and a bounding box, so a reviewer sees each value on the numbered line that printed it.

Start extracting elevation certificate data

Reliable, structured outputs with full traceability in minutes