Jefferson County, AL parcel and infrastructure data API

Korzy has about 330,000 parcel records for Jefferson County, Alabama, with source updates through November 2026. Nearly every record carries owner names and values; 91% include land use. In and around the county the API also maps 2 power plants with about 2,800 MW of capacity, led by coal; about 550 miles of active rail; and 5 data-center projects (1 operating and 1 under construction). 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 Jefferson County

About 330,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 · 99%
Owner nameNearly all · 96%
Assessed or market valueNearly all · 96%
Year builtNot published
Building sizeNot published
Last saleNot published
Land useMost · 91%
ZoningNot published

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

Infrastructure in and around Jefferson County

Power plants

2 operable plants with about 2,800 MW of nameplate capacity; largest by capacity: coal, natural gas.

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

Substations and transmission

About 250 in-service substations, about 15 rated 230 kV or higher.

About 910 miles of transmission lines: about 620 mi at 100–161 kV; about 190 mi at 220–287 kV; about 80 mi at 500 kV.

Water and sewer service

Service areas of about 20 community water systems cover about 55% of the county.

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

At a point: /api/utilities/context

Data-center projects

5 tracked projects: 1 operating, 1 under construction, 2 proposed, 1 status not reported. Reported planned capacity: about 1,600 MW.

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

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 1%.

Rail, ports and freight

  • About 550 miles of active rail, about 280 of it main line
  • About 170 miles of national freight network highway
  • 2 intermodal rail terminals

Within 25 km of a point: /api/logistics/context

Example requests for Jefferson 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 612 10TH ST N, Birmingham, AL 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=612 10TH ST N, Birmingham, AL' \
  https://api.korzy.co/api/search
Python
import os
import requests

response = requests.get(
    "https://api.korzy.co/api/search",
    params={"q": "612 10TH ST N, Birmingham, AL"},
    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": "01073-0150f6f9fa5e79c095bc",
      "address": "612 10TH ST N",
      "city": "Birmingham",
      "postcode": "35203",
      "county": "Jefferson",
      "statefp": "01",
      "longitude": -86.82336829918603,
      "latitude": 33.513005750000005,
      "match_type": "exact",
      "parcelid": "2200353001009000",
      "parceladdr": "612 10TH ST N",
      "parcelcity": "Birmingham",
      "situs_zip": "35203",
      "land_use_code": "C",
      "taxacres": 0.25,
      "assessed_value_usd": 22720,
      "updated": "2026-10-29",
      "geoid": "01073"
    }
  ],
  "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, 01073-0150f6f9fa5e79c095bc, in records. 1 credit per 10 records requested.

curl --fail-with-body -sS --get \
  -H "Authorization: Bearer $KORZY_API_KEY" \
  --data-urlencode 'longitude=-86.823368' \
  --data-urlencode 'latitude=33.513006' \
  --data-urlencode 'limit=5' \
  https://api.korzy.co/api/query/point
JavaScript
const params = new URLSearchParams({"longitude": "-86.823368", "latitude": "33.513006", "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=-86.823368' \
  --data-urlencode 'latitude=33.513006' \
  --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": "-86.823368", "latitude": "33.513006", "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_89c39ca1a1016023e75b",
      "name": "DC BLOX Birmingham Data Center Campus",
      "operator": "DC BLOX",
      "status": "operating",
      "city": "Birmingham",
      "state": "AL",
      "longitude": -86.8208315,
      "latitude": 33.5006652,
      "location_precision": "exact",
      "operational_mw": 5,
      "planned_mw": 60,
      "distance_km": 1.3922427939163435
    },
    {
      "project_id": "dc_d62fabff48ac59ebe116",
      "name": "Nebius Birmingham AI Factory (BHM01)",
      "operator": "Nebius Group",
      "status": "under_construction",
      "city": "Birmingham",
      "state": "AL",
      "longitude": -86.8131,
      "latitude": 33.4556,
      "location_precision": "exact",
      "planned_mw": 300,
      "distance_km": 6.453903716277273
    },
    {
      "project_id": "dc_c86712f48ccc7c021b95",
      "name": "Patmos Fairfield Colocation Data Center",
      "operator": "Patmos",
      "status": "proposed",
      "city": "Fairfield",
      "state": "AL",
      "longitude": -86.9150283,
      "latitude": 33.4916836,
      "location_precision": "approximate",
      "planned_mw": 45,
      "distance_km": 8.823396806077351
    }
  ],
  "radius_km": 10,
  "limit": 3,
  "truncated": false
}

Jefferson County data questions

How many parcels in Jefferson County include values?
About 320,000 of about 330,000 parcel records (96%) include values.
Does the Korzy API return owner names for Jefferson County parcels?
Yes. 96% of Jefferson 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 Jefferson County?
Korzy tracks 5 data-center projects in Jefferson County: 2 proposed, 1 operating and 1 under construction. /api/datacenters/context lists projects within 10 km of any point.
How much power generation is in Jefferson County?
2 operable power plants in Jefferson County total about 2,800 MW of nameplate capacity, mainly coal and natural gas.
Which water systems serve Jefferson County?
Service areas of about 20 community water systems cover about 55% of Jefferson County, and sewer service areas cover about 36%. /api/utilities/context returns the water and sewer matches at a point.

More featured counties

All featured Alabama counties

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