Montgomery County, PA Parcels & GIS Data Montgomery County, PA parcel data: 310,006 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.
Land Records publishes Montgomery County, Pennsylvania parcel data covering 310,006 property records.
This page documents parcel-level coverage for Montgomery County, Pennsylvania. 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, colloquially referred to as Montco, is in the Commonwealth of Pennsylvania. As of the 2020 census, the population of the county was 856,553, making it the third-most populous county in Pennsylvania after Philadelphia and Allegheny counties and the most populous county in Pennsylvania without a major city.
FIPS 42091
Official county website: http://www.montcopa.org/
The FIPS code for Montgomery County is 42091.
Philadelphia Berks Bucks Lehigh Chester Delaware Montgomery
Montgomery County contains 310,006 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.
Column Coverage Records populated lrid100% 310,006 parcelid100% 309,966 parcelid297.7% 302,760 ogparcelid100% 309,959 ogparcelid2100% 309,923 parentid<0.1% 0 stackid<0.1% 0 geoid100% 310,006 statefp100% 310,006 countyfp100% 310,006 countyname100% 310,006 cousubfp100% 310,006 cousubname100% 310,006 tractce100% 310,006 tractname100% 310,006 taxacctnum<0.1% 0 taxyear100% 310,006 taxdistrict97.5% 302,203 usecode98.0% 303,804 usedesc18.9% 58,511 zoningcode99.9% 309,668 zoningdesc99.9% 309,563 numbldgs100% 310,006 numunits92.4% 286,440 yearbuilt99.0% 306,859 numfloors90.8% 281,361 bldgsqft97.5% 302,216 bedrooms85.5% 264,909 halfbaths57.4% 177,833 fullbaths85.4% 264,713 imprvalue96.5% 299,085 landvalue96.5% 299,085 agvalue97.5% 302,247 totalvalue99.7% 309,107 taxacres100% 309,855 calcarea100% 310,006 saleamt99.7% 309,107 saledate96.5% 299,071 ownertype94.3% 292,182 ownername97.5% 302,260 owneraddr97.5% 302,210 ownercity97.5% 302,120 ownerstate<0.1% 0 ownerzip97.4% 302,057 parceladdr98.0% 303,918 parcelcity<0.1% 44 parcelstate100% 310,006 parcelzip100% 310,006 legaldesc95.4% 295,807 township<0.1% 0 section<0.1% 0 qtrsection<0.1% 0 range<0.1% 0 plssdesc<0.1% 0 book97.5% 302,244 page97.5% 302,244 block97.5% 302,257 lot56.4% 174,934 parceltype0.7% 2,243 accesstype2.0% 6,154 iucnclass0.5% 1,627 placename6.0% 18,727 placetype6.0% 18,501 firmid100% 310,006 firmdate100% 310,006 fldzone100% 310,006 zonesubty98.3% 304,607 staticbfe<0.1% 5 elevmin100% 309,896 elevmax100% 309,896 elevavg100% 309,896 fireplaces48.3% 149,696 heating85.4% 264,769 heatfuel85.4% 264,771 cooling<0.1% 0 foundation85.4% 264,760 roofcover<0.1% 0 siding<0.1% 0 bldgtype5.1% 15,749 naicscode8.5% 26,309 frsid<0.1% 0 dfrurl<0.1% 0 caapermit<0.1% 0 cwapermit<0.1% 0 rcrapermit<0.1% 0 updated100% 310,006 centroidx100% 310,006 centroidy100% 310,006 surfpointx100% 310,006 surfpointy100% 310,006 geom100% 310,006 extras100% 310,006 ownerlist83.8% 259,641 placefp48.8% 151,274 zoningurl92.4% 286,480 lbcsactivity96.5% 299,015 lbcsfunction96.5% 299,003 lbcstype95.1% 294,817 lbcscharacter99.0% 307,046 lbcsownership98.0% 303,954 sourceurl<0.1% 0
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, Pennsylvania (42091)
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
PARCEL
taxpin
alternateid
calcacreage
last_edited_date
geom
parcelid
parcelid2
taxacres
updated
geom
REFTABLE
parcel
alt_id
land_use
zoning
liv_units
year_built
bedrooms
half_baths
baths
farmland
total_assessment
land_acres
consideration
sale_date
own1
own2
addr1
addr2
addr3
E
zip1_zip2
location1
loc_zip1_zip2
legal1
legal2
legal3
muni_code
deed_book
deed_page
block
lot_no
loc_no
loc_str
loc_unitno
nbhd
structure
stories
yr_rem
sfla
condition
style
rm_tot
frpl_open
frpl_stack
prefab_frpl
heat
basement
extwall
finbsmt_sf
bsmt_car
location2
total_appraisal
assessmentmoney
pool
sch_dist
geom
fuel
object_id
parcel_number
location_cd
class
util1
util2
util3
traffic
roads1
roads2
unit
prop_info_chgdate
restrictions
obyval
asmt_chgdate
careof
own_info_chgdate
subdivision
frontft
loc_add
loc_dir
loc_suf
loc_suf2
loc_unitdesc
legal_chgdate
est_co_tax
est_muni_tax
est_sch_tax
state_tax_stamps
steb
land_sf
land_chgdate
oby_chgdate
degree_remodeled
dwel_chgdate
comm_area
comm_nla
use_type
comm_bsmt
comm_heat
comm_air
comm_yr_blt
comm_units
comm_identical
park_cov
park_uncov
partition
residual
elev
comm_chgdate
prop_info_chgdate_1
assmt_chgdate_1
own_info_chgdate_1
legal_chgdate_1
sale_date_1
land_chdate_1
oby_chgdate_1
dwel_chgdate_1
comm_chgdate_1
landsf
est_mccc_tax
parcelid
parcelid2
usecode
zoningcode
numunits
yearbuilt
bedrooms
halfbaths
fullbaths
agvalue
totalvalue
taxacres
saleamt
saledate
ownername
owneraddr
ownercity
ownerzip
parceladdr
parcelzip
legaldesc
township
book
page
block
lot
house_number
road
unit
suburb
bldgtype
numfloors
yearremodel
livingarea
bldgcondition
architecture
totalrooms
fireplaces
heating
foundation
extwall
basementsqft
garagestalls
situsaddress
appraisedvalue
assessedvalue
pool
taxdistrict
geom
heatfuel
extras
ZONING
zoning
name
url
geom
zoningcode
zoningdesc
sourceurl
geom
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
98.3%
zonesubty
0.0%
staticbfe
100%
firmdate
100%
firmid
supplemented · derived / other pipelines
100%
numbldgs
97.5%
bldgsqft
96.5%
imprvalue
96.5%
landvalue
100%
parcelstate
83.8%
ownerlist
92.4%
zoningurl
96.5%
lbcsactivity
96.5%
lbcsfunction
95.1%
lbcstype
99.0%
lbcscharacter
98.0%
lbcsownership
lrid
parcelid
parcelid2
ogparcelid
ogparcelid2
geoid
statefp
countyfp
countyname
cousubfp
cousubname
tractce
tractname
taxyear
taxdistrict
usecode
zoningcode
zoningdesc
numbldgs
numunits
yearbuilt
numfloors
bldgsqft
bedrooms
halfbaths
fullbaths
imprvalue
landvalue
agvalue
totalvalue
taxacres
calcarea
saleamt
saledate
ownertype
ownername
owneraddr
ownercity
ownerzip
parceladdr
parcelstate
parcelzip
legaldesc
township
book
page
block
lot
firmid
firmdate
fldzone
zonesubty
staticbfe
elevmin
elevmax
elevavg
fireplaces
heating
heatfuel
foundation
bldgtype
updated
centroidx
centroidy
surfpointx
surfpointy
geom
extras
ownerlist
zoningurl
lbcsactivity
lbcsfunction
lbcstype
lbcscharacter
lbcsownership
sourceurl
publish.parcel_layer columns not fed by these sources (25) — empty or below 50% fill in this county
parentid, stackid, taxacctnum, usedesc, ownerstate, parcelcity, section, qtrsection, range, plssdesc, parceltype, accesstype, iucnclass
placename, placetype, cooling, roofcover, siding, naicscode, frsid, dfrurl, caapermit, cwapermit, rcrapermit, placefp
PARCEL
5 mapped · 1 transformed · 5 kept in extras · 49 unmapped (NULL)
SOURCE COLUMNS
HARMONIZED → PARCEL
taxpin
alternateid
calcacreage
last_edited_date
geom
parcelid
parcelid2
taxacres
updated
CASE WHEN last_edited_date IS NULL THEN NULL::text ELSE to_time…
geom
not present in source — filled with NULL (49)
taxacctnum, taxyear, usecode, usedesc, zoningcode, zoningdesc, numbldgs, numunits, yearbuilt, numfloors, bldgsqft, bedrooms, halfbaths
fullbaths, imprvalue, landvalue, agvalue, totalvalue, saleamt, saledate, ownername, owneraddr, ownercity, ownerstate, ownerzip, parceladdr
parcelcity, parcelstate, parcelzip, legaldesc, township, section, qtrsection, range, plssdesc, book, page, block, lot, sourceurl, taxdistrict
parentid, heatfuel, fireplaces, heating, cooling, foundation, roofcover, siding
REFTABLE
51 mapped · 39 transformed · 71 unmapped (NULL)
SOURCE COLUMNS
HARMONIZED → REFTABLE
parcel
alt_id
land_use
zoning
liv_units
year_built
bedrooms
half_baths
baths
farmland
total_assessment
land_acres
consideration
sale_date
own1
own2
addr1
addr2
addr3
E
zip1_zip2
location1
loc_zip1_zip2
legal1
legal2
legal3
muni_code
deed_book
deed_page
block
lot_no
loc_no
loc_str
loc_unitno
nbhd
structure
stories
yr_rem
sfla
condition
style
rm_tot
frpl_open
frpl_stack
prefab_frpl
heat
basement
extwall
finbsmt_sf
bsmt_car
location2
total_appraisal
assessmentmoney
pool
sch_dist
geom
fuel
object_id
parcel_number
location_cd
class
util1
util2
util3
traffic
roads1
roads2
unit
prop_info_chgdate
restrictions
obyval
asmt_chgdate
careof
own_info_chgdate
subdivision
frontft
loc_add
loc_dir
loc_suf
loc_suf2
loc_unitdesc
legal_chgdate
est_co_tax
est_muni_tax
est_sch_tax
state_tax_stamps
steb
land_sf
land_chgdate
oby_chgdate
degree_remodeled
dwel_chgdate
comm_area
comm_nla
use_type
comm_bsmt
comm_heat
comm_air
comm_yr_blt
comm_units
comm_identical
park_cov
park_uncov
partition
residual
elev
comm_chgdate
prop_info_chgdate_1
assmt_chgdate_1
own_info_chgdate_1
legal_chgdate_1
sale_date_1
land_chdate_1
oby_chgdate_1
dwel_chgdate_1
comm_chgdate_1
landsf
est_mccc_tax
parcelid
trim(parcel)::text
parcelid2
usecode
NULLIF(TRIM(land_use), '')::text
zoningcode
NULLIF(TRIM(zoning), '')::text
numunits
NULLIF(TRIM(liv_units), '')::text
yearbuilt
NULLIF(TRIM(year_built), '')::text
bedrooms
NULLIF(TRIM(bedrooms), '')::text
halfbaths
NULLIF(TRIM(half_baths), '')::text
fullbaths
NULLIF(TRIM(baths), '')::text
agvalue
NULLIF(TRIM(farmland), '')::text
totalvalue
taxacres
saleamt
saledate
NULLIF(TRIM(sale_date), '')::text
ownername
NULLIF(TRIM(CONCAT_WS('; ', NULLIF(TRIM(own1), ''), NULLIF(TRIM…
owneraddr
NULLIF(TRIM(CONCAT_WS(', ', NULLIF(TRIM(addr1), ''), NULLIF(TRI…
ownercity
NULLIF(TRIM(regexp_replace(NULLIF(TRIM(regexp_replace(addr3, E'…
ownerzip
NULLIF(TRIM(zip1_zip2), '')::text
parceladdr
NULLIF(TRIM(location1), '')::text
parcelzip
NULLIF(TRIM(loc_zip1_zip2), '')::text
legaldesc
NULLIF(TRIM(CONCAT_WS('; ', NULLIF(TRIM(legal1), ''), NULLIF(TR…
township
NULLIF(TRIM(muni_code), '')::text
book
page
block
lot
NULLIF(TRIM(lot_no), '')::text
house_number
NULLIF(TRIM(loc_no::text), '')::text
road
NULLIF(TRIM(loc_str), '')::text
unit
NULLIF(TRIM(loc_unitno), '')::text
suburb
NULLIF(TRIM(nbhd), '')::text
bldgtype
NULLIF(TRIM(structure), '')::text
numfloors
NULLIF(TRIM(stories), '')::text
yearremodel
NULLIF(TRIM(yr_rem), '')::text
livingarea
bldgcondition
NULLIF(TRIM(condition), '')::text
architecture
NULLIF(TRIM(style), '')::text
totalrooms
NULLIF(TRIM(rm_tot), '')::text
fireplaces
CASE WHEN NULLIF(TRIM(frpl_open), '') IS NULL AND NULLIF(TRIM(f…
heating
NULLIF(TRIM(heat), '')::text
foundation
NULLIF(TRIM(basement), '')::text
extwall
NULLIF(TRIM(extwall), '')::text
basementsqft
garagestalls
NULLIF(TRIM(bsmt_car), '')::text
situsaddress
NULLIF(TRIM(location2), '')::text
appraisedvalue
assessedvalue
pool
CASE WHEN NULLIF(TRIM(pool), '') IS NULL THEN NULL::text WHEN u…
taxdistrict
NULLIF(TRIM(sch_dist), '')::text
geom
heatfuel
NULLIF(TRIM(fuel), '')::text
extras
( json_build_object( 'object_id', object_id::text, 'parcel_numb…
not present in source — filled with NULL (71)
taxacctnum, taxyear, usedesc, zoningdesc, numbldgs, bldgsqft, imprvalue, landvalue, ownerstate, parcelcity, parcelstate, section, qtrsection
range, plssdesc, zoningtype, zoningordinance, zoningsetbacks, zoningrestrictions, landusecode, landusedesc, lbcsdimension, lbcscode, house
category, near, level, staircase, entrance, po_box, postcode, city_district, city, island, state_district, state, country_region, country
world_region, bldgquality, cooling, attic, atticsqft, intwall, roofstyle, roofcover, roofheight, fsagpfeet, siding, framing, attgaragesqft
detgaragesqft, boatlift, boatdock, boathouse, gazebo, irrigation, riprap, solarium, carport, greenhouse, openporch, enclporch, sauna, wooddeck
hottub, patio, shed, workshop, sourceurl, parentid
ZONING
4 mapped · 1 kept in extras · 5 unmapped (NULL)
SOURCE COLUMNS
HARMONIZED → ZONING
zoning
name
url
geom
zoningcode
zoningdesc
sourceurl
geom
not present in source — filled with NULL (5)
zoningtype, ordinance, setbacks, restrictions, notes Neighboring counties Parcel data for counties bordering Montgomery County:
Where can I find Montgomery County, PA parcel and GIS data? Land Records publishes a Montgomery County, PA 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, PA dataset as a GeoPackage or CSV.
How many parcels are in Montgomery County, PA? The current dataset contains 310,006 parcel records for Montgomery County, PA, each with its boundary geometry and assessor attributes.
What is the FIPS code for Montgomery County, PA? The FIPS code for Montgomery County, PA is 42091.
What information does each Montgomery County, PA parcel record include? Each Montgomery County, PA 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, PA parcel data free? You can preview Montgomery County, PA 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, PA have an official GIS or property records website? Yes — the official Montgomery County, PA government website is linked in the county details above. Land Records standardizes Montgomery County, PA assessor and recorder records into a single nationwide parcel schema with GIS boundary geometry.