Madison County, MT Parcels & GIS Data

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

Land Records publishes Madison County, Montana parcel data covering 19,145 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 19,145 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%19,145
parcelid98.6%18,886
parcelid2100%19,145
ogparcelid98.6%18,886
ogparcelid2100%19,145
parentid<0.1%0
stackid<0.1%0
geoid100%19,145
statefp100%19,145
countyfp100%19,145
countyname100%19,145
cousubfp100%19,145
cousubname100%19,145
tractce100%19,145
tractname100%19,145
taxacctnum98.4%18,841
taxyear100%19,145
taxdistrict98.4%18,842
usecode98.4%18,842
usedesc98.5%18,849
zoningcode<0.1%0
zoningdesc<0.1%0
numbldgs92.3%17,669
numunits42.0%8,040
yearbuilt25.9%4,957
numfloors25.9%4,960
bldgsqft25.9%4,956
bedrooms25.5%4,879
halfbaths7.1%1,358
fullbaths25.5%4,882
imprvalue98.4%18,841
landvalue98.4%18,841
agvalue<0.1%0
totalvalue98.4%18,841
taxacres98.4%18,841
calcarea100%19,145
saleamt<0.1%0
saledate65.6%12,557
ownertype98.4%18,842
ownername98.4%18,842
owneraddr98.4%18,841
ownercity98.1%18,783
ownerstate98.1%18,781
ownerzip98.1%18,781
parceladdr54.7%10,470
parcelcity39.7%7,595
parcelstate100%19,145
parcelzip100%19,145
legaldesc98.4%18,842
township100%19,142
section100%19,142
qtrsection100%19,142
range100%19,142
plssdesc100%19,142
book15.6%2,995
page15.6%2,995
block<0.1%0
lot<0.1%0
parceltype21.8%4,168
accesstype22.1%4,225
iucnclass18.4%3,530
placename24.2%4,632
placetype24.1%4,615
firmid99.9%19,134
firmdate99.9%19,134
fldzone99.9%19,134
zonesubty97.5%18,669
staticbfe<0.1%0
elevmin66.5%12,730
elevmax66.5%12,730
elevavg66.5%12,730
fireplaces6.2%1,190
heating25.9%4,957
heatfuel25.9%4,957
cooling25.9%4,957
foundation25.9%4,957
roofcover24.8%4,748
siding25.9%4,957
bldgtype<0.1%0
naicscode40.3%7,722
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated100%19,137
centroidx100%19,145
centroidy100%19,145
surfpointx100%19,145
surfpointy100%19,145
geom100%19,145
extras100%19,145
ownerlist90.7%17,364
placefp25.6%4,893
zoningurl<0.1%0
lbcsactivity55.5%10,623
lbcsfunction18.4%3,522
lbcstype60.5%11,574
lbcscharacter92.1%17,623
lbcsownership98.6%18,884
sourceurl81.1%15,522

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-17 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 66.5% elevmin 66.5% elevmax 66.5% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 97.5% zonesubty 100% firmdate 100% firmid supplemented · derived / other pipelines 92.3% numbldgs 65.6% saledate 100% parcelstate 100% parcelzip 100% qtrsection 100% plssdesc 90.7% ownerlist 55.5% lbcsactivity 60.5% lbcstype 92.1% lbcscharacter 98.6% lbcsownership 81.1% 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 19,145 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