Penobscot County, ME Parcels & GIS Data

Penobscot County, ME parcel data: 56,754 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Penobscot County, Maine parcel data covering 56,754 property records.

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

Penobscot County is a county in the U.S. state of Maine, named for the Penobscot people in Wabanakik. As of the 2020 census, the population was 152,199, making it the third-most-populous county in Maine. Its county seat is Bangor.

FIPS 23019

Official county website: http://www.penobscot-county.net/

The FIPS code for Penobscot County is 23019.

AroostookWashingtonWaldoHancockPiscataquisSomersetPenobscot
Hosted Web API$200/mo

Attribute coverage

Penobscot County contains 56,754 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%56,754
parcelid97.3%55,219
parcelid284.9%48,195
ogparcelid99.8%56,636
ogparcelid284.9%48,179
parentid53.8%30,525
stackid0.3%186
geoid100%56,754
statefp100%56,754
countyfp100%56,754
countyname100%56,754
cousubfp100%56,754
cousubname100%56,754
tractce100%56,754
tractname100%56,754
taxacctnum9.9%5,599
taxyear100%56,754
taxdistrict62.8%35,631
usecode5.9%3,338
usedesc35.8%20,303
zoningcode33.3%18,895
zoningdesc31.2%17,704
numbldgs100%56,754
numunits29.2%16,550
yearbuilt18.4%10,456
numfloors3.2%1,816
bldgsqft16.6%9,431
bedrooms20.1%11,389
halfbaths18.1%10,272
fullbaths20.0%11,372
imprvalue33.1%18,803
landvalue33.1%18,804
agvalue1.1%621
totalvalue33.1%18,808
taxacres34.4%19,510
calcarea100%56,754
saleamt26.4%14,980
saledate21.3%12,082
ownertype33.8%19,172
ownername27.9%15,817
owneraddr33.1%18,800
ownercity25.8%14,638
ownerstate31.0%17,602
ownerzip11.1%6,308
parceladdr73.3%41,629
parcelcity75.4%42,817
parcelstate100%56,754
parcelzip100%56,754
legaldesc<0.1%20
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book11.5%6,523
page11.6%6,577
block8.8%4,976
lot34.0%19,275
parceltype1.8%1,013
accesstype1.8%1,017
iucnclass0.4%222
placename6.7%3,799
placetype6.9%3,926
firmid99.9%56,691
firmdate99.9%56,691
fldzone99.9%56,691
zonesubty72.3%41,035
staticbfe0.7%382
elevmin80.2%45,508
elevmax80.2%45,508
elevavg80.2%45,508
fireplaces<0.1%0
heating2.9%1,658
heatfuel2.8%1,609
cooling3.1%1,739
foundation<0.1%0
roofcover3.1%1,738
siding3.1%1,739
bldgtype17.1%9,688
naicscode7.2%4,078
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated100%56,754
centroidx100%56,754
centroidy100%56,754
surfpointx100%56,754
surfpointy100%56,754
geom100%56,754
extras100%56,754
ownerlist32.3%18,347
placefp50.5%28,666
zoningurl13.1%7,425
lbcsactivity45.2%25,625
lbcsfunction44.7%25,384
lbcstype60.6%34,388
lbcscharacter83.2%47,199
lbcsownership34.7%19,673
sourceurl31.9%18,130

Schema mapping

