How to Find an ArcGIS Parcel Layer URL (FeatureServer & MapServer Guide)

By · Last updated May 15, 2026 · 12 min read

Many county GIS departments publish parcel data through ArcGIS REST services. If you need a layer URL for UrbanKit Studio's Parcel Lookup Tool, the Radius Notice Mailing List Generator, or your own GIS analysis, this guide shows you how to find, verify, and troubleshoot ArcGIS parcel layer endpoints.

Quick Reference: County Parcel REST URLs

If you just need a working URL for one of the counties below, copy it from this table. Each link opens the layer in the Parcel Lookup tool with the URL pre-filled. Full directory by state: Parcel REST API Atlas.

County Service Search by REST URL
DeKalb, IL FeatureServer Owner, Address, PIN, Mailing services7.arcgis.com/.../DeKalbIL_Parcels/FeatureServer/0
Kane, IL MapServer Taxpayer, Site Address, Mailing, PIN gistech.countyofkane.org/.../KanePINList/MapServer/0
Lake, IL MapServer (layer 12) Taxpayer, Situs Address, PIN maps.lakecountyil.gov/.../WABParcels/MapServer/12
Cook, IL FeatureServer PIN14, Property Address gis12.cookcountyil.gov/.../Cook_County_Parcels/FeatureServer/0
DuPage, IL FeatureServer PIN, Address gis.dupagecounty.gov/.../PropertyAndTaxation/Parcels/FeatureServer/0
Will, IL MapServer PIN only* gis.willcountyillinois.com/.../Parcels_21/MapServer/0
Los Angeles, CA MapServer APN, Address (no owner on public layer) public.gis.lacounty.gov/.../LACounty_Parcel/MapServer/0
Sonoma, CA FeatureServer APN, Address socogis.sonomacounty.ca.gov/.../Cities_GIS_Parcel_Base/FeatureServer/0
King, WA (Seattle) MapServer PIN, Address (no owner on public layer) gismaps.kingcounty.gov/.../KingCo_Parcels/MapServer/0

* Will County's public REST layer exposes PIN only. Owner and address fields are gated behind the county's authenticated Geocortex viewer. Most counties in this table have open owner fields; Will is the exception.

What Is an ArcGIS REST Service URL?

ArcGIS Server exposes geographic data through REST endpoints: web addresses you can query programmatically. A typical parcel layer URL:

https://gis.countyname.gov/arcgis/rest/services/Parcels/MapServer/0

The key parts:

  • Host: The county's GIS server domain (e.g., gis.countyname.gov)
  • /arcgis/rest/services/: The standard ArcGIS REST path
  • Service name: Often "Parcels," "AssessorParcels," or "CadastralData"
  • Server type: MapServer or FeatureServer
  • Layer index: Usually /0, but can be any number in a multi-layer service

FeatureServer vs MapServer: When to Use Each

You'll see two main service types when working with ArcGIS parcel layers. Knowing the difference helps you pick the right endpoint.

Feature FeatureServer MapServer
Query individual features ✅ Full support ✅ Supported
Return GeoJSON ✅ Native ⚠️ JSON only (needs conversion)
Edit data ✅ If enabled ❌ Read-only
Spatial queries ✅ Full support ✅ Full support
Best for parcel lookups ✅ Preferred ✅ Works fine
Availability Less common More common
Recommendation: Use FeatureServer when available; it returns cleaner data and supports GeoJSON natively. MapServer works fine for parcel lookups and radius queries, so use whichever your county provides.

A targeted web search is the fastest path:

  1. Search Google for: [Your County] [Your State] ArcGIS REST services
  2. Look for results containing /arcgis/rest/services in the URL
  3. Click through to the REST services directory page
  4. Browse the folder list for services named "Parcels," "Assessor," "Cadastral," or "Property"
  5. Click the service name, then click the layer (usually layer 0) that contains parcel polygons

Alternative search queries that often work:

  • [County Name] GIS parcel layer REST
  • site:arcgis.com [County Name] parcels
  • [County Name] GIS open data parcels
  • [County Name] FeatureServer parcels
  • [County Name] MapServer parcel layer

Method 2: Use the County's GIS Web Map

Most counties have an interactive web map (often called a "GIS Viewer" or "Property Search"). You can reverse-engineer the layer URL from there.

  1. Open your county's GIS web map (search: [County Name] GIS map viewer)
  2. Open your browser's Developer Tools (F12 or right-click → Inspect)
  3. Go to the Network tab and filter by "query" or "MapServer"
  4. Click on a parcel in the map and watch the network requests
  5. Look for requests to URLs containing /arcgis/rest/services/
  6. Copy the base URL up to and including the layer number
