Mahaska County, IA Parcels & GIS Data

Mahaska County, IA parcel data: 22,957 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Mahaska County, Iowa parcel data covering 22,957 property records.

This page documents parcel-level coverage for Mahaska County, Iowa. 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 Mahaska County are listed in the attribute-coverage table below. Preview the data in the interactive explorer, or download the complete Mahaska County property dataset.

Mahaska County is a county located in the U.S. state of Iowa. As of the 2020 census, the population was 22,190. The county seat is Oskaloosa.

FIPS 19123

Official county website: http://www.mahaskacounty.org

The FIPS code for Mahaska County is 19123.

KeokukMonroeMarionJasperPoweshiekMahaska
Hosted Web API$200/mo

Attribute coverage

Mahaska County contains 22,957 parcels in the current dataset. Column coverage is the percentage of those parcels for which the attribute is populated (non-NULL). For the LBCS columns, only real classifications count: the to-be-determined and not-applicable placeholder codes are excluded.

ColumnCoverageRecords populated
lrid100%22,957
parcelid100%22,955
parcelid299.9%22,925
ogparcelid100%22,955
ogparcelid299.5%22,844
parentid<0.1%0
stackid<0.1%0
geoid100%22,957
statefp100%22,957
countyfp100%22,957
countyname100%22,957
cousubfp100%22,957
cousubname100%22,957
tractce100%22,957
tractname100%22,957
taxacctnum<0.1%0
taxyear100%22,957
taxdistrict<0.1%0
usecode<0.1%7
usedesc75.6%17,352
zoningcode26.5%6,085
zoningdesc26.5%6,085
numbldgs33.3%7,637
numunits20.5%4,706
yearbuilt<0.1%0
numfloors6.6%1,518
bldgsqft<0.1%0
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue98.0%22,489
landvalue98.0%22,489
agvalue98.0%22,489
totalvalue98.0%22,509
taxacres54.0%12,402
calcarea100%22,957
saleamt<0.1%0
saledate<0.1%0
ownertype99.5%22,850
ownername99.5%22,850
owneraddr75.0%17,229
ownercity<0.1%0
ownerstate<0.1%0
ownerzip<0.1%0
parceladdr99.6%22,856
parcelcity<0.1%11
parcelstate100%22,957
parcelzip100%22,957
legaldesc75.9%17,431
township100%22,957
section100%22,957
qtrsection100%22,957
range100%22,957
plssdesc100%22,957
book56.7%13,011
page56.7%13,011
block73.7%16,928
lot<0.1%0
parceltype0.4%82
accesstype1.3%295
iucnclass0.9%202
placename3.7%857
placetype3.7%846
firmid100%22,957
firmdate100%22,957
fldzone100%22,957
zonesubty89.6%20,561
staticbfe<0.1%0
elevmin100%22,952
elevmax100%22,952
elevavg100%22,952
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
naicscode15.9%3,658
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated82.1%18,857
centroidx100%22,957
centroidy100%22,957
surfpointx100%22,957
surfpointy100%22,957
geom100%22,957
extras100%22,957
ownerlist60.1%13,786
placefp34.2%7,841
zoningurl24.3%5,578
lbcsactivity68.7%15,760
lbcsfunction68.5%15,720
lbcstype67.1%15,408
lbcscharacter98.7%22,662
lbcsownership99.6%22,855
sourceurl<0.1%0

Schema mapping

