Surry County, NC Parcels & GIS Data

Surry County, NC parcel data: 44,326 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Surry County, North Carolina parcel data covering 44,326 property records.

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

Surry County is a county located in the U.S. state of North Carolina. As of the 2020 census, the population was 71,359. Its county seat is Dobson, and its largest community is Mount Airy.

FIPS 37171

Official county website: http://www.co.surry.nc.us

The FIPS code for Surry County is 37171.

ForsythYadkinStokesAlleghanyWilkesCarrollGraysonSurry
Hosted Web API$200/mo

Attribute coverage

Surry County contains 44,326 parcels in the current dataset. Column coverage is the percentage of those parcels for which the attribute is populated (non-NULL).

ColumnCoverageRecords populated
lrid100%44,326
parcelid100%44,326
parcelid2100%44,326
ogparcelid100%44,326
ogparcelid2100%44,326
parentid<0.1%0
stackid<0.1%0
geoid100%44,326
statefp100%44,326
countyfp100%44,326
countyname100%44,326
cousubfp100%44,326
cousubname100%44,326
tractce100%44,326
tractname100%44,326
taxacctnum<0.1%0
taxyear100%44,326
taxdistrict<0.1%0
usecode98.7%43,759
usedesc99.8%44,252
zoningcode1.1%480
zoningdesc1.1%480
numbldgs100%44,326
numunits75.0%33,238
yearbuilt83.4%36,973
numfloors83.4%36,973
bldgsqft<0.1%0
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue100%44,326
landvalue100%44,326
agvalue84.8%37,583
totalvalue100%44,326
taxacres98.7%43,759
calcarea100%44,326
saleamt<0.1%0
saledate0.1%40
ownertype100%44,322
ownername100%44,322
owneraddr99.6%44,153
ownercity98.7%43,750
ownerstate98.7%43,744
ownerzip98.7%43,747
parceladdr100%44,310
parcelcity1.2%532
parcelstate100%44,326
parcelzip100%44,326
legaldesc34.6%15,350
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book<0.1%0
page<0.1%0
block<0.1%0
lot<0.1%0
parceltype0.2%90
accesstype0.4%188
iucnclass0.4%156
placename29.4%13,020
placetype4.9%2,167
firmid100%44,312
firmdate100%44,312
fldzone100%44,312
zonesubty98.9%43,840
staticbfe<0.1%0
elevmin99.2%43,967
elevmax99.2%43,967
elevavg99.2%43,967
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
naicscode33.9%15,021
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated100%44,326
centroidx100%44,326
centroidy100%44,326
surfpointx100%44,326
surfpointy100%44,326
geom100%44,326
extras100%44,326
ownerlist86.0%38,132
placefp27.8%12,327
zoningurl<0.1%0

Schema mapping

How source columns from the acquired Surry 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 — Surry County, North Carolina (37171) 1 entity · most recent acquisition per entity · generated 2026-08-30 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 reviseyear parusecode parusedesc struct structyear improvval landval parval gisacres saledate ownname ownname2 ownername2 mailadd mcity mstate mzip siteadd scity sstate szip legdecfull revisedate geom cntyfips cntyname gnisid maddpref maddrno maddstname maddstr maddstsuf maddsttyp mapref multistruc munit nparno ownfrst ownlast owntype parusecd2 parusedsc2 parvaltype presentval recareano recareatx revdatetx saddno saddpref saddstname saddstr saddstsuf saddsttyp saledatetx sourceagnt sourcedate sourcedatx sourceref stcntyfips stfips stname structno subdivisio subowntype subsurfown sunit transfdate parcelid parcelid2 taxyear usecode usedesc numbldgs yearbuilt imprvalue landvalue totalvalue taxacres saledate ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc updated geom extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname geom · derived from geometry geom dem.us_1m · USGS 1m DEM 99.2% elevmin 99.2% elevmax 99.2% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 98.9% zonesubty 100% firmdate 100% firmid supplemented · derived / other pipelines 75.0% numunits 83.4% numfloors 84.8% agvalue 86.0% ownerlist lrid parcelid parcelid2 ogparcelid ogparcelid2 geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxyear usecode usedesc 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 publish.parcel_layer columns not fed by these sources (42) — empty or below 50% fill in this county parentid, stackid, taxacctnum, taxdistrict, zoningcode, 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 PARCEL 25 mapped · 16 transformed · 30 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parno altparno reviseyear parusecode parusedesc struct structyear improvval landval parval gisacres saledate ownname ownname2 ownername2 mailadd mcity mstate mzip siteadd scity sstate szip legdecfull revisedate geom cntyfips cntyname gnisid maddpref maddrno maddstname maddstr maddstsuf maddsttyp mapref multistruc munit nparno ownfrst ownlast owntype parusecd2 parusedsc2 parvaltype presentval recareano recareatx revdatetx saddno saddpref saddstname saddstr saddstsuf saddsttyp saledatetx sourceagnt sourcedate sourcedatx sourceref stcntyfips stfips stname structno subdivisio subowntype subsurfown sunit transfdate parcelid parcelid2 taxyear NULLIF(reviseyear, '')::text usecode usedesc numbldgs (case when upper(left(struct, 1)) = 'Y' then '1' else '0' end):… yearbuilt (case when structyear is null or structyear = 0 then null::text… imprvalue landvalue totalvalue taxacres saledate NULLIF(saledate, '')::text ownername NULLIF(concat_ws(';', NULLIF(ownname, '')::text, NULLIF(ownname… owneraddr NULLIF(mailadd, '')::text ownercity NULLIF(mcity, '')::text ownerstate NULLIF(mstate, '')::text ownerzip NULLIF(mzip, '')::text parceladdr NULLIF(siteadd, '')::text parcelcity NULLIF(scity, '')::text parcelstate NULLIF(sstate, '')::text parcelzip NULLIF(szip, '')::text legaldesc NULLIF(legdecfull, '')::text updated to_timestamp(revisedate / 1000.0)::text geom extras ( json_build_object( 'cntyfips', cntyfips::text, 'cntyname', cn… not present in source — filled with NULL (30) taxacctnum, zoningcode, zoningdesc, numunits, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, saleamt, township, section qtrsection, range, plssdesc, book, page, block, lot, sourceurl, taxdistrict, parentid, heatfuel, fireplaces, heating, cooling, foundation roofcover, siding

Neighboring counties

Parcel data for counties bordering Surry County:

Frequently asked questions

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

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

How many parcels are in Surry County, NC?

The current dataset contains 44,326 parcel records for Surry County, NC, each with its boundary geometry and assessor attributes.

What is the FIPS code for Surry County, NC?

The FIPS code for Surry County, NC is 37171.

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

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

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

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

On this page