Philadelphia County, PA parcel and infrastructure data API
Korzy has about 580,000 parcel records for Philadelphia County, Pennsylvania, with source updates through November 2026. Nearly every record carries values, last sale, land use and building size; 92% include year built. In and around the county the API also maps 2 data-center projects (1 operating); about 15 power plants with about 560 MW of capacity, led by oil; and 2 ports with reported cargo. Look up any parcel by address or coordinates, then check water, sewer and infrastructure context at the same point.
Parcel coverage in Philadelphia County
About 580,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 | Nearly all · 100% | |
| Owner name | Some · 6% | |
| Assessed or market value | Nearly all · 99% | |
| Year built | Most · 92% | |
| Building size | Nearly all · 99% | |
| Last sale | Nearly all · 99% | |
| Land use | Nearly all · 99% | |
| Zoning | Some · 6% |
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. 6% of Philadelphia County records carry an owner name.
Infrastructure in and around Philadelphia County
Power plants
About 15 operable plants with about 560 MW of nameplate capacity; largest by capacity: oil, natural gas, battery and pumped storage.
Plant details: /api/power/plants/{plant_id}
Substations and transmission
About 50 in-service substations, about 25 rated 230 kV or higher.
About 150 miles of transmission lines: about 35 mi at under 100 kV; about 25 mi at 100–161 kV; about 60 mi at 220–287 kV.
Water and sewer service
Service areas of 5 community water systems cover about 99% of the county.
Sewer service areas of 6 systems cover about 91%.
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
Flood zones and wetlands
Special flood hazard areas cover about 13% of the county on the current federal flood maps, published October 2026.
Mapped wetlands cover about 1%.
Rail, ports and freight
- About 200 miles of active rail, about 110 of it main line
- About 45 miles of national freight network highway
- 2 port areas with reported cargo tonnage
- 1 intermodal rail terminal
Within 25 km of a point: /api/logistics/context
Example requests for Philadelphia 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 2601 N BROAD ST, PHILADELPHIA, PA 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=2601 N BROAD ST, PHILADELPHIA, PA' \
https://api.korzy.co/api/searchPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/search",
params={"q": "2601 N BROAD ST, PHILADELPHIA, PA"},
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": "42101-cf3e5271b9f2377bc2a5",
"address": "2601 N BROAD ST",
"city": "PHILADELPHIA",
"postcode": "19132",
"statefp": "42",
"longitude": -75.15441376888916,
"latitude": 39.992375300000006,
"match_type": "exact",
"parcelid": "881070720",
"parceladdr": "2601 N BROAD ST",
"parcelcity": "PHILADELPHIA",
"situs_zip": "19132",
"usedesc": "COMMERCIAL",
"land_use_code": "4",
"zoning_code": "CMX3",
"yearbuilt": 1929,
"bldgsqft": 14069,
"totalvalue": 597700,
"market_value_usd": 597700,
"saledate": "1996-08-07",
"saleamt": 1,
"updated": "2026-04-29",
"geoid": "42101"
}
],
"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, 42101-cf3e5271b9f2377bc2a5, in records. 1 credit per 10 records requested.
curl --fail-with-body -sS --get \
-H "Authorization: Bearer $KORZY_API_KEY" \
--data-urlencode 'longitude=-75.154414' \
--data-urlencode 'latitude=39.992375' \
--data-urlencode 'limit=5' \
https://api.korzy.co/api/query/pointJavaScript
const params = new URLSearchParams({"longitude": "-75.154414", "latitude": "39.992375", "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=-75.154414' \
--data-urlencode 'latitude=39.992375' \
https://api.korzy.co/api/utilities/contextPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/utilities/context",
params={"longitude": "-75.154414", "latitude": "39.992375"},
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": -75.154414,
"latitude": 39.992375,
"matches": {
"water": [
{
"feature_id": "water:32894",
"name": "PHILADELPHIA WATER DEPARTMENT",
"boundary_basis": "System Sourced"
}
],
"sewer": [
{
"feature_id": "sewer:14102",
"name": "PHILADELPHIA WATER DEPT (SW)",
"boundary_basis": "Modeled"
}
]
},
"nearby_treatment": [
{
"feature_id": "treatment:11174",
"name": "PHILADELPHIA WATER DEPT (NE)",
"distance_km": 5.914232648307873
},
{
"feature_id": "treatment:772",
"name": "Camden County MUA - CS-CSO/WWTP",
"distance_km": 8.057093416870142
}
]
}Philadelphia County data questions
- How many parcels in Philadelphia County include year built?
- About 530,000 of about 580,000 parcel records (92%) include year built.
- Does the Korzy API return owner names for Philadelphia County parcels?
- Yes. 6% of Philadelphia 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 Philadelphia County?
- Korzy tracks 2 data-center projects in Philadelphia 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 Philadelphia County?
- About 15 operable power plants in Philadelphia County total about 560 MW of nameplate capacity, mainly oil, natural gas and battery and pumped storage.
- Which water systems serve Philadelphia County?
- Service areas of 5 community water systems cover about 99% of Philadelphia County, and sewer service areas cover about 91%. /api/utilities/context returns the water and sewer matches at a point.
More featured counties
- Montgomery County, PABorders Philadelphia County · about 310,000 parcels
- Allegheny County, PAabout 590,000 parcels
- Westmoreland County, PAabout 210,000 parcels
- Northampton County, PAabout 120,000 parcels
- York County, PAabout 180,000 parcels
Build on Philadelphia 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.