How source columns from the acquired Mahaska County 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 — Mahaska County, Iowa (19123) 2 entities · most recent acquisition per entity · generated 2026-10-10 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 parcelid2 totalvalue taxacres ownername parceladdr geom parentid 2 cols ⇢ parcelid parcelid2 totalvalue taxacres ownername parceladdr geom parentid extras ZONING geom zoning districtnamefull classtype zoningnotes 254 cols ⇢ geom zoningcode zoningdesc zoningtype notes extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname 100% taxyear 82.1% updated 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 89.6% zonesubty 100% firmdate 100% firmid supplemented · derived / other pipelines 75.6% usedesc 98.0% imprvalue 98.0% landvalue 98.0% agvalue 75.0% owneraddr 100% parcelstate 100% parcelzip 75.9% legaldesc 100% township 100% section 100% qtrsection 100% range 100% plssdesc 56.7% book 56.7% page 73.7% block 60.1% ownerlist 68.7% lbcsactivity 68.5% lbcsfunction 67.1% lbcstype 98.7% lbcscharacter 100% lbcsownership lrid parcelid parcelid2 ogparcelid ogparcelid2 parentid geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxyear usedesc zoningcode zoningdesc imprvalue landvalue agvalue totalvalue taxacres calcarea ownertype ownername owneraddr parceladdr parcelstate parcelzip legaldesc township section qtrsection range plssdesc book page block firmid firmdate fldzone zonesubty elevmin elevmax elevavg updated centroidx centroidy surfpointx surfpointy geom extras ownerlist lbcsactivity lbcsfunction lbcstype lbcscharacter lbcsownership publish.parcel_layer columns not fed by these sources (42) — empty or below 50% fill in this county stackid, taxacctnum, taxdistrict, usecode, numbldgs, numunits, yearbuilt, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, saleamt saledate, ownercity, ownerstate, ownerzip, parcelcity, lot, parceltype, accesstype, iucnclass, placename, placetype, staticbfe, fireplaces heating, heatfuel, cooling, foundation, roofcover, siding, bldgtype, naicscode, frsid, dfrurl, caapermit, cwapermit, rcrapermit, placefp zoningurl, sourceurl PARCEL 8 mapped · 7 transformed · 2 kept in extras · 46 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parcelid parcelid2 totalvalue taxacres ownername parceladdr geom parentid parcelid NULLIF(btrim(parcelid::text), '')::text parcelid2 NULLIF(btrim(parcelid2::text), '')::text totalvalue NULLIF(btrim(totalvalue::text), '')::text taxacres NULLIF(btrim(taxacres::text), '')::text ownername NULLIF(btrim(ownername::text), '')::text parceladdr NULLIF(btrim(parceladdr::text), '')::text geom parentid NULLIF(btrim(parentid::text), '')::text extras · 2 source columns preserved as json ogparcelid, geoid extras not present in source — filled with NULL (46) taxacctnum, taxyear, usecode, usedesc, zoningcode, zoningdesc, numbldgs, numunits, yearbuilt, numfloors, bldgsqft, bedrooms, halfbaths fullbaths, imprvalue, landvalue, agvalue, saleamt, saledate, owneraddr, ownercity, ownerstate, ownerzip, parcelcity, parcelstate, parcelzip legaldesc, township, section, qtrsection, range, plssdesc, book, page, block, lot, updated, sourceurl, taxdistrict, heatfuel, fireplaces heating, cooling, foundation, roofcover, siding ZONING 5 mapped · 254 kept in extras · 4 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING geom zoning districtnamefull classtype zoningnotes geom zoningcode zoningdesc zoningtype notes extras · 254 source columns preserved as json zoning_join, city, source, fips7, acres, districtmapped districtmappedextinct, districtoverlay isrestrictedresidencedistrict, zoningtype districtoverlayalters, districtisplanneddev, family1treatment family1minlotsize, family1frontsetback, family1sidesetback family1rearsetback, family1maxcoveragebldgimperv family1minparking, family1parkingunit, family1maxstories family1maxheight, family1ftar, family1minunitsize family1maxbedrooms, family1landscaping, family1minfrontage family2treatment, family2minlotsize, family2maxdensity family2frontsetback, family2sidesetback, family2rearsetback family2maxcoveragebldgimperv, family2minparking family2maxstories, family2maxheight, family2ftar family2minunitsize, family2maxbedrooms, family2landscaping family2minfrontage, family2parkingunit, family3treatment family3minlotsize, family3maxdensity, family3frontsetback family3sidesetback, family3rearsetback family3maxcoveragebldgimperv, family3minparking family3connectiontransit, family3maxstories, family3maxheight family3ftar, family3minunitsize, family3maxbedrooms family3landscaping, family3minfrontage, family3parkingunit family4treatment, family4minlotsize, family4maxdensity family4frontsetback, family4sidesetback, family4rearsetback family4maxcoveragebldgimperv, family4minparking family4connectionsewer, family4maxstories, family4maxheight family4ftar, family4minunitsize, family4maxbedrooms family4maxunitsbldg, family4maxunitsdev, family4minfrontage family4parkingunit, family4landscaping, family5treatment family5minlotsize, family5minfrontage, family5maxdensity family5frontsetback, family5sidesetback, family5rearsetback family5maxcoveragebldgimperv, family5minparking family5parkingunit, family5connectionsewer family5connectiontransit, family5maxstories, family5maxheight family5ftar, family5minunitsize, family5maxbedrooms family5maxunitsbldg, family5maxunitsdev, family5landscaping family6treatment, family6minlotsize, family6minfrontage family6maxdensity, family6frontsetback, family6sidesetback family6rearsetback, family6maxcoveragebldgimperv family6minparking, family6parkingunit family6connectiontransit, family6maxstories, family6maxheight family6ftar, family6minunitsize, family6maxbedrooms family6maxunitsbldg, family6maxunitsdev, family6landscaping family7treatment, family7minlotsize, family7minfrontage family7maxdensity, family7frontsetback, family7sidesetback family7rearsetback, family7maxcoveragebldgimperv family7minparking, family7parkingunit, family7connectionsewer family7connectiontransit, family7maxstories, family7maxheight family7ftar, family7minunitsize, family7maxbedrooms family7maxunitsbldg, family7maxunitsdev, family7landscaping family8treatment, family8minlotsize, family8minfrontage family8maxdensity, family8frontsetback, family8sidesetback family8rearsetback, family8maxcoveragebldgimperv family8minparking, family8parkingunit family8connectiontransit, family8maxstories, family8maxheight family8ftar, family8minunitsize, family8maxbedrooms family8maxunitsbldg, family8maxunitsdev, family8landscaping family9treatment, family9affordable, family9minlotsize family9maxdensity, family9frontsetback, family9sidesetback family9rearsetback, family9maxcoveragebldgimperv family9minparking, family9connectiontransit family9maxstories, family9maxheight, family9ftar family9minunitsize, family9maxbedrooms, family9maxunitsbldg family9maxunitsbldgunits, family9maxunitsdev family9landscaping, family9minfrontage, family9parkingunit afftreatment, affminlotsize, aff2maxdensity, affminparking affconnectiontransit, affmaxbedrooms, affmaxunitsbldg affmaxunitsdev, afflandscaping, affminfrontage affparkingunit, affregulationdesc, adutreatment aduoccupancyfamily, aduoccupancyrenter, aduoccupancyowner aduelderly, aduminlotsize, aduminparking adurestrictedtoprimary, adusizeperc, adusizepercunit adumaxbedrooms, adurequirelotsize, adurequireminsize adurequiremaxsize, adurequireparking, adusizepercvalue adumaxbedroomsvalue, mobileparktreatment mobileparkminparksize, mobileparkminlotsize mobileparkmaxparksize, mobilehometreatment mobilehomeregulations, manufacturedhometreatment manufacturedhomeregulations, tinyhometreatment tinyhomethreshold, tinyhomeregulations, liveworktreatment planneddevsize, planneddevreferences planneddevreferenceslist, planneddevdensityregulated planneddevdensity, planneddevdensitytype, planneddevmixeduse manuparktreatment, manuparkminparksize, manuparkmaxparksize manuparkminlotsize, grptreatment, grpregulationdesc smallgrpbyright, smallgrpbypermit, biggrpbyright biggrpbypermit, grpminlotsize, grpminfrontage, grp2maxdensity grpminparking, grpparkingunit, grpmaxbedrooms grpmaxunitsbldg, grpmaxunitsdev, grplandscaping, pudtreatment pudminsize, puddensity, pudmixeduse, liveworkdefinition grpdefinition, tinyhomedefinition, affdefinition, city_class extras not present in source — filled with NULL (4) ordinance, setbacks, restrictions, sourceurl

Neighboring counties

Parcel data for counties bordering Mahaska County:

Frequently asked questions

Where can I find Mahaska County, IA parcel and GIS data?

Land Records publishes a Mahaska County, IA 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 Mahaska County, IA dataset as a GeoPackage or CSV.

How many parcels are in Mahaska County, IA?

The current dataset contains 22,957 parcel records for Mahaska County, IA, each with its boundary geometry and assessor attributes.

What is the FIPS code for Mahaska County, IA?

The FIPS code for Mahaska County, IA is 19123.

What information does each Mahaska County, IA parcel record include?

Each Mahaska County, IA 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 Mahaska County, IA parcel data free?

You can preview Mahaska County, IA 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 Mahaska County, IA have an official GIS or property records website?

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

On this page