Public ArcGIS FeatureServer endpoint for Cook County parcel data. URL, supported fields, and a working sample query — copy it, or open it directly in the UrbanKit parcel lookup tool.
https://gis12.cookcountyil.gov/traditional/rest/services/cookVwHosted/Cook_County_Parcels/FeatureServer/0/query?where=PIN14='17-09-128-001-0000'&outFields=*&f=jsonOpen this URL in a browser tab to see the raw ArcGIS JSON response.
| Field name | Label | Searchable |
|---|---|---|
| PIN14 | 14-digit Property Index Number | YES |
| PROPERTY_ADDRESS | Property Address | YES |
Cook County uses the 14-digit PIN format (XX-XX-XXX-XXX-XXXX). Owner name lookups happen through the separate Cook County Assessor's portal, not this layer — this layer is parcel geometry + PIN + address only. For owner-name searches, point the Parcel Lookup tool at the Assessor's REST endpoint instead.
Cook County GIS Department — https://www.cookcountyil.gov/agency/geographic-information-systems-gis
/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 this 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.