Macomb County, MI parcel and infrastructure data API
Korzy has about 380,000 parcel records for Macomb County, Michigan, with source updates through August 2026. Nearly every record carries values; 79% include land use and 77% include owner names. In and around the county the API also maps 2 data-center projects (1 operating); 1 port with reported cargo; and 3 power plants with about 140 MW of capacity, led by natural gas. Look up any parcel by address or coordinates, then check water, sewer and infrastructure context at the same point.
Parcel coverage in Macomb County
About 380,000 parcel records with boundaries, situs addresses and parcel numbers, with the latest source update from August 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 | Nearly all · 99% | |
| Owner name | Most · 77% | |
| Assessed or market value | Nearly all · 99% | |
| Year built | Not published | |
| Building size | Not published | |
| Last sale | Not published | |
| Land use | Most · 79% | |
| Zoning | Many · 72% |
Owner name and mailing address are returned with include_owner=true, which doubles a request's cost: a parcel record costs 2 credits instead of 1. 77% of Macomb County records carry an owner name.
Infrastructure in and around Macomb County
Power plants
3 operable plants with about 140 MW of nameplate capacity; largest by capacity: natural gas, oil, other fuels.
Plant details: /api/power/plants/{plant_id}
Substations and transmission
About 45 in-service substations, 4 rated 230 kV or higher.
About 500 miles of transmission lines: about 290 mi at 100–161 kV; about 200 mi at 345 kV.
Water and sewer service
Service areas of about 35 community water systems cover about 50% of the county.
Sewer service areas of 7 systems cover about 66%.
At a point: /api/utilities/context
Data-center projects
2 tracked projects: 1 operating, 1 status not reported.
Within 10 km of a point: /api/datacenters/context
Grid capacity data
1 utility-published grid capacity layer cover parts of Macomb County, including load headroom.
Sources and dates: /api/grid/capacity/summary
Flood zones and wetlands
Special flood hazard areas cover about 6% of the county on the current federal flood maps, published October 2026.
Mapped wetlands cover about 7%.
Rail, ports and freight
- About 70 miles of active rail, about 40 of it main line
- About 45 miles of national freight network highway
- 1 port area with reported cargo tonnage
Within 25 km of a point: /api/logistics/context
Example requests for Macomb 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 16700 17 MILE RD, CLINTON TOWNSHIP, 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=16700 17 MILE RD, CLINTON TOWNSHIP, MI' \
https://api.korzy.co/api/searchPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/search",
params={"q": "16700 17 MILE RD, CLINTON TOWNSHIP, 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": "26099-dfc2fb492853f05b3d30",
"address": "16700 17 MILE RD",
"city": "CLINTON TOWNSHIP",
"postcode": "48038",
"county": "Macomb",
"statefp": "26",
"longitude": -82.95323702243485,
"latitude": 42.583930699999996,
"match_type": "exact",
"parcelid": "16-11-18-476-028",
"parceladdr": "16700 17 MILE RD",
"parcelcity": "CLINTON TOWNSHIP",
"situs_zip": "48038",
"usedesc": "RETAIL",
"zoning_code": "B-2",
"totalvalue": 1381800,
"updated": "2004-05-29",
"geoid": "26099"
}
],
"truncated": false
}With include_owner=true (2 credits) the record adds owner fields, shown here as placeholders:
{
"owner_name": "EXAMPLE HOLDINGS LLC",
"owner_mailing_address": "100 EXAMPLE ST, SAMPLE CITY, ST 00000"
}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, 26099-dfc2fb492853f05b3d30, in records. 1 credit per 10 records requested.
curl --fail-with-body -sS --get \
-H "Authorization: Bearer $KORZY_API_KEY" \
--data-urlencode 'longitude=-82.953237' \
--data-urlencode 'latitude=42.583931' \
--data-urlencode 'limit=5' \
https://api.korzy.co/api/query/pointJavaScript
const params = new URLSearchParams({"longitude": "-82.953237", "latitude": "42.583931", "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 water and sewer service
/api/utilities/context returns the water and sewer service areas at the point and the nearest treatment plants. 1 credit.
curl --fail-with-body -sS --get \
-H "Authorization: Bearer $KORZY_API_KEY" \
--data-urlencode 'longitude=-82.953237' \
--data-urlencode 'latitude=42.583931' \
https://api.korzy.co/api/utilities/contextPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/utilities/context",
params={"longitude": "-82.953237", "latitude": "42.583931"},
headers={"Authorization": f"Bearer {os.environ['KORZY_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
matches = response.json()["matches"]
print([area["name"] for area in matches["water"]])Response (trimmed)
{
"longitude": -82.953237,
"latitude": 42.583931,
"matches": {
"water": [
{
"feature_id": "water:42077",
"name": "CLINTON TOWNSHIP",
"boundary_basis": "System Sourced"
}
],
"sewer": [
{
"feature_id": "sewer:985",
"name": "GLWA WRRF",
"boundary_basis": "Sourced"
}
]
},
"nearby_treatment": [
{
"feature_id": "treatment:1808",
"name": "MT CLEMENS WWTP",
"distance_km": 7.612612763797933
},
{
"feature_id": "treatment:1811",
"name": "WARREN WWTP",
"distance_km": 7.8388746904329345
}
]
}Macomb County data questions
- How many parcels in Macomb County include values?
- About 380,000 of about 380,000 parcel records (99%) include values.
- Does the Korzy API return owner names for Macomb County parcels?
- Yes. 77% of Macomb County parcel records carry an owner name. Add include_owner=true to a point, search or parcel-record request; it doubles the request's cost, so a single parcel record costs 2 credits.
- How many data-center projects are in Macomb County?
- Korzy tracks 2 data-center projects in Macomb County: 1 operating and 1 status not reported. /api/datacenters/context lists projects within 10 km of any point.
- How much power generation is in Macomb County?
- 3 operable power plants in Macomb County total about 140 MW of nameplate capacity, mainly natural gas, oil and other fuels.
- Which water systems serve Macomb County?
- Service areas of about 35 community water systems cover about 50% of Macomb County, and sewer service areas cover about 66%. /api/utilities/context returns the water and sewer matches at a point.
More featured counties
- Oakland County, MIBorders Macomb County · about 490,000 parcels
- Wayne County, MIBorders Macomb County · about 380,000 parcels
- Kent County, MIabout 270,000 parcels
Build on Macomb 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.