Madison County, MT Parcels & GIS Data

Madison County, MT parcel data: 21,768 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Madison County, Montana parcel data covering 21,768 property records.

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

Madison County is a county in the U.S. state of Montana. As of the 2020 census, the population was 8,623. Its county seat is Virginia City.

FIPS 30057

Official county website: http://www.madison.mt.gov

The FIPS code for Madison County is 30057.

GallatinFremontBeaverheadSilver BowJeffersonMadison
Hosted Web API$200/mo

Attribute coverage

Madison County contains 21,768 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%21,768
parcelid98.7%21,494
parcelid2100%21,762
ogparcelid98.7%21,494
ogparcelid2100%21,762
parentid<0.1%0
stackid<0.1%0
geoid100%21,768
statefp100%21,768
countyfp100%21,768
countyname100%21,768
cousubfp100%21,768
cousubname100%21,768
tractce100%21,768
tractname100%21,768
taxacctnum98.5%21,442
taxyear100%21,768
taxdistrict98.5%21,443
usecode88.7%19,298
usedesc98.5%21,451
zoningcode<0.1%0
zoningdesc<0.1%0
numbldgs93.1%20,274
numunits43.1%9,391
yearbuilt23.6%5,136
numfloors23.6%5,145
bldgsqft23.6%5,135
bedrooms23.2%5,057
halfbaths6.7%1,448
fullbaths23.2%5,060
imprvalue98.5%21,442
landvalue98.5%21,442
agvalue<0.1%0
totalvalue98.5%21,442
taxacres98.5%21,442
calcarea100%21,768
saleamt<0.1%0
saledate59.4%12,924
ownertype98.5%21,443
ownername98.5%21,443
owneraddr98.5%21,442
ownercity98.2%21,373
ownerstate98.2%21,371
ownerzip98.2%21,371
parceladdr54.1%11,772
parcelcity40.5%8,819
parcelstate100%21,768
parcelzip100%21,768
legaldesc98.5%21,443
township99.8%21,733
section99.8%21,733
qtrsection99.8%21,733
range99.8%21,733
plssdesc99.8%21,733
book14.0%3,039
page14.0%3,039
block<0.1%0
lot<0.1%0
parceltype19.4%4,223
accesstype19.9%4,332
iucnclass16.5%3,597
placename22.1%4,818
placetype22.0%4,798
firmid99.6%21,688
firmdate99.6%21,688
fldzone99.6%21,688
zonesubty97.3%21,179
staticbfe<0.1%0
elevmin65.4%14,241
elevmax65.4%14,241
elevavg65.4%14,241
fireplaces5.8%1,262
heating23.6%5,136
heatfuel23.6%5,136
cooling23.6%5,136
foundation23.6%5,136
roofcover21.8%4,756
siding23.6%5,136
bldgtype<0.1%0
naicscode38.2%8,315
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated99.9%21,743
centroidx100%21,768
centroidy100%21,768
surfpointx100%21,768
surfpointy100%21,768
geom100%21,768
extras100%21,768
ownerlist86.5%18,828
placefp27.4%5,956
zoningurl<0.1%0
lbcsactivity54.2%11,795
lbcsfunction17.0%3,693
lbcstype59.2%12,897
lbcscharacter92.2%20,066
lbcsownership98.7%21,487
sourceurl71.5%15,560

Schema mapping

