URBANKIT/STUDIO
    Sign inFREE TOOLS · NO SIGNUP
    URBANKIT/STUDIO · EST. 2026 · ONLINEFREE · BROWSER-ONLY · NO TELEMETRY · OPEN SOURCE
    ATLAS · STATE·NC

    North Carolina county
    parcel REST APIs.

    7 counties indexed. ArcGIS FeatureServer and MapServer URLs, with supported search fields per layer.

    Counties indexed in this state, with endpoint counts, supported fields, and status.
    CountyEndpointsSearchable fieldsStatusAction
    Buncombe County1PIN Number (Parcel ID) · PIN · Owner Name LIVEOPEN
    Cumberland County1Parcel Number · Owner Name · Site Address +1 LIVEOPEN
    Durham County1Parcel Identification Number · Real Estate ID · Property Owner Name +1 LIVEOPEN
    Forsyth County1Parcel Number · Owner Name · Site Address +1 LIVEOPEN
    Guilford County1Parcel Number · Owner Name · Site Address +1 LIVEOPEN
    Mecklenburg County1NC Parcel Identification Number · Parcel ID LIVEOPEN
    Wake County1Parcel Identification Number · Real Estate ID · Owner Name +2 LIVEOPEN

    About North Carolina county parcel data

    State overview

    North Carolina has the strongest statewide GIS coordination of any state in the atlas. The NC Geographic Information Coordinating Council (GICC) operates NC OneMap, which aggregates county-submitted parcel data into a single public REST endpoint — NC1Map_Parcels — updated quarterly. Five of the seven atlas counties (Forsyth, Guilford, Cumberland, Wake, Buncombe) are accessible through this statewide layer. Durham and Mecklenburg operate their own GIS infrastructure and publish via county-owned endpoints. The NC1Map parcel layer uses a standardized schema with consistent field names across all participating counties, which makes multi-county queries practical in a way that is rare at this scale.

    Regional coordination

    NC OneMap is managed by the NC GICC under the Office of the State Chief Information Officer. The NC1Map_Parcels layer at services.nconemap.gov serves parcel polygons and attributes for all counties that submit data to the statewide system. Participating counties share a common schema: parno (parcel number), ownname, siteadd, scity, cntyfips (3-digit county FIPS as a string), parval, landval, improvval, and 60+ additional fields. County FIPS is the filter key for single-county queries. Wake County publishes separately via maps.wake.gov with a distinct schema, and Durham via webgis.durhamnc.gov. Mecklenburg (Charlotte) exposes only geometry and NC_PIN on its public layer; owner-name queries require the county's POLARIS system, which has no public REST API.

    Common data quirks

    NC1Map requires cntyfips as a filter parameter

    The NC1Map_Parcels/MapServer/1 endpoint covers the entire state in a single layer. Without a county filter, a query against it will scan all submitted counties and return results from anywhere in North Carolina. The cntyfips field is a 3-digit zero-padded string (not an integer): Forsyth is '067', Guilford is '081', Cumberland is '051', Buncombe is '021'. To query a single county, always include cntyfips='067' (or equivalent) as the first WHERE clause predicate before the LIKE pattern on ownname. Omitting it is a query that will time out or return random-county records.

    Mecklenburg public REST layer does not expose owner names

    Mecklenburg County (Charlotte, pop. 1.2 million) is the most populous county in the atlas's NC set, but its public ArcGIS REST layer at gis.charlottenc.gov exposes only 13 fields: geometry, NC_PIN, PID, map book/page, and a few administrative flags. Owner name and address are not on this layer. The county's POLARIS system at polaris3g.mecklenburgcountync.gov provides owner-name lookups by NC_PIN but does not offer a public REST or JSON endpoint. This is the starkest owner-data gap in the North Carolina atlas.

    Durham uses semicolons to delimit co-owners

    Durham County's PROPERTY_OWNER field concatenates all co-owners with semicolons rather than splitting into OWNER1/OWNER2 fields (e.g., 'SMITH, CAROLYN D;SMITH, FRANK Q'). A LIKE query on PROPERTY_OWNER will match any record where any co-owner's name matches the pattern, which is usually the desired behavior. Durham's endpoint also exposes deed book, deed page, sale date, and sale price in the same layer — a richer attribute set than most NC counties provide publicly.

    Key counties

    Wake County

    Contains Raleigh, Cary, and Apex (pop. 1.1 million). Published via the county's own maps.wake.gov endpoint, not NC1Map. Uses PIN_NUM (10-digit) and REID (Real Estate ID) as dual identifiers. 435,382 polygon parcels. Owner query via UPPER(OWNER) LIKE pattern.

    Mecklenburg County

    Contains Charlotte (pop. 1.2 million). Public REST layer exposes NC_PIN and geometry only; owner names require the POLARIS browser portal. For parcel + owner data in Charlotte, the NC1Map statewide layer does not cover Mecklenburg separately.

    Forsyth County

    Contains Winston-Salem (pop. 385,000). Served via NC1Map statewide layer; filter cntyfips='067'. Full 60+ field schema including parval, landval, improvval, saledate, and legal description.

    Durham County

    Contains Durham city (pop. 330,000). Joint City/County GIS at webgis.durhamnc.gov. 75+ fields including TOTAL_PROP_VALUE, DEED_DATE, PKG_SALE_PRICE, and ZONING. Co-owner names are semicolon-delimited in the PROPERTY_OWNER field.

    Buncombe County

    Contains Asheville (pop. 275,000 county). Self-hosted at gis.buncombecounty.org via the property_bc_dis service. Owner field is lowercase 'owner'; pinnum is a 15-digit parcel identifier. Deed book/page and subdivision name are exposed.

    Common search patterns

    NC1Map multi-county owner query (Forsyth example): ?where=cntyfips='067'+AND+UPPER(ownname)+LIKE+UPPER('%25SMITH%25')&outFields=parno,ownname,siteadd,scity,parval,cntyfips&f=json. Wake County: ?where=UPPER(OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=PIN_NUM,REID,OWNER,SITE_ADDRESS&f=json. Durham: ?where=UPPER(PROPERTY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=PIN,PROPERTY_OWNER,LOCATION_ADDR,TOTAL_PROP_VALUE,DEED_DATE&f=json. All queries: append returnGeometry=false&resultRecordCount=10.

    Related articles

    Last updated 2026-05-24.

    Questions, with answers

    North Carolina parcel REST API — common questions

    Which North Carolina counties publish a public parcel ArcGIS REST API?

    7 North Carolina counties are indexed in the UrbanKit atlas with verified public REST endpoints: Wake, Mecklenburg, Forsyth, Guilford, Durham, Cumberland, and Buncombe. Wake, Forsyth, Guilford, Durham, Cumberland, and Buncombe expose owner-name search; Mecklenburg index by parcel ID and address only.

    How do I search North Carolina parcels by owner name?

    Wake, Forsyth, Guilford, Durham, Cumberland, and Buncombe expose an owner-name field on the public REST layer. Wake, for example, uses the OWNER field — a case-insensitive search is ?where=UPPER(OWNER)%20LIKE%20UPPER('%25SMITH%25')&outFields=*&f=json. Mecklenburg index by parcel ID and address only, so owner lookups there go through the county assessor or appraiser. Open a county's page here for its full field list and a ready-to-run sample query.

    What is the ArcGIS REST URL for parcels in Wake, North Carolina?

    Wake publishes parcels at https://maps.wake.gov/arcgis/rest/services/Property/Parcels/MapServer/0 — a MapServer (layer 0). It indexes by Parcel Identification Number, Real Estate ID, Owner Name, and Site Address. Owner-name search: UPPER(OWNER) LIKE UPPER('%25SMITH%25').

    Do North Carolina parcel layers use ArcGIS FeatureServer or MapServer?

    North Carolina's indexed counties (Wake, Mecklenburg, Forsyth, Guilford, Durham, Cumberland, and Buncombe) publish county-hosted ArcGIS MapServer layers. MapServer supports the same /query operation for owner, parcel-ID, and address lookups as FeatureServer — for read-only parcel lookups the two are interchangeable.

    Listing missing or moved? Tell us — we verify and update weekly.