Montgomery County, NC Parcels & GIS Data

Montgomery County, NC parcel data: 30,358 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Montgomery County, North Carolina parcel data covering 30,358 property records.

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

Montgomery County is a rural county located in the southern Piedmont of the U.S. state of North Carolina. As of the 2020 census, the population was 25,751. Its county seat is Troy.

FIPS 37123

Official county website: http://www.montgomery-county.com

The FIPS code for Montgomery County is 37123.

RandolphMooreRichmondAnsonStanlyDavidsonMontgomery
Hosted Web API$200/mo

Attribute coverage

Montgomery County contains 30,358 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%30,358
parcelid99.4%30,163
parcelid299.2%30,110
ogparcelid99.7%30,270
ogparcelid299.2%30,108
parentid<0.1%0
stackid<0.1%0
geoid100%30,358
statefp100%30,358
countyfp100%30,358
countyname100%30,358
cousubfp100%30,358
cousubname100%30,358
tractce100%30,358
tractname100%30,358
taxacctnum<0.1%0
taxyear100%30,358
taxdistrict99.5%30,205
usecode98.8%29,997
usedesc97.5%29,604
zoningcode5.0%1,512
zoningdesc<0.1%10
numbldgs100%30,358
numunits55.7%16,920
yearbuilt86.5%26,271
numfloors77.2%23,442
bldgsqft<0.1%0
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue99.8%30,296
landvalue99.8%30,296
agvalue77.3%23,476
totalvalue99.8%30,296
taxacres98.7%29,953
calcarea100%30,358
saleamt<0.1%0
saledate98.1%29,788
ownertype99.3%30,154
ownername99.3%30,154
owneraddr98.0%29,753
ownercity97.8%29,693
ownerstate97.8%29,690
ownerzip97.8%29,693
parceladdr99.2%30,114
parcelcity0.8%236
parcelstate100%30,358
parcelzip100%30,358
legaldesc98.7%29,972
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book0.9%269
page0.9%269
block<0.1%0
lot<0.1%0
parceltype1.0%291
accesstype1.3%396
iucnclass1.2%369
placename3.5%1,050
placetype3.4%1,040
firmid100%30,358
firmdate100%30,358
fldzone100%30,358
zonesubty99.2%30,107
staticbfe<0.1%0
elevmin15.6%4,721
elevmax15.6%4,721
elevavg15.6%4,721
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
naicscode13.3%4,034
frsid<0.1%1
dfrurl<0.1%1
caapermit<0.1%1
cwapermit<0.1%1
rcrapermit<0.1%1
updated100%30,358
centroidx100%30,358
centroidy100%30,358
surfpointx100%30,358
surfpointy100%30,358
geom100%30,358
extras100%30,358
ownerlist83.3%25,297
placefp16.1%4,896
zoningurl1.6%474
lbcsactivity96.9%29,432
lbcsfunction96.8%29,388
lbcstype99.3%30,160
lbcscharacter97.6%29,616
lbcsownership99.3%30,156
sourceurl0.9%269

Schema mapping