How source columns from the acquired Penobscot 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 — Penobscot County, Maine (23019) 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 parcel_num alt_num area block lot geom 6 cols ⇢ parcelid parcelid2 taxacres block lot geom extras REFTABLE map_lot globalid re_acct zone_1 res_units comm_units res_yr_blt com_yr_blt res_beds res_h_bath res_f_bath value_bldg value_land value_tot acres sale_price sale_date owner owner2 own_add1 own_add2 prop_loc land_type nbrhd_code bldg_type res_yr_rmd com_yr_rmd res_sf res_bmt_sf assessment geom 23 cols ⇢ parcelid parcelid2 taxacctnum zoningcode numunits yearbuilt bedrooms halfbaths fullbaths imprvalue landvalue totalvalue taxacres saleamt saledate ownername owneraddr parceladdr landusedesc suburb bldgtype yearremodel livingarea basementsqft assessedvalue geom extras ZONING geom label zoning type 2 cols ⇢ geom zoningcode zoningdesc zoningtype extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname 100% taxyear 100% updated geom · derived from geometry geom dem.us_1m · USGS 1m DEM 80.2% elevmin 80.2% elevmax 80.2% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 72.3% zonesubty 0.7% staticbfe 100% firmdate 100% firmid supplemented · derived / other pipelines 53.8% parentid 62.8% taxdistrict 100% numbldgs 75.4% parcelcity 100% parcelstate 100% parcelzip 50.5% placefp 60.6% lbcstype 83.2% lbcscharacter lrid parcelid parcelid2 ogparcelid ogparcelid2 parentid geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxacctnum taxyear taxdistrict zoningcode zoningdesc numbldgs numunits yearbuilt bedrooms halfbaths fullbaths imprvalue landvalue totalvalue taxacres calcarea saleamt saledate ownertype ownername owneraddr parceladdr parcelcity parcelstate parcelzip block lot firmid firmdate fldzone zonesubty staticbfe elevmin elevmax elevavg bldgtype updated centroidx centroidy surfpointx surfpointy geom extras placefp lbcstype lbcscharacter publish.parcel_layer columns not fed by these sources (41) — empty or below 50% fill in this county stackid, usecode, usedesc, numfloors, bldgsqft, agvalue, ownercity, ownerstate, ownerzip, legaldesc, township, section, qtrsection, range plssdesc, book, page, parceltype, accesstype, iucnclass, placename, placetype, fireplaces, heating, heatfuel, cooling, foundation, roofcover siding, naicscode, frsid, dfrurl, caapermit, cwapermit, rcrapermit, ownerlist, zoningurl, lbcsactivity, lbcsfunction, lbcsownership, sourceurl PARCEL 6 mapped · 6 kept in extras · 48 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parcel_num alt_num area block lot geom parcelid parcelid2 taxacres block lot geom extras · 6 source columns preserved as json map, building, type, full_num, areatype, mapshade extras not present in source — filled with NULL (48) 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, updated, sourceurl, taxdistrict parentid, heatfuel, fireplaces, heating, cooling, foundation, roofcover, siding REFTABLE 26 mapped · 14 transformed · 23 kept in extras · 95 unmapped (NULL) SOURCE COLUMNS HARMONIZED → REFTABLE map_lot globalid re_acct zone_1 res_units comm_units res_yr_blt com_yr_blt res_beds res_h_bath res_f_bath value_bldg value_land value_tot acres sale_price sale_date owner owner2 own_add1 own_add2 prop_loc land_type nbrhd_code bldg_type res_yr_rmd com_yr_rmd res_sf res_bmt_sf assessment geom parcelid NULLIF(TRIM(map_lot::text), '')::text parcelid2 NULLIF(TRIM(globalid::text), '')::text taxacctnum zoningcode NULLIF(TRIM(zone_1::text), '')::text numunits (COALESCE(res_units, 0) + COALESCE(comm_units, 0))::text yearbuilt NULLIF(COALESCE(NULLIF(res_yr_blt, 0), NULLIF(com_yr_blt, 0)), … bedrooms halfbaths fullbaths imprvalue landvalue totalvalue taxacres saleamt saledate NULLIF(sale_date::text, '')::text ownername NULLIF(concat_ws('; ', NULLIF(TRIM(owner::text), ''), NULLIF(TR… owneraddr NULLIF(concat_ws(', ', NULLIF(TRIM(own_add1::text), ''), NULLIF… parceladdr NULLIF(TRIM(prop_loc::text), '')::text landusedesc NULLIF(TRIM(land_type::text), '')::text suburb NULLIF(nbrhd_code, 0)::text bldgtype NULLIF(TRIM(bldg_type::text), '')::text yearremodel NULLIF(COALESCE(NULLIF(res_yr_rmd, 0), NULLIF(com_yr_rmd, 0)), … livingarea NULLIF(res_sf, 0)::text basementsqft assessedvalue geom extras · 23 source columns preserved as json card, exemption, tree_grwth, est_taxes, sale_type, tran_type comm_sf, occupancy, zone_2, topo_1, topo_2, util_1, util_2 st_type, moho_code, own_prev, deed_ref1, deed_ref2 created_user, created_date, last_edited_user last_edited_date, saledate extras not present in source — filled with NULL (95) taxyear, usecode, usedesc, zoningdesc, numbldgs, bldgsqft, agvalue, ownercity, ownerstate, ownerzip, parcelcity, parcelstate, parcelzip legaldesc, township, section, qtrsection, range, plssdesc, book, page, block, lot, zoningtype, zoningordinance, zoningsetbacks zoningrestrictions, landusecode, lbcsdimension, lbcscode, house, category, near, house_number, road, unit, level, staircase, entrance, po_box postcode, city_district, city, island, state_district, state, country_region, country, world_region, numfloors, bldgquality, bldgcondition architecture, totalrooms, fireplaces, heating, cooling, foundation, attic, atticsqft, intwall, extwall, roofstyle, roofcover, roofheight fsagpfeet, siding, framing, attgaragesqft, detgaragesqft, garagestalls, situsaddress, appraisedvalue, boatlift, boatdock, boathouse, pool gazebo, irrigation, riprap, solarium, carport, greenhouse, openporch, enclporch, sauna, wooddeck, hottub, patio, shed, workshop, sourceurl taxdistrict, parentid, heatfuel ZONING 4 mapped · 2 kept in extras · 5 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING geom label zoning type geom zoningcode zoningdesc zoningtype extras · 2 source columns preserved as json objectid_1, globalid extras not present in source — filled with NULL (5) ordinance, setbacks, restrictions, notes, sourceurl

Neighboring counties

Parcel data for counties bordering Penobscot County:

Frequently asked questions

Where can I find Penobscot County, ME parcel and GIS data?

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

How many parcels are in Penobscot County, ME?

The current dataset contains 56,754 parcel records for Penobscot County, ME, each with its boundary geometry and assessor attributes.

What is the FIPS code for Penobscot County, ME?

The FIPS code for Penobscot County, ME is 23019.

What information does each Penobscot County, ME parcel record include?

Each Penobscot County, ME 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 Penobscot County, ME parcel data free?

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

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

On this page