How source columns from the acquired Madison 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 — Madison County, Montana (30057) 3 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 ADDRESS building place_type landmkname add_number st_premod st_predir st_pretyp st_presep st_name st_postyp st_posdir st_posmod unit floor post_code nbrhd_comm post_comm county state country geom discrpagid dateupdate effective expire inc_muni uninc_comm addnum_pre addnum_suf lst_predir lst_name lst_posdir room seat addtl_loc placement mt_plctype parcelid localid addtl_desc gnis_id datasettyp processid processdte globalid nguid lst_typ postcodeex milepost longitude latitude elevation house category near house_number road unit level postcode suburb city state_district state country geom extras PARCEL parcelid globalid propertyid taxyear assessmentcode proptype totalbuildingvalue totallandvalue totalvalue totalacres ownername owneraddress1 owneraddress2 owneraddress3 ownercity ownerstate ownerzipcode addressline1 legaldescriptionshort township section range geom levydistrict countycd countyname countyabbr gisacres subdivision certificateofsurvey addressline2 citystatezip propaccess continuouscropacres fallowacres farmsiteacres forestacres grazingacres wildhayacres irrigatedacres nonqualacres dbaname careoftaxpayer parcelid parcelid2 taxacctnum taxyear usecode usedesc imprvalue landvalue totalvalue taxacres ownername owneraddr ownercity ownerstate ownerzip parceladdr legaldesc township section range geom taxdistrict extras ZONING geom esn 5 cols ⇢ geom zoningcode extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname 100% updated geom · derived from geometry geom dem.us_1m · USGS 1m DEM 65.4% elevmin 65.4% elevmax 65.4% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 97.3% zonesubty 100% firmdate 100% firmid supplemented · derived / other pipelines 93.1% numbldgs 59.4% saledate 100% parcelstate 100% parcelzip 100% qtrsection 100% plssdesc 86.5% ownerlist 54.2% lbcsactivity 59.2% lbcstype 92.2% lbcscharacter 98.7% lbcsownership 71.5% sourceurl lrid parcelid parcelid2 ogparcelid ogparcelid2 geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxacctnum taxyear taxdistrict usecode usedesc zoningcode numbldgs imprvalue landvalue totalvalue taxacres calcarea saledate ownertype ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelstate parcelzip legaldesc township section qtrsection range plssdesc firmid firmdate fldzone zonesubty elevmin elevmax elevavg updated centroidx centroidy surfpointx surfpointy geom extras ownerlist lbcsactivity lbcstype lbcscharacter lbcsownership sourceurl publish.parcel_layer columns not fed by these sources (40) — empty or below 50% fill in this county parentid, stackid, zoningdesc, numunits, yearbuilt, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, saleamt, parcelcity, book page, block, lot, parceltype, accesstype, iucnclass, placename, placetype, staticbfe, fireplaces, heating, heatfuel, cooling, foundation roofcover, siding, bldgtype, naicscode, frsid, dfrurl, caapermit, cwapermit, rcrapermit, placefp, zoningurl, lbcsfunction ADDRESS 15 mapped · 2 transformed · 7 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ADDRESS building place_type landmkname add_number st_premod st_predir st_pretyp st_presep st_name st_postyp st_posdir st_posmod unit floor post_code nbrhd_comm post_comm county state country geom discrpagid dateupdate effective expire inc_muni uninc_comm addnum_pre addnum_suf lst_predir lst_name lst_posdir room seat addtl_loc placement mt_plctype parcelid localid addtl_desc gnis_id datasettyp processid processdte globalid nguid lst_typ postcodeex milepost longitude latitude elevation house category near house_number road NULLIF(TRIM(BOTH FROM concat_ws(' ', st_premod::text, st_predir… unit level postcode suburb city state_district state country geom extras ( json_build_object( 'discrpagid', discrpagid::text, 'dateupdat… not present in source — filled with NULL (7) staircase, entrance, po_box, city_district, island, country_region, world_region PARCEL 23 mapped · 16 transformed · 32 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parcelid globalid propertyid taxyear assessmentcode proptype totalbuildingvalue totallandvalue totalvalue totalacres ownername owneraddress1 owneraddress2 owneraddress3 ownercity ownerstate ownerzipcode addressline1 legaldescriptionshort township section range geom levydistrict countycd countyname countyabbr gisacres subdivision certificateofsurvey addressline2 citystatezip propaccess continuouscropacres fallowacres farmsiteacres forestacres grazingacres wildhayacres irrigatedacres nonqualacres dbaname careoftaxpayer parcelid NULLIF(TRIM(parcelid), '')::text parcelid2 NULLIF(TRIM(globalid), '')::text taxacctnum taxyear usecode NULLIF(TRIM(assessmentcode), '')::text usedesc NULLIF(TRIM(proptype), '')::text imprvalue landvalue totalvalue taxacres ownername NULLIF(TRIM(ownername), '')::text owneraddr NULLIF(CONCAT_WS(', ', NULLIF(TRIM(owneraddress1), ''), NULLIF(… ownercity NULLIF(TRIM(ownercity), '')::text ownerstate NULLIF(TRIM(ownerstate), '')::text ownerzip NULLIF(TRIM(ownerzipcode), '')::text parceladdr NULLIF(TRIM(addressline1), '')::text legaldesc NULLIF(TRIM(legaldescriptionshort), '')::text township NULLIF(TRIM(township), '')::text section NULLIF(TRIM(section), '')::text range NULLIF(TRIM("range"), '')::text geom taxdistrict NULLIF(TRIM(levydistrict), '')::text extras json_build_object( 'countycd', countycd::text, 'countyname', NU… not present in source — filled with NULL (32) zoningcode, zoningdesc, numbldgs, numunits, yearbuilt, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, saleamt, saledate parcelcity, parcelstate, parcelzip, qtrsection, plssdesc, book, page, block, lot, updated, sourceurl, parentid, heatfuel, fireplaces, heating cooling, foundation, roofcover, siding ZONING 2 mapped · 5 kept in extras · 7 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING geom esn geom zoningcode extras · 5 source columns preserved as json amb_dist, rfd, joint, first_resp, law extras not present in source — filled with NULL (7) zoningdesc, zoningtype, ordinance, setbacks, restrictions, notes, sourceurl

Neighboring counties

Parcel data for counties bordering Madison County:

Frequently asked questions

Where can I find Madison County, MT parcel and GIS data?

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

How many parcels are in Madison County, MT?

The current dataset contains 21,768 parcel records for Madison County, MT, each with its boundary geometry and assessor attributes.

What is the FIPS code for Madison County, MT?

The FIPS code for Madison County, MT is 30057.

What information does each Madison County, MT parcel record include?

Each Madison County, MT 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 Madison County, MT parcel data free?

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

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

On this page