How source columns from the acquired Montgomery 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 — Montgomery County, North Carolina (37123) 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 parno altparno parusecode parusecd2 parusedesc parusedsc2 struct structyear improvval landval parval recareatx recareano gisacres saledate ownname ownfrst ownlast ownname2 mailadd maddpref maddrno maddstname maddstr maddstsuf maddsttyp mcity mstate mzip siteadd saddpref saddno saddstname saddstr saddstsuf saddsttyp scity sstate stname szip legdecfull revisedate geom cntyname munit sunit multistruc saledatetx parvaltype owntype sourceref sourcedate sourcedatx subdivisio nparno cntyfips stfips stcntyfips gnisid sourceagnt transfdate revdatetx reviseyear mapref subowntype subsurfown structno presentval st_area_shape_ st_perimeter_shape_ parcelid parcelid2 usecode usedesc numbldgs yearbuilt imprvalue landvalue totalvalue taxacres saledate ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc updated geom taxdistrict extras ZONING zoning_new notes geom parno zoning_old split rezoned date_approved created_user created_date last_edited_user last_edited_date zoningcode notes 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 15.6% elevmin 15.6% elevmax 15.6% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 99.2% zonesubty 100% firmdate 100% firmid supplemented · derived / other pipelines 55.7% numunits 77.2% numfloors 77.3% agvalue 83.3% ownerlist 96.9% lbcsactivity 96.8% lbcsfunction 99.3% lbcstype 97.6% lbcscharacter 99.3% lbcsownership lrid parcelid parcelid2 ogparcelid ogparcelid2 geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxyear taxdistrict usecode usedesc zoningcode numbldgs numunits yearbuilt numfloors imprvalue landvalue agvalue totalvalue taxacres calcarea saledate ownertype ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc 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 (41) — empty or below 50% fill in this county parentid, stackid, taxacctnum, zoningdesc, bldgsqft, bedrooms, halfbaths, fullbaths, saleamt, township, section, qtrsection, range, plssdesc 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, sourceurl PARCEL 25 mapped · 21 transformed · 30 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parno altparno parusecode parusecd2 parusedesc parusedsc2 struct structyear improvval landval parval recareatx recareano gisacres saledate ownname ownfrst ownlast ownname2 mailadd maddpref maddrno maddstname maddstr maddstsuf maddsttyp mcity mstate mzip siteadd saddpref saddno saddstname saddstr saddstsuf saddsttyp scity sstate stname szip legdecfull revisedate geom cntyname munit sunit multistruc saledatetx parvaltype owntype sourceref sourcedate sourcedatx subdivisio nparno cntyfips stfips stcntyfips gnisid sourceagnt transfdate revdatetx reviseyear mapref subowntype subsurfown structno presentval st_area_shape_ st_perimeter_shape_ parcelid NULLIF(TRIM(parno), '')::text parcelid2 NULLIF(TRIM(altparno), '')::text usecode COALESCE( NULLIF(TRIM(parusecode), '')::text, NULLIF(TRIM(parus… usedesc COALESCE( NULLIF(TRIM(parusedesc), '')::text, NULLIF(TRIM(parus… numbldgs CASE WHEN UPPER(TRIM(struct)) = 'Y' THEN '1'::text WHEN UPPER(T… yearbuilt NULLIF(structyear, 0)::text imprvalue landvalue totalvalue taxacres COALESCE( NULLIF(TRIM(recareatx), '')::text, CASE WHEN recarean… saledate CASE WHEN saledate IS NOT NULL AND saledate > 0 THEN to_timesta… ownername NULLIF(TRIM(concat_ws('; ', COALESCE( NULLIF(TRIM(ownname), '')… owneraddr COALESCE( NULLIF(TRIM(mailadd), '')::text, NULLIF(TRIM(concat_w… ownercity NULLIF(TRIM(mcity), '')::text ownerstate NULLIF(TRIM(mstate), '')::text ownerzip NULLIF(TRIM(mzip), '')::text parceladdr COALESCE( NULLIF(TRIM(siteadd), '')::text, NULLIF(TRIM(concat_w… parcelcity NULLIF(TRIM(scity), '')::text parcelstate COALESCE( NULLIF(TRIM(sstate), '')::text, NULLIF(TRIM(stname), … parcelzip NULLIF(TRIM(szip), '')::text legaldesc NULLIF(TRIM(legdecfull), '')::text updated CASE WHEN revisedate IS NOT NULL AND revisedate > 0 THEN to_tim… geom taxdistrict NULLIF(TRIM(cntyname), '')::text extras (json_build_object( 'munit', munit::text, 'sunit', sunit::text,… not present in source — filled with NULL (30) taxacctnum, taxyear, zoningcode, zoningdesc, numunits, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, saleamt, township, section qtrsection, range, plssdesc, book, page, block, lot, sourceurl, parentid, heatfuel, fireplaces, heating, cooling, foundation, roofcover, siding ZONING 4 mapped · 3 transformed · 6 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING zoning_new notes geom parno zoning_old split rezoned date_approved created_user created_date last_edited_user last_edited_date zoningcode NULLIF(zoning_new::text, '')::text notes NULLIF(notes::text, '')::text geom extras json_build_object( 'parno', NULLIF(parno::text, '')::text, 'zon… not present in source — filled with NULL (6) zoningdesc, zoningtype, ordinance, setbacks, restrictions, sourceurl

Neighboring counties

Parcel data for counties bordering Montgomery County:

Frequently asked questions

Where can I find Montgomery County, NC parcel and GIS data?

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

How many parcels are in Montgomery County, NC?

The current dataset contains 30,358 parcel records for Montgomery County, NC, each with its boundary geometry and assessor attributes.

What is the FIPS code for Montgomery County, NC?

The FIPS code for Montgomery County, NC is 37123.

What information does each Montgomery County, NC parcel record include?

Each Montgomery County, NC 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 Montgomery County, NC parcel data free?

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

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

On this page