Madison County, AL parcel and infrastructure data API

Korzy has about 190,000 parcel records for Madison County, Alabama, with source updates through October 2026. Nearly every record carries owner names, values and last sale. In and around the county the API also maps 7 data-center projects (5 operating); 2 power plants with about 45 MW of capacity, led by solar; and about 65 miles of active rail. 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 Madison County

About 190,000 parcel records with boundaries, situs addresses and parcel numbers, with the latest source update from October 2026. Each record has a stable korzy_id you can store and look up again with /v1/records/{id}. Share of records with each field:

FieldCoverageShare
Situs addressNearly all · 100%
Owner nameNearly all · 99%
Assessed or market valueNearly all · 99%
Year builtNot published
Building sizeNot published
Last saleNearly all · 95%
Land useNot published
ZoningNot published

Owner name and mailing address are returned by /v1/enrich with the owner group, at 2 credits per parcel instead of 1 credit. 99% of Madison County records carry an owner name.

Infrastructure in and around Madison County

Power plants

2 operable plants with about 45 MW of nameplate capacity; largest by capacity: solar, battery and pumped storage.

Within 50 km: /v1/lookup section power; details: /v1/records/{id}

Substations and transmission

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

About 410 miles of transmission lines: about 130 mi at under 100 kV; about 150 mi at 100–161 kV; about 45 mi at 500 kV.

Water and sewer service

Service areas of about 10 community water systems cover about 41% of the county.

Sewer service areas of about 15 systems cover about 16%.

At an address or point: /v1/lookup section utilities

Data-center projects

7 tracked projects: 5 operating, 2 status not reported. Reported planned capacity: about 15 MW.

Within 10 km: /v1/lookup section datacenters

Flood zones and wetlands

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

Mapped wetlands cover about 7%.

At an address or point: /v1/lookup section environment

Rail, ports and freight

  • About 65 miles of active rail, about 50 of it main line
  • About 15 miles of national freight network highway
  • 1 intermodal rail terminal

Within 25 km: /v1/lookup section logistics

Example requests for Madison County

The lookup response is a real production response, trimmed to the main fields. Every request needs an API key with api:read; see authentication and credits and limits.

1. Find a parcel and nearby data-center projects

/v1/lookup matches 165 WEST PARK LOOP NW, AL 35806 and returns the parcel's korzy_id and record, plus the data-center projects within 10 km, nearest first. 2 credits.

curl --fail-with-body -sS \
  -H "Authorization: Bearer $KORZY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"165 WEST PARK LOOP NW, AL 35806","sections":["datacenters"]}' \
  https://api.korzy.co/v1/lookup
Python
import os
import requests

