Durham County, NC Parcels & GIS Data

Durham County, NC parcel data: 129,024 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Durham County, North Carolina parcel data covering 129,024 property records.

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

Durham County is a county in the U.S. state of North Carolina. As of the 2020 census, the population was 324,833, making it the sixth-most populous county in North Carolina. Its county seat is the city of Durham, which is the only incorporated municipality predominantly located within the county.

FIPS 37063

Official county website: https://dconc.gov/

The FIPS code for Durham County is 37063.

OrangePersonGranvilleWakeChathamDurham
Hosted Web API$200/mo

Attribute coverage

Durham County contains 129,024 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%129,024
parcelid100%129,024
parcelid2100%129,020
ogparcelid100%129,024
ogparcelid2100%129,020
parentid<0.1%0
stackid<0.1%0
geoid100%129,024
statefp100%129,024
countyfp100%129,024
countyname100%129,024
cousubfp100%129,024
cousubname100%129,024
tractce100%129,024
tractname100%129,024
taxacctnum99.8%128,801
taxyear100%129,024
taxdistrict100%129,024
usecode100%129,004
usedesc100%129,021
zoningcode99.1%127,926
zoningdesc99.9%128,856
numbldgs100%129,024
numunits83.2%107,291
yearbuilt0.1%90
numfloors0.6%778
bldgsqft99.8%128,803
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue99.8%128,776
landvalue99.9%128,887
agvalue1.0%1,234
totalvalue99.9%128,888
taxacres100%129,024
calcarea100%129,024
saleamt40.8%52,665
saledate99.8%128,716
ownertype100%129,023
ownername100%129,023
owneraddr100%129,023
ownercity100%128,970
ownerstate99.8%128,800
ownerzip99.8%128,801
parceladdr100%129,020
parcelcity99.9%128,957
parcelstate100%129,024
parcelzip100%129,024
legaldesc100%128,981
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book99.8%128,803
page99.8%128,803
block99.8%128,803
lot99.8%128,803
parceltype1.3%1,704
accesstype1.3%1,708
iucnclass1.1%1,405
placename4.5%5,867
placetype4.5%5,822
firmid100%129,024
firmdate100%129,024
fldzone100%129,024
zonesubty98.4%127,010
staticbfe<0.1%16
elevmin<0.1%0
elevmax<0.1%0
elevavg<0.1%0
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
naicscode6.4%8,289
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated100%129,024
centroidx100%129,024
centroidy100%129,024
surfpointx100%129,024
surfpointy100%129,024
geom100%129,024
extras100%129,024
ownerlist99.9%128,836
placefp85.0%109,622
zoningurl81.7%105,470
lbcsactivity98.9%127,644
lbcsfunction94.9%122,502
lbcstype92.7%119,592
lbcscharacter99.2%128,017
lbcsownership100%129,023
sourceurl<0.1%0

Schema mapping

How source columns from the acquired Durham 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 — Durham County, North Carolina (37063) 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 zone_code udo_legend zone_gen comment_ geom 24 cols ⇢ zoningcode zoningdesc zoningtype 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 s_fld_haz_ar · FEMA NFHL 100% fldzone 98.4% zonesubty 0.0% staticbfe 100% firmdate 100% firmid supplemented · derived / other pipelines 100% taxacctnum 83.2% numunits 100% bldgsqft 100% book 100% page 100% block 100% lot 100% ownerlist 85.0% placefp 81.7% zoningurl 98.9% lbcsactivity 94.9% lbcsfunction 92.7% lbcstype 99.2% lbcscharacter 100% lbcsownership lrid parcelid parcelid2 ogparcelid ogparcelid2 geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxacctnum taxyear taxdistrict usecode usedesc zoningcode zoningdesc numbldgs numunits yearbuilt bldgsqft imprvalue landvalue totalvalue taxacres calcarea saledate ownertype ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc book page block lot firmid firmdate fldzone zonesubty staticbfe updated centroidx centroidy surfpointx surfpointy geom extras ownerlist placefp zoningurl lbcsactivity lbcsfunction lbcstype lbcscharacter lbcsownership publish.parcel_layer columns not fed by these sources (36) — empty or below 50% fill in this county parentid, stackid, numfloors, bedrooms, halfbaths, fullbaths, agvalue, saleamt, township, section, qtrsection, range, plssdesc, parceltype accesstype, iucnclass, placename, placetype, elevmin, elevmax, elevavg, fireplaces, heating, heatfuel, cooling, foundation, roofcover, siding bldgtype, naicscode, frsid, dfrurl, caapermit, cwapermit, rcrapermit, 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 5 mapped · 24 kept in extras · 4 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING zone_code udo_legend zone_gen comment_ geom zoningcode zoningdesc zoningtype notes geom extras · 24 source columns preserved as json objectid_1, pdr, pdr_densit, case_no, label, editor, action_ acres, boc_date, city_counc, map_edit_d, error_fix_, udo udo_label, develop_pl, in_date, pdr_rng, globalid, created_us created_da, last_edite, last_edi_1, shapestare, shapestlen extras not present in source — filled with NULL (4) ordinance, setbacks, restrictions, sourceurl

Neighboring counties

Parcel data for counties bordering Durham County:

Frequently asked questions

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

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

How many parcels are in Durham County, NC?

The current dataset contains 129,024 parcel records for Durham County, NC, each with its boundary geometry and assessor attributes.

What is the FIPS code for Durham County, NC?

The FIPS code for Durham County, NC is 37063.

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

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

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

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

On this page