Oakland County, MI parcel and infrastructure data API
Korzy has about 490,000 parcel records for Oakland County, Michigan, with source updates through November 2026. Nearly every record carries values, land use and building size. In and around the county the API also maps about 15 data-center projects (10 operating); 1 port with reported cargo; and 4 power plants with about 150 MW of capacity, led by natural gas. Look up any parcel by address or coordinates, then check nearby data-center projects, utilities and grid context at the same point.
Parcel coverage in Oakland County
About 490,000 parcel records with boundaries, situs addresses and parcel numbers, with the latest source update from November 2026. Each record has a stable korzy_id you can store and look up again with /api/parcel-record. Share of records with each field:
| Field | Coverage | Share |
|---|---|---|
| Situs address | Most · 94% | |
| Owner name | Not published | |
| Assessed or market value | Nearly all · 99% | |
| Year built | Not published | |
| Building size | Nearly all · 99% | |
| Last sale | Not published | |
| Land use | Nearly all · 99% | |
| Zoning | Not published |
Oakland County records do not include owner names. See pricing for credit costs.
Infrastructure in and around Oakland County
Power plants
4 operable plants with about 150 MW of nameplate capacity; largest by capacity: natural gas, oil, other fuels.
Plant details: /api/power/plants/{plant_id}
Substations and transmission
About 80 in-service substations, 4 rated 230 kV or higher.
About 500 miles of transmission lines: about 290 mi at 100–161 kV; about 160 mi at 345 kV.
Water and sewer service
Service areas of about 100 community water systems cover about 49% of the county.
Sewer service areas of about 10 systems cover about 54%.
At a point: /api/utilities/context
Data-center projects
About 15 tracked projects: 10 operating, 1 permitted, 3 proposed, 1 status not reported. Reported planned capacity: about 130 MW.
Within 10 km of a point: /api/datacenters/context
Grid capacity data
1 utility-published grid capacity layer cover parts of Oakland County, including load headroom.
Sources and dates: /api/grid/capacity/summary
Flood zones and wetlands
Special flood hazard areas cover about 7% of the county on the current federal flood maps, published October 2026.
Mapped wetlands cover about 9%.
Rail, ports and freight
- About 130 miles of active rail, about 80 of it main line
- About 85 miles of national freight network highway
- 1 port area with reported cargo tonnage
- 1 intermodal rail terminal
Within 25 km of a point: /api/logistics/context
Example requests for Oakland County
Real responses from the production API, trimmed to the main fields. Every request needs an API key with api:read; see authentication and credits and limits.
1. Find a parcel by address
/api/search matches 3331 W BIG BEAVER RD, TROY, MI and returns the parcel's korzy_id, coordinates and record. 1 credit.
curl --fail-with-body -sS --get \
-H "Authorization: Bearer $KORZY_API_KEY" \
--data-urlencode 'q=3331 W BIG BEAVER RD, TROY, MI' \
https://api.korzy.co/api/searchPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/search",
params={"q": "3331 W BIG BEAVER RD, TROY, MI"},
headers={"Authorization": f"Bearer {os.environ['KORZY_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
parcel = response.json()["results"][0]
print(parcel["korzy_id"], parcel["longitude"], parcel["latitude"])Response (trimmed)
{
"results": [
{
"korzy_id": "26125-0c12ccf7ebf343797ce2",
"address": "3331 W BIG BEAVER RD",
"city": "TROY",
"postcode": "48084",
"county": "Oakland",
"statefp": "26",
"longitude": -83.19359167856788,
"latitude": 42.5594634,
"match_type": "exact",
"parcelid": "2030202004",
"parceladdr": "3331 W BIG BEAVER RD",
"parcelcity": "TROY",
"situs_zip": "48084",
"land_use_code": "201",
"bldgsqft": 0,
"totalvalue": 2362780,
"assessed_value_usd": 2435260,
"updated": "2026-11-03",
"geoid": "26125"
}
],
"truncated": false
}2. Look up the parcel at a point
/api/query/point returns every parcel whose boundary covers the coordinates; here it returns the same record, 26125-0c12ccf7ebf343797ce2, in records. 1 credit per 10 records requested.
curl --fail-with-body -sS --get \
-H "Authorization: Bearer $KORZY_API_KEY" \
--data-urlencode 'longitude=-83.193592' \
--data-urlencode 'latitude=42.559463' \
--data-urlencode 'limit=5' \
https://api.korzy.co/api/query/pointJavaScript
const params = new URLSearchParams({"longitude": "-83.193592", "latitude": "42.559463", "limit": "5"});
const response = await fetch(`https://api.korzy.co/api/query/point?${params}`, {
headers: { Authorization: `Bearer ${process.env.KORZY_API_KEY}` },
});
if (!response.ok) throw new Error(`Korzy API ${response.status}`);
const { records } = await response.json();
console.log(records.map((record) => record.korzy_id));3. Check nearby data-center projects
/api/datacenters/context lists data-center projects within 10 km of the point, nearest first. 1 credit per 10 records requested.
curl --fail-with-body -sS --get \
-H "Authorization: Bearer $KORZY_API_KEY" \
--data-urlencode 'longitude=-83.193592' \
--data-urlencode 'latitude=42.559463' \
--data-urlencode 'radius_km=10' \
--data-urlencode 'limit=3' \
https://api.korzy.co/api/datacenters/contextPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/datacenters/context",
params={"longitude": "-83.193592", "latitude": "42.559463", "radius_km": "10", "limit": "3"},
headers={"Authorization": f"Bearer {os.environ['KORZY_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
for project in response.json()["projects"]:
print(project["name"], project["status"], project["distance_km"])Response (trimmed)
{
"projects": [
{
"project_id": "dc_f0d0fd990f4b97708450",
"name": "Cogent Troy Data Center (3331 W. Big Beaver Rd)",
"operator": "Cogent Communications",
"status": "operating",
"city": "Troy",
"state": "MI",
"longitude": -83.193147,
"latitude": 42.5594738,
"location_precision": "approximate",
"distance_km": 0.03646688008208101
},
{
"project_id": "dc_20c681b2c9f91cb1dd6a",
"name": "Liberty Center One",
"status": "unknown",
"city": "Royal Oak",
"state": "MI",
"longitude": -83.17758135328558,
"latitude": 42.53349555,
"location_precision": "footprint",
"distance_km": 3.1713851938512163
},
{
"project_id": "dc_1c00bb2aa1c5891cf91a",
"name": "Liberty Center One Royal Oak Data Center",
"operator": "Liberty Center One",
"status": "operating",
"city": "Royal Oak",
"state": "MI",
"longitude": -83.177393,
"latitude": 42.533508,
"location_precision": "approximate",
"distance_km": 3.176539808143683
}
],
"radius_km": 10,
"limit": 3,
"truncated": true
}Oakland County data questions
- How many parcels in Oakland County include building size?
- About 490,000 of about 490,000 parcel records (99%) include building size.
- Does the Korzy API return owner names for Oakland County parcels?
- Oakland County parcel records do not include owner names. Values, land use and building facts are returned where the county publishes them.
- How many data-center projects are in Oakland County?
- Korzy tracks about 15 data-center projects in Oakland County: 10 operating, 3 proposed and 1 permitted. /api/datacenters/context lists projects within 10 km of any point.
- How much power generation is in Oakland County?
- 4 operable power plants in Oakland County total about 150 MW of nameplate capacity, mainly natural gas, oil and other fuels.
- Which water systems serve Oakland County?
- Service areas of about 100 community water systems cover about 49% of Oakland County, and sewer service areas cover about 54%. /api/utilities/context returns the water and sewer matches at a point.
More featured counties
- Macomb County, MIBorders Oakland County · about 380,000 parcels
- Wayne County, MIBorders Oakland County · about 380,000 parcels
- Kent County, MIabout 270,000 parcels
Build on Oakland County parcel data
Search, point and record lookups work the same in every county Korzy covers. Credits are shared across parcels, utilities, environment, logistics and data-center routes.