Cuyahoga County, OH parcel and infrastructure data API

Korzy has about 520,000 parcel records for Cuyahoga County, Ohio, with source updates through November 2026. Nearly every record carries values, last sale and land use; 80% include building size. In and around the county the API also maps 8 data-center projects (6 operating); about 310 miles of active rail; and 1 port with reported cargo. 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 Cuyahoga County

About 520,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:

FieldCoverageShare
Situs addressNearly all · 100%
Owner nameSome · 7%
Assessed or market valueNearly all · 98%
Year builtNot published
Building sizeMost · 80%
Last saleNearly all · 99%
Land useNearly all · 99%
ZoningSome · 1%

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. 7% of Cuyahoga County records carry an owner name.

Infrastructure in and around Cuyahoga County

Power plants

About 10 operable plants with about 170 MW of nameplate capacity; largest by capacity: other fuels, natural gas, oil.

Plant details: /api/power/plants/{plant_id}

Substations and transmission

About 150 in-service substations, 5 rated 230 kV or higher.

About 520 miles of transmission lines: about 410 mi at 100–161 kV; about 110 mi at 345 kV.

Water and sewer service

Service areas of about 15 community water systems cover about 99% of the county.

Sewer service areas of about 20 systems cover about 91%.

At a point: /api/utilities/context

Data-center projects

8 tracked projects: 6 operating, 2 status not reported. Reported planned capacity: about 150 MW.

Within 10 km of a point: /api/datacenters/context

Grid capacity data

2 utility-published grid capacity layers cover parts of Cuyahoga County, including load headroom.

Sources and dates: /api/grid/capacity/summary

Flood zones and wetlands

Special flood hazard areas cover about 4% of the county on the current federal flood maps, published October 2026.

Mapped wetlands cover about 2%.

Rail, ports and freight

  • About 310 miles of active rail, about 170 of it main line
  • About 140 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 Cuyahoga 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 1401 PROSPECT AVE, CLEVELAND, OH 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=1401 PROSPECT AVE, CLEVELAND, OH' \
  https://api.korzy.co/api/search
Python
import os
import requests

response = requests.get(
    "https://api.korzy.co/api/search",
    params={"q": "1401 PROSPECT AVE, CLEVELAND, OH"},
    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": "39035-d00d9f3a347f6fb346a0",
      "address": "1401 PROSPECT AVE",
      "city": "CLEVELAND",
      "postcode": "44115",
      "statefp": "39",
      "longitude": -81.68067703224368,
      "latitude": 41.50016645,
      "match_type": "exact",
      "parcelid": "10301304",
      "parceladdr": "1401 PROSPECT AVE",
      "parcelcity": "CLEVELAND",
      "situs_zip": "44115",
      "usedesc": "OTHER COMMERCIAL NEC",
      "land_use_code": "4990",
      "zoning_code": "GR",
      "taxacres": 0,
      "totalvalue": 95800,
      "land_value_usd": 6690,
      "improvement_value_usd": 26850,
      "assessed_value_usd": 33540,
      "market_value_usd": 95800,
      "saledate": "2017-11-17",
      "saleamt": 0,
      "updated": "2026-01-01",
      "geoid": "39035"
    }
  ],
  "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, 39035-d00d9f3a347f6fb346a0, in records. 1 credit per 10 records requested.

curl --fail-with-body -sS --get \
  -H "Authorization: Bearer $KORZY_API_KEY" \
  --data-urlencode 'longitude=-81.680677' \
  --data-urlencode 'latitude=41.500166' \
  --data-urlencode 'limit=5' \
  https://api.korzy.co/api/query/point
JavaScript
const params = new URLSearchParams({"longitude": "-81.680677", "latitude": "41.500166", "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=-81.680677' \
  --data-urlencode 'latitude=41.500166' \
  --data-urlencode 'radius_km=10' \
  --data-urlencode 'limit=3' \
  https://api.korzy.co/api/datacenters/context
Python
import os
import requests

response = requests.get(
    "https://api.korzy.co/api/datacenters/context",
    params={"longitude": "-81.680677", "latitude": "41.500166", "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_0a9a7cc27094ee3d81cf",
      "name": "DataBank Cleveland (CLE1)",
      "operator": "DataBank",
      "status": "operating",
      "city": "Cleveland",
      "state": "OH",
      "longitude": -81.6829,
      "latitude": 41.4998,
      "location_precision": "approximate",
      "operational_mw": 0.4,
      "distance_km": 0.18955237792450302
    },
    {
      "project_id": "dc_2b765490d3b656d89b47",
      "name": "H5 Data Centers Cleveland",
      "operator": "H5 Data Centers",
      "status": "operating",
      "city": "Cleveland",
      "state": "OH",
      "longitude": -81.683262,
      "latitude": 41.5063269,
      "location_precision": "approximate",
      "distance_km": 0.7180878473873454
    },
    {
      "project_id": "dc_cac82f311956eacb54de",
      "name": "H5 Data Center",
      "status": "unknown",
      "city": "Cleveland",
      "state": "OH",
      "longitude": -81.68330183660237,
      "latitude": 41.5065059,
      "location_precision": "footprint",
      "distance_km": 0.7380760815812112
    }
  ],
  "radius_km": 10,
  "limit": 3,
  "truncated": true
}

Cuyahoga County data questions

How many parcels in Cuyahoga County include building size?
About 420,000 of about 520,000 parcel records (80%) include building size.
Does the Korzy API return owner names for Cuyahoga County parcels?
Yes. 7% of Cuyahoga 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 Cuyahoga County?
Korzy tracks 8 data-center projects in Cuyahoga County: 6 operating and 2 status not reported. /api/datacenters/context lists projects within 10 km of any point.
How much power generation is in Cuyahoga County?
About 10 operable power plants in Cuyahoga County total about 170 MW of nameplate capacity, mainly other fuels, natural gas and oil.
Which water systems serve Cuyahoga County?
Service areas of about 15 community water systems cover about 99% of Cuyahoga County, and sewer service areas cover about 91%. /api/utilities/context returns the water and sewer matches at a point.

More featured counties

All featured Ohio counties

Build on Cuyahoga 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.