St. Louis, MO Parcels & GIS Data

St. Louis city, MO parcel data: 146,246 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes St. Louis city, Missouri parcel data covering 146,246 property records.

This page documents parcel-level coverage for St. Louis city, Missouri. Each parcel record carries its boundary polygon (GIS geometry) along with attributes such as the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and most recent sale price and date. Exact fill rates for St. Louis city are listed in the attribute-coverage table below. Preview the data in the interactive explorer, or download the complete St. Louis city property dataset.

St. Louis County is located in eastern Missouri. It is bounded by the City of St. Louis and the Mississippi River to the east, the Missouri River to the north, and the Meramec River to the south.

FIPS 29510

Official county website: https://property.stlouis-mo.gov/

The FIPS code for St. Louis city is 29510.

St. ClairMadisonSt. LouisSt. Louis
Hosted Web API$200/mo

Attribute coverage

St. Louis city contains 146,246 parcels in the current dataset. Column coverage is the percentage of those parcels for which the attribute is populated (non-NULL).

ColumnCoverageRecords populated
lrid100%146,246
parcelid91.8%134,324
parcelid291.8%134,324
ogparcelid91.8%134,324
ogparcelid291.8%134,324
parentid<0.1%0
stackid<0.1%0
geoid100%146,246
statefp100%146,246
countyfp100%146,246
countyname100%146,246
cousubfp100%146,246
cousubname100%146,246
tractce100%146,246
tractname100%146,246
taxacctnum<0.1%0
taxyear100%146,246
taxdistrict<0.1%0
usecode97.9%143,175
usedesc7.2%10,533
zoningcode91.4%133,681
zoningdesc<0.1%0
numbldgs100%146,246
numunits93.5%136,667
yearbuilt72.7%106,328
numfloors1.6%2,343
bldgsqft<0.1%0
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue91.8%134,324
landvalue91.8%134,324
agvalue<0.1%4
totalvalue91.8%134,324
taxacres91.8%134,324
calcarea100%146,246
saleamt91.8%134,275
saledate47.9%70,109
ownertype92.2%134,814
ownername92.2%134,814
owneraddr91.1%133,235
ownercity91.1%133,223
ownerstate90.1%131,816
ownerzip91.1%133,218
parceladdr99.9%146,138
parcelcity8.2%11,922
parcelstate100%146,246
parcelzip100%146,246
legaldesc97.5%142,548
township0.8%1,206
section0.8%1,206
qtrsection0.8%1,206
range0.8%1,206
plssdesc0.8%1,206
book56.2%82,174
page38.2%55,821
block86.4%126,292
lot92.0%134,505
parceltype0.6%856
accesstype0.9%1,314
iucnclass0.1%98
placename92.5%135,205
placetype7.5%10,966
firmid100%146,246
firmdate100%146,246
fldzone100%146,246
zonesubty99.5%145,521
staticbfe<0.1%69
elevmin100%146,239
elevmax100%146,239
elevavg100%146,239
fireplaces<0.1%0
heating<0.1%0
heatfuel<0.1%0
cooling<0.1%0
foundation<0.1%0
roofcover<0.1%0
siding<0.1%0
bldgtype<0.1%0
naicscode92.5%135,206
frsid<0.1%13
dfrurl<0.1%13
caapermit<0.1%13
cwapermit<0.1%13
rcrapermit<0.1%13
updated99.5%145,458
centroidx100%146,246
centroidy100%146,246
surfpointx100%146,246
surfpointy100%146,246
geom100%146,246
extras100%146,246
ownerlist63.8%93,310
placefp100%146,238
zoningurl91.4%133,681

Schema mapping

How source columns from the acquired St. Louis city GIS layers map into the harmonized entity schemas and assemble into the published parcel table, alongside supplemented fields (elevation, flood zone) and deterministic columns.