Pro tip: In the Network tab, filter requests by typing MapServer or FeatureServer. That isolates the ArcGIS service calls from other network traffic.

Method 3: Check ArcGIS Hub or Open Data Sites

Many counties publish data on ArcGIS Hub. To find parcel layers:

  1. Go to hub.arcgis.com
  2. Search for [County Name] parcels
  3. Find a result that's a "Feature Layer" or "Map Service"
  4. On the dataset page, look for a "View Full Details" or "URL" link
  5. The REST endpoint URL will be displayed, often under "Service URL" or in the metadata

How to Identify Owner, Address, and APN Fields in a Layer

Once you find a parcel layer, you need to know which fields hold the data you care about. County GIS departments use inconsistent naming. Decoding common patterns:

Finding the fields list

  1. Open your layer URL in a browser (e.g., https://gis.county.gov/arcgis/rest/services/Parcels/MapServer/0)
  2. Scroll down to the "Fields" section
  3. Each field shows a name, alias, and data type

Common field name patterns

Data You Need Common Field Names
APN / Parcel Number APN, PARCELID, PIN, PARCEL_NUM, APN_FULL, ASSESSOR_ID
Owner Name OWNER, OWNERNAME, OWNER1, OWN_NAME, GRANTOR
Situs (Property) Address SITUS, SITUS_ADDR, SITE_ADDR, PROP_ADDR, ADDRESS
Mailing Address MAIL_ADDR, MAILING, OWN_ADDR, MAIL_LINE1
Zoning ZONING, ZONE_CODE, ZONE_CLASS, LAND_USE
Quick test: On the layer page, scroll to the bottom and click "Query". Set Where: 1=1, Out Fields: *, Return Geometry: false, Result Record Count: 5, Format: JSON. Click "Query (GET)" to see sample records with all field values. That shows what data is available.

Verifying Your Layer URL

Once you have a URL, verify it's the right layer:

  1. Paste the URL into your browser
  2. You should see a page showing the layer details: name, geometry type, fields, etc.
  3. Confirm the Geometry Type is esriGeometryPolygon (not Point)
  4. Check the Fields list for attributes like APN, owner name, and mailing address
  5. Scroll down and click "Query" to test: set Where: 1=1, Return Geometry: true, Format: JSON, and click "Query (GET)"

Common Reasons a Parcel Layer Won't Work

If you've found a URL but it isn't returning data, the common causes and fixes:

1. Authentication required (403 Forbidden)

Some services are restricted to internal networks or require login credentials. Check whether the county has a separate public-facing service; many publish both internal and external endpoints.

2. Layer returns points instead of polygons

Some parcel services include both centroid points and polygon layers. Check the Geometry Type on the layer info page. You want esriGeometryPolygon. If you see esriGeometryPoint, look at other layers in the same service (try /1, /2, etc.).

3. CORS errors in the browser

If the service works when you visit the URL directly but fails in a web app, it's a CORS (Cross-Origin Resource Sharing) issue. The county's server doesn't allow requests from other websites. Workarounds: use a proxy server or download the data as a file.

4. Query returns empty results

  • Check whether the service has a max record count; some limit results to 1,000 or even 100 features per query
  • Try a simpler query: Where: 1=1 with Result Record Count: 1
  • The layer may be visible but have no queryable data (check "Supports Query" on the layer info page)

5. Service is deprecated or moved

Counties sometimes reorganize their GIS services. If a URL that used to work returns a 404, go back to the REST services directory (/arcgis/rest/services) and look for a renamed or relocated service.

Important: Some services require authentication or are restricted to internal networks. If you get a 403 error or empty results, the service may not be publicly accessible. Check whether the county has a separate public-facing service.

Common URL Patterns by Platform

Different counties use different URL structures:

  • Standard ArcGIS Server: https://gis.county.gov/arcgis/rest/services/[ServiceName]/MapServer/0
  • ArcGIS Online: https://services.arcgis.com/[orgId]/arcgis/rest/services/[ServiceName]/FeatureServer/0
  • ArcGIS Enterprise: https://gis.county.gov/server/rest/services/[Folder]/[ServiceName]/MapServer/0

County Parcel REST URL Directory

A starter directory of known-good ArcGIS parcel layer endpoints. Each is the same URL the UrbanKit Studio Parcel Lookup Tool uses for its built-in examples. Paste any of these into the tool to query the fields the layer exposes. Fields vary by jurisdiction: some publish APN + address + owner name, others publish only parcel ID variants. The "Searchable Fields" column shows what each layer exposes.

County / Jurisdiction Service Type Searchable Fields Layer URL
Los Angeles County, CA MapServer APN, address, owner https://public.gis.lacounty.gov/public/rest/services/LACounty_Cache/LACounty_Parcel/MapServer/0
King County, WA (Seattle) MapServer MAJOR, MINOR, PIN only (no address or owner on this layer) https://gismaps.kingcounty.gov/arcgis/rest/services/Property/KingCo_Parcels/MapServer/0
Sonoma County, CA FeatureServer APN, address (verify owner field per layer) https://socogis.sonomacounty.ca.gov/map/rest/services/OWTSPublic/Cities_GIS_Parcel_Base/FeatureServer/0
Wellington City Council, NZ MapServer parcel_id, full_app (cadastral fields only; no owner or mailing on this public layer) https://gis.wcc.govt.nz/arcgis/rest/services/PropertyAndBoundaries/Parcels/MapServer/1

Check the layer's published fields before promising your users they can look up an address or owner. The Parcel Lookup Tool auto-detects available fields when you paste the URL. If the field you need isn't listed, the layer doesn't expose it.

This list is a starter. Most U.S. counties publish their own ArcGIS REST endpoints, but the catalog is fragmented across thousands of independent county GIS portals. To find yours:

Quick discovery formulas

Plug your county into one of these Google searches. The first hit is usually the public REST root:

  • "[your county] county" arcgis rest services parcel
  • site:[county-domain].gov arcgis/rest/services
  • "[your county]" "FeatureServer" parcel
  • "[your county]" "MapServer" parcel OR cadastral

Browse the REST root directly

Most county ArcGIS servers expose a browsable index at the root path. Try these patterns by replacing the host:

  • https://gis.[your-county].gov/arcgis/rest/services
  • https://maps.[your-county].gov/arcgis/rest/services
  • https://[your-county]gis.org/arcgis/rest/services

If any of those return an HTML directory, drill into the folders for one named "Parcels," "Assessor," "Cadastral," "Property," or similar. Look for the deepest level that ends in /MapServer/0 or /FeatureServer/0.

Submit a county we should add

If you've verified an ArcGIS parcel layer URL for a county not listed above, send it our way with the county name and the layer URL. We'll verify it and add it to this directory and the Parcel Lookup Tool's example list.

What to Do If You Can't Find It

If web searches come up empty:

  • Call the county GIS department. Ask whether they have a public ArcGIS REST endpoint for parcels.
  • Check for alternative formats. The county may offer downloadable GeoJSON or Shapefiles. See our guide on getting parcel GeoJSON data.
  • Try neighboring counties. Regional GIS consortiums sometimes host data for multiple counties.
  • Use a data aggregator. Services like Regrid provide standardized parcel APIs across jurisdictions.

Have your parcel layer URL ready?

Try the Parcel Lookup Tool →

Or use it with the Radius Mailing List Generator to find nearby property owners.

For developers: install our SDK

Finding and maintaining county ArcGIS REST endpoints by hand doesn't scale. The URL that worked last month may have moved; the field name that worked for Kane County won't work for Cook. We maintain a 31-county atlas of verified parcel REST endpoints with field metadata, sample queries, and license details. The @urbankitstudio/atlas npm package bundles that atlas so you can query it in code without scraping this article.

The package ships as ESM and CJS, includes full TypeScript types, and has no runtime dependencies. MIT licensed.

npm install @urbankitstudio/atlas

Two functions cover most use cases. Look up a single county by state and county slug:

import { findCounty } from "@urbankitstudio/atlas";

const kane = findCounty("illinois", "kane-county");
// → {
//     id: "il-kane",
//     county: "Kane",
//     state: "IL",
//     hasPublicRest: true,
//     endpoints: [
//       {
//         url: "https://gistech.countyofkane.org/arcgis/rest/services/KanePINList/MapServer/0",
//         serviceType: "MapServer",
//         layerIndex: 0,
//         layerName: "Kane.DBO.Parcels_v2025",
//         searchFields: [
//           { name: "PIN", label: "Parcel Identification Number (PIN)", searchable: true },
//           { name: "TaxName", label: "Taxpayer Name", searchable: true },
//           { name: "SiteAddress", label: "Site Address", searchable: true }
//         ],
//         status: "live"
//       }
//     ]
//   }

kane?.endpoints[0].url;        // the REST URL, ready to query
kane?.endpoints[0].searchFields; // which fields the layer exposes

Or pull all counties for a state at once:

import { listCountiesByState } from "@urbankitstudio/atlas";

const ilCounties = listCountiesByState("illinois");
// → CountyRecord[] — one entry per county with mapped endpoints

The package's homepage field points to urbankitstudio.com/parcel-atlas — that page is the human-readable version of the same data, updated on the same schedule.

View on npm · GitHub

Related Resources