Public ArcGIS MapServer endpoint for Oakland County parcel data. URL, supported fields, and a working sample query, copy it, or open it directly in the UrbanKit parcel lookup tool.
https://gisservices.oakgov.com/arcgis/rest/services/Enterprise/EnterpriseOpenParcelDataMapService/MapServer/1KEYPINKey PINPINParcel Identification NumberSITEADDRESSSite AddressSITECITYSite Citycurl -s 'https://gisservices.oakgov.com/arcgis/rest/services/Enterprise/EnterpriseOpenParcelDataMapService/MapServer/1/query?where=PIN%3D'2536483012'&outFields=PIN,NAME1,SITEADDRESS,SITECITY&returnGeometry=false&f=json'
https://gisservices.oakgov.com/arcgis/rest/services/Enterprise/EnterpriseOpenParcelDataMapService/MapServer/1/query?where=PIN='2536483012'&outFields=PIN,NAME1,SITEADDRESS,SITECITY&returnGeometry=false&f=jsonOpen this URL in a browser tab to see the raw ArcGIS JSON response.
| Field name | Label | Searchable |
|---|---|---|
| KEYPIN | Key PIN | YES |
| PIN | Parcel Identification Number | YES |
| NAME1 | Owner Name 1 (redacted on public layer) | NO |
| NAME2 | Owner Name 2 (redacted on public layer) | NO |
| SITEADDRESS | Site Address | YES |
| SITECITY | Site City | YES |
| CVTTAXDESCRIPTION | City/Village/Township Tax Description | NO |
| CLASSCODE | Property Class Code | NO |
Oakland County (Detroit metro NW, county seat Pontiac) serves 332k+ parcels via EnterpriseOpenParcelDataMapService/MapServer/1 (branded 'Tax Parcel Plus'). The public layer exposes PIN, KEYPIN, SITEADDRESS, SITECITY, SITESTATE, SITEZIP5, POSTALADDRESS, CLASSCODE, CVTTAXCODE, CVTTAXDESCRIPTION, ASSESSEDVALUE, TAXABLEVALUE, STRUCTURE_DESC, LIVING_AREA_SQFT, NUM_BEDS, NUM_BATHS. OWNER NAME REDACTED: NAME1 and NAME2 fields are present in the schema but return null in all public query results as of 2026-05-15. Full owner data is available only through the fee-based Property Gateway at gis.oakgov.com/PropertyGateway/. The public Access Oakland portal (accessoakland.oakgov.com) hosts the same OC Tax Parcels (Public) dataset. PIN format is 10-digit Michigan standard. For parcel-boundary-only use cases (without owner), this endpoint is fully functional.
Oakland County Enterprise GIS, https://www.oakgov.com/government/information-technology/enterprise-gis
Oakland County's Tax Parcel Plus layer exposes parcel identifiers (Key PIN, Parcel Identification Number) and address fields (Site Address, Site City). Use it for address-to-PIN lookups and identifier queries. 4 of 8 listed fields accept queries; the rest are returned on read but not indexed for search. Served as an ArcGIS MapServer layer, which supports query operations but not write operations; last verified 2026-05-15.
/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 Oakland County actually publishes, not what you might expect from a national standard (there isn't one).
For background, see What is an APN?
gisservices.oakgov.com serves Oakland County, Michigan parcels over public ArcGIS REST, but, like most county servers, it may not send the CORS headers a browser needs for a cross-origin fetch. If a direct browser call fails, the layer still works from curl, Postman, or a server-side script; the UrbanKit parcel lookup tool proxies the request, so a search that succeeds there confirms the layer is genuinely public.
We last verified Oakland County's MapServer layer on 2026-05-15. County GIS teams move services without notice, so if you hit a fresh 404, tell us and we'll re-check. Atlas entries are re-verified on a rolling basis.
Oakland County's layer is hosted by the county on gisservices.oakgov.com. Public ArcGIS endpoints rarely rate-limit individual reads, but gisservices.oakgov.com can throttle heavy automated traffic at the host level. Page through results with resultOffset / resultRecordCount and request only the fields you need. There's no API key and no charge from the county.