Schema mapping — St. Louis city, Missouri (29510) 1 entity · most recent acquisition per entity · generated 2026-08-30 direct column transformed (expression) geometry extras json supplemented determined ALL ENTITIES → FINAL PARCEL SCHEMA Harmonized entity columns assemble into publish.parcel_layer — matched by column name. Supplemented fields show their fill rate in this county. SOURCE COLUMNS HARMONIZED ENTITIES PUBLISH.PARCEL_LAYER PARCEL parcelid lowerasrparcelid acctprimary asrlanduse1 zoning nbrofbldgsres nbrofbldgscom nbrofunits firstyearbuilt asdimprove asdland asdtotal landarea ressaleprice ressaledate ownername ownername2 owneraddr ownercity ownerstate ownerzip siteaddr zip legaldesc1 legaldesc2 legaldesc3 legaldesc4 legaldesc5 recbooknum recpagenum cityblock parcel ownerupdate geom colparcelid colcityblock colparcel primaddrrecnum addrtype lowaddrnum lowaddrsuf highaddrnum highaddrsuf nlc parity stpredir stname sttype stsufdir stdunitnum asrclasscode asrlanduse2 redevphase redevyearend redevphase2 redevyearend2 vacantlot specbusdist specbusdist2 tifdist lendingagcy condominium nbrofapts frontage recdailydate recdailynum billland billimprove billtotal aprland costaprimprove asmtappealyear asmtappealnum asmtappealtype priorasddate priorasdland priorasdimprove priorasdtotal priortaxamt cdalanduse1 cdalanduse2 lrmsunitnum lastyearbuilt vacbldgyear geocityblockpart ward10 precinct10 insparea10 ward00 precinct02 precinct04 nbrhd cdadist cdasubdist policedist censtract10 censblock10 censblock00 ward90 precinct90 censblock90 houseconsdist asrnbrhd entzone impactarea ctdarea leafarea onfloodblock specparceltype subparceltype nbrofsubaccts nbrofcondos lrmsparcel handle ownerocc firstdate lastdate ownercode sqft ward taxbalance propertyclasscode isabatedproperty abatementstartyear abatementendyear specbusdist3 ward20 precinct20 insparea20 censtract20 censblock20 maintzonewc transdevdist shape_starea__ shape_stlength__ parcelid parcelid2 taxacctnum usecode zoningcode numbldgs numunits yearbuilt imprvalue landvalue totalvalue taxacres saleamt saledate ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelzip legaldesc book page block lot updated geom extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname 100% taxyear geom · derived from geometry geom dem.us_1m · USGS 1m DEM 100% elevmin 100% elevmax 100% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 100% zonesubty 0.0% staticbfe 100% firmdate 100% firmid supplemented · derived / other pipelines 100% parcelstate 92.5% placename 92.5% naicscode 63.8% ownerlist 100% placefp 91.4% zoningurl lrid parcelid parcelid2 ogparcelid ogparcelid2 geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxacctnum taxyear usecode zoningcode numbldgs numunits yearbuilt imprvalue landvalue totalvalue taxacres calcarea saleamt saledate ownertype ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelstate parcelzip legaldesc book page block lot placename firmid firmdate fldzone zonesubty staticbfe elevmin elevmax elevavg naicscode updated centroidx centroidy surfpointx surfpointy geom extras ownerlist placefp zoningurl publish.parcel_layer columns not fed by these sources (34) — empty or below 50% fill in this county parentid, stackid, taxdistrict, usedesc, zoningdesc, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, parcelcity, township section, qtrsection, range, plssdesc, parceltype, accesstype, iucnclass, placetype, fireplaces, heating, heatfuel, cooling, foundation roofcover, siding, bldgtype, frsid, dfrurl, caapermit, cwapermit, rcrapermit PARCEL 29 mapped · 23 transformed · 26 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parcelid lowerasrparcelid acctprimary asrlanduse1 zoning nbrofbldgsres nbrofbldgscom nbrofunits firstyearbuilt asdimprove asdland asdtotal landarea ressaleprice ressaledate ownername ownername2 owneraddr ownercity ownerstate ownerzip siteaddr zip legaldesc1 legaldesc2 legaldesc3 legaldesc4 legaldesc5 recbooknum recpagenum cityblock parcel ownerupdate geom colparcelid colcityblock colparcel primaddrrecnum addrtype lowaddrnum lowaddrsuf highaddrnum highaddrsuf nlc parity stpredir stname sttype stsufdir stdunitnum asrclasscode asrlanduse2 redevphase redevyearend redevphase2 redevyearend2 vacantlot specbusdist specbusdist2 tifdist lendingagcy condominium nbrofapts frontage recdailydate recdailynum billland billimprove billtotal aprland costaprimprove asmtappealyear asmtappealnum asmtappealtype priorasddate priorasdland priorasdimprove priorasdtotal priortaxamt cdalanduse1 cdalanduse2 lrmsunitnum lastyearbuilt vacbldgyear geocityblockpart ward10 precinct10 insparea10 ward00 precinct02 precinct04 nbrhd cdadist cdasubdist policedist censtract10 censblock10 censblock00 ward90 precinct90 censblock90 houseconsdist asrnbrhd entzone impactarea ctdarea leafarea onfloodblock specparceltype subparceltype nbrofsubaccts nbrofcondos lrmsparcel handle ownerocc firstdate lastdate ownercode sqft ward taxbalance propertyclasscode isabatedproperty abatementstartyear abatementendyear specbusdist3 ward20 precinct20 insparea20 censtract20 censblock20 maintzonewc transdevdist shape_starea__ shape_stlength__ parcelid NULLIF(trim(parcelid), '')::text parcelid2 NULLIF(trim(lowerasrparcelid), '')::text taxacctnum CASE WHEN acctprimary IS NULL OR acctprimary <= 0 THEN NULL::te… usecode CASE WHEN asrlanduse1 IS NULL OR asrlanduse1 = 0 THEN NULL::tex… zoningcode NULLIF(trim(zoning), '')::text numbldgs CASE WHEN nbrofbldgsres IS NULL AND nbrofbldgscom IS NULL THEN … numunits yearbuilt CASE WHEN firstyearbuilt IS NULL OR firstyearbuilt = 0 THEN NUL… imprvalue landvalue totalvalue taxacres CASE WHEN landarea IS NULL THEN NULL::text ELSE (landarea / 435… saleamt saledate CASE WHEN ressaledate IS NULL OR ressaledate = 0 THEN NULL::tex… ownername NULLIF(concat_ws(';', NULLIF(trim(ownername), ''), NULLIF(trim(… owneraddr NULLIF(trim(owneraddr), '')::text ownercity NULLIF(trim(ownercity), '')::text ownerstate NULLIF(trim(ownerstate), '')::text ownerzip NULLIF(trim(ownerzip), '')::text parceladdr NULLIF(trim(siteaddr), '')::text parcelzip CASE WHEN zip IS NULL OR zip = 0 THEN NULL::text ELSE zip::text… legaldesc NULLIF(concat_ws(';', NULLIF(trim(legaldesc1), ''), NULLIF(trim… book NULLIF(trim(recbooknum), '')::text page CASE WHEN recpagenum IS NULL OR recpagenum = 0 THEN NULL::text … block CASE WHEN cityblock IS NULL OR cityblock = 0 THEN NULL::text EL… lot CASE WHEN parcel IS NULL OR parcel = 0 THEN NULL::text ELSE par… updated CASE WHEN ownerupdate IS NULL OR ownerupdate = 0 THEN NULL::tex… geom extras ( json_build_object( 'colparcelid', colparcelid, 'colcityblock'… not present in source — filled with NULL (26) taxyear, usedesc, zoningdesc, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, parcelcity, parcelstate, township, section qtrsection, range, plssdesc, sourceurl, taxdistrict, parentid, heatfuel, fireplaces, heating, cooling, foundation, roofcover, siding

Neighboring counties

Parcel data for counties bordering St. Louis city:

Frequently asked questions

Where can I find St. Louis, MO parcel and GIS data?

Land Records publishes a St. Louis, MO parcel dataset in which every parcel carries its boundary polygon (GIS geometry) along with ownership, assessed value, land use, acreage, and sale history. Preview it in the interactive explorer on this page, or download the full St. Louis, MO dataset as a GeoPackage or CSV.

How many parcels are in St. Louis, MO?

The current dataset contains 146,246 parcel records for St. Louis, MO, each with its boundary geometry and assessor attributes.

What is the FIPS code for St. Louis, MO?

The FIPS code for St. Louis, MO is 29510.

What information does each St. Louis, MO parcel record include?

Each St. Louis, MO parcel record includes the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and the most recent sale price and date — plus the parcel boundary polygon. Per-attribute fill rates are listed in the coverage table on this page.

Is St. Louis, MO parcel data free?

You can preview St. Louis, MO parcels for free in the interactive explorer. The complete dataset is available as a one-time download or through the nationwide parcel web service; see the download options on this page for current pricing.

Does St. Louis, MO have an official GIS or property records website?

Yes — the official St. Louis, MO government website is linked in the county details above. Land Records standardizes St. Louis, MO assessor and recorder records into a single nationwide parcel schema with GIS boundary geometry.

On this page