response = requests.post(
    "https://api.korzy.co/v1/lookup",
    json={"address": "165 WEST PARK LOOP NW, AL 35806", "sections": ["datacenters"]},
    headers={"Authorization": f"Bearer {os.environ['KORZY_API_KEY']}"},
    timeout=60,
)
response.raise_for_status()
body = response.json()
parcel = body["parcels"]["records"][0]
print(parcel["korzy_id"], body["sections"]["datacenters"]["status"])
Production response (trimmed)
{
  "location": {
    "longitude": -86.69200402937432,
    "latitude": 34.74537345,
    "address": "165 WEST PARK LOOP NW",
    "match_type": "exact"
  },
  "parcels": {
    "records": [
      {
        "id": "01089-a272c3190b8e5f21398a",
        "korzy_id": "01089-a272c3190b8e5f21398a",
        "parcelid": "105253",
        "parceladdr": "165 WEST PARK LOOP NW",
        "situs_zip": "35806",
        "statefp": "01",
        "geoid": "01089",
        "longitude": -86.69200402937432,
        "latitude": 34.74537345,
        "taxacres": 2.27,
        "land_value_usd": 493600,
        "improvement_value_usd": 1511300,
        "assessed_value_usd": 362680,
        "market_value_usd": 2004900,
        "saledate": "2016-12-29",
        "updated": "2026-10-30"
      }
    ],
    "truncated": false
  },
  "sections": {
    "datacenters": {
      "status": "ok",
      "data": {
        "radius_km": 10,
        "projects": [
          {
            "id": "datacenter:dc_d302f928b264473f7318",
            "project_id": "dc_d302f928b264473f7318",
            "name": "SimpleHelix",
            "status": "unknown",
            "state": "AL",
            "city": "Huntsville",
            "address": "165 West Park Loop Northwest",
            "longitude": -86.69188299999999,
            "latitude": 34.745430999999996,
            "location_precision": "footprint",
            "source_count": 2,
            "source_date": "2026-05-18T19:42:23Z",
            "mapped": true,
            "distance_km": 0.012776356445641193
          },
          {
            "id": "datacenter:dc_5bd7ef8f8ee1869011ea",
            "project_id": "dc_5bd7ef8f8ee1869011ea",
            "name": "Simple Helix Data Center",
            "operator": "Simple Helix, LLC",
            "status": "operating",
            "state": "AL",
            "city": "Huntsville",
            "address": "165 W Park Loop NW",
            "longitude": -86.691765682048,
            "latitude": 34.744816340398,
            "location_precision": "approximate",
            "source_count": 1,
            "source_date": "2026-09-21",
            "mapped": true,
            "distance_km": 0.06566424266323477
          },
          {
            "id": "datacenter:dc_122221a71926daf62b39",
            "project_id": "dc_122221a71926daf62b39",
            "name": "Alabama Supercomputer Center",
            "operator": "Alabama Supercomputer Authority",
            "status": "operating",
            "state": "AL",
            "city": "Huntsville",
            "address": "686 Discovery Drive NW",
            "longitude": -86.67312713368352,
            "latitude": 34.73651995,
            "location_precision": "footprint",
            "source_count": 3,
            "source_date": "2026-09-15",
            "mapped": true,
            "distance_km": 1.9860130811232917
          }
        ],
        "truncated": false,
        "note": "Straight-line distance to the reported project point; inspect location_precision. Projects merge supported source matches, not every nearby building. Approximate locations do not identify a parcel. Reported IT load, facility power, planned capacity and estimates remain separate source claims. No record or unknown status does not establish absence or inactivity."
      },
      "provenance": [
        {
          "dataset": "datacenters",
          "as_of": "2026-11-02",
          "data_version": "20261102T123021962884Z"
        }
      ]
    }
  },
  "credits": {
    "charged": 2,
    "refunded": 0
  }
}

2. Add owner and sale fields

/v1/enrich returns the fields you choose for up to 25 parcels per request; here the parcel 01089-a272c3190b8e5f21398a, with the owner group. 2 credits.

curl --fail-with-body -sS \
  -H "Authorization: Bearer $KORZY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"korzy_id":"01089-a272c3190b8e5f21398a"}],"fields":["identity","sale","owner"]}' \
  https://api.korzy.co/v1/enrich

3. Fetch the record again by ID

/v1/records/{id} returns the stored parcel's full record, without owner fields. 1 credit.

curl --fail-with-body -sS \
  -H "Authorization: Bearer $KORZY_API_KEY" \
  https://api.korzy.co/v1/records/01089-a272c3190b8e5f21398a
JavaScript
const response = await fetch(`https://api.korzy.co/v1/records/${encodeURIComponent("01089-a272c3190b8e5f21398a")}`, {
  headers: { Authorization: `Bearer ${process.env.KORZY_API_KEY}` },
});
if (!response.ok) throw new Error(`Korzy API ${response.status}`);
const { record } = await response.json();
console.log(record.parceladdr, record.usedesc);

Madison County data questions

How many parcels in Madison County include last sale?
About 180,000 of about 190,000 parcel records (95%) include last sale.
Does the Korzy API return owner names for Madison County parcels?
Yes. 99% of Madison County parcel records carry an owner name. Ask /v1/enrich for the owner group; each parcel then costs 2 credits instead of 1 credit. Lookups and records never include owner fields.
How many data-center projects are in Madison County?
Korzy tracks 7 data-center projects in Madison County: 5 operating and 2 status not reported. A /v1/lookup with the datacenters section lists projects within 10 km of any address or point.
How much power generation is in Madison County?
2 operable power plants in Madison County total about 45 MW of nameplate capacity, mainly solar and battery and pumped storage.
Which water systems serve Madison County?
Service areas of about 10 community water systems cover about 41% of Madison County, and sewer service areas cover about 16%. A /v1/lookup with the utilities section returns the water and sewer matches at an address or point.

More featured counties

All featured Alabama counties

Build on Madison County parcel data

Lookups, enrichment and records work the same in every county Korzy covers. Credits are shared across parcels, utilities, environment, logistics, power, grid, data-center and terrain sections.