Public ArcGIS FeatureServer endpoint for Denver County parcel data. URL, supported fields, and a working sample query — copy it, or open it directly in the UrbanKit parcel lookup tool.
https://gis.colorado.gov/public/rest/services/Address_and_Parcel/Colorado_Public_Parcels/FeatureServer/0parcel_idParcel IDcountyNameCounty Name (filter: 'Denver')countyFipsCounty FIPS Code (filter: '031')situsAddSitus AddressownerOwner Nameowner2Owner Name 2curl -s 'https://gis.colorado.gov/public/rest/services/Address_and_Parcel/Colorado_Public_Parcels/FeatureServer/0/query?where=countyName+%3D+'Denver'+AND+UPPER(owner)+LIKE+UPPER('%25SMITH%25')&outFields=parcel_id,owner,situsAdd,sitAddCty,countyFips&returnGeometry=false&f=json&resultRecordCount=10'https://gis.colorado.gov/public/rest/services/Address_and_Parcel/Colorado_Public_Parcels/FeatureServer/0/query?where=countyName+=+'Denver'+AND+UPPER(owner)+LIKE+UPPER('%SMITH%')&outFields=parcel_id,owner,situsAdd,sitAddCty,countyFips&returnGeometry=false&f=json&resultRecordCount=10Open this URL in a browser tab to see the raw ArcGIS JSON response.
| Field name | Label | Searchable |
|---|---|---|
| parcel_id | Parcel ID | YES |
| countyName | County Name (filter: 'Denver') | YES |
| countyFips | County FIPS Code (filter: '031') | YES |
| situsAdd | Situs Address | YES |
| sitAddCty | Situs City | NO |
| sitAddZip | Situs ZIP | NO |
| owner | Owner Name | YES |
| owner2 | Owner Name 2 | YES |
| ownerAdd | Owner Address | NO |
| legalDesc | Legal Description | NO |
| zoningCode | Zoning Code | NO |
| saleDate | Sale Date | NO |
| salePrice | Sale Price | NO |
| apprValTot | Total Appraised Value | NO |
34 fields confirmed including parcel_id, countyName, countyFips, situsAdd, sitAddCty, sitAddZip, owner, owner2, ownerAdd, ownAddCty, ownAddStt, ownAddZip, legalDesc, landSqft, landAcres, block, lot, subCode, subName, zoningCode, zoningDesc, landUseCde, landUseDsc, saleDate, salePrice, apprValTot, asedValTot, URL, dateReceived. This is a statewide composite — query by countyName='Denver' OR countyFips='031' (note: FIPS here is the 3-digit county portion, not the full 5-digit). Owner query tested and confirmed with real Denver addresses. This same endpoint covers all 64 Colorado counties; filter by countyName or countyFips for any of them. Denver is a consolidated city-county (countyName='Denver' and cityName='Denver' are the same entity).
Colorado Governor's Office of Information Technology (OIT) — Colorado Geographic Information Systems Program — https://gis.colorado.gov/
Denver County's Colorado_Public_Parcel_Composite layer exposes a parcel identifier (Parcel ID), owner names (Owner Name, Owner Name 2), and address fields (Situs Address). Use it for owner-name lookups and address-based parcel searches. 6 of 14 listed fields accept queries; the rest are returned on read but not indexed for search. Served as an ArcGIS FeatureServer layer, so edits and applyEdits operations are technically exposed (read access only is published here); last verified 2026-05-11.
/query?where=…&outFields=*&f=jsonto the URL. The sample query above is a working example you can paste into a browser tab to see the raw JSON response.Counties publish parcel data through their own ArcGIS Server installations, each with its own schema. One county uses APN, another uses PIN, a third uses PARCEL_ID. Some expose owner names; others keep them on a separate assessor's portal. The searchable fields list above reflects what Denver County actually publishes — not what you might expect from a national standard (there isn't one).
For background, see What is an APN?
Many county servers allow public reads but block browser cross-origin requests. The UrbanKit parcel lookup tool fetches directly from your browser; if it works there, the layer is technically public. For your own integration, you may need a same-origin proxy or server-side fetch.
Possibly — counties move services without warning. We re-verify entries weekly and flag stale ones. If you're seeing a fresh 404, please let us know and we'll update the listing.
Most are. Public ArcGIS layers don't typically rate-limit individual reads, but heavy programmatic use can trigger throttling at the host level. Be respectful — query what you need.