Riverside County, CA parcel and infrastructure data API
Korzy has about 990,000 parcel records for Riverside County, California, with source updates through October 2026. 92% include year built and 92% include building size. In and around the county the API also maps about 120 power plants with about 11,000 MW of capacity, led by solar; 1 data-center project; and about 230 miles of active rail. Look up any parcel by address or coordinates, then check water, sewer and infrastructure context at the same point.
Parcel coverage in Riverside County
About 990,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 /api/parcel-record. Share of records with each field:
| Field | Coverage | Share |
|---|---|---|
| Situs address | Nearly all · 100% | |
| Owner name | Not published | |
| Assessed or market value | Most · 85% | |
| Year built | Most · 92% | |
| Building size | Most · 92% | |
| Last sale | Most · 79% | |
| Land use | Most · 91% | |
| Zoning | Not published |
Riverside County records do not include owner names. See pricing for credit costs.
Infrastructure in and around Riverside County
Power plants
About 120 operable plants with about 11,000 MW of nameplate capacity; largest by capacity: solar, battery and pumped storage, natural gas. Proposed generators add about 3,200 MW.
Plant details: /api/power/plants/{plant_id}
Substations and transmission
About 170 in-service substations, about 15 rated 230 kV or higher.
About 2,100 miles of transmission lines: about 430 mi at under 100 kV; about 840 mi at 100–161 kV; about 450 mi at 220–287 kV; about 360 mi at 500 kV.
Water and sewer service
Service areas of about 120 community water systems cover about 31% of the county.
Sewer service areas of about 30 systems cover about 13%.
At a point: /api/utilities/context
Data-center projects
1 tracked project: 1 status not reported. Reported planned capacity: about 270 MW.
Within 10 km of a point: /api/datacenters/context
Grid capacity data
2 utility-published grid capacity layers cover parts of Riverside County, including loading forecasts.
Sources and dates: /api/grid/capacity/summary
Flood zones and wetlands
Special flood hazard areas cover about 3% of the county on the current federal flood maps, published October 2026.
Rail, ports and freight
- About 230 miles of active rail, about 160 of it main line
- About 310 miles of national freight network highway
Within 25 km of a point: /api/logistics/context
Example requests for Riverside 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 21730 BUNDY CANYON RD, WILDOMAR, CA 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=21730 BUNDY CANYON RD, WILDOMAR, CA' \
https://api.korzy.co/api/searchPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/search",
params={"q": "21730 BUNDY CANYON RD, WILDOMAR, CA"},
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": "06065-919861d16ad4398b7288",
"address": "21730 BUNDY CANYON RD",
"city": "WILDOMAR",
"postcode": "92595",
"county": "Riverside",
"statefp": "06",
"longitude": -117.28057757238594,
"latitude": 33.627806750000005,
"match_type": "exact",
"parcelid": "366210052",
"parceladdr": "21730 BUNDY CANYON RD",
"parcelcity": "WILDOMAR",
"situs_zip": "92595",
"usedesc": "Retail - General",
"yearbuilt": 2013,
"bldgsqft": 5280,
"taxacres": 1.45,
"totalvalue": 0,
"saledate": "2006-10-19",
"updated": "2026-10-13",
"geoid": "06065"
}
],
"truncated": false
}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, 06065-919861d16ad4398b7288, in records. 1 credit per 10 records requested.
curl --fail-with-body -sS --get \
-H "Authorization: Bearer $KORZY_API_KEY" \
--data-urlencode 'longitude=-117.280578' \
--data-urlencode 'latitude=33.627807' \
--data-urlencode 'limit=5' \
https://api.korzy.co/api/query/pointJavaScript
const params = new URLSearchParams({"longitude": "-117.280578", "latitude": "33.627807", "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=-117.280578' \
--data-urlencode 'latitude=33.627807' \
https://api.korzy.co/api/utilities/contextPython
import os
import requests
response = requests.get(
"https://api.korzy.co/api/utilities/context",
params={"longitude": "-117.280578", "latitude": "33.627807"},
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": -117.280578,
"latitude": 33.627807,
"matches": {
"water": [
{
"feature_id": "water:5118",
"name": "ELSINORE VALLEY MWD",
"boundary_basis": "System Sourced"
}
],
"sewer": [
{
"feature_id": "sewer:4641",
"name": "Railroad Canyon WWTP",
"boundary_basis": "Modeled"
}
]
},
"nearby_treatment": [
{
"feature_id": "treatment:9644",
"name": "Railroad Canyon WWTP",
"distance_km": 4.0731977744254415
},
{
"feature_id": "treatment:9631",
"name": "Perris Valley Regional WRF",
"distance_km": 7.928165230270986
}
]
}Riverside County data questions
- How many parcels in Riverside County include year built?
- About 910,000 of about 990,000 parcel records (92%) include year built.
- Does the Korzy API return owner names for Riverside County parcels?
- Riverside County parcel records do not include owner names. Values, land use and building facts are returned where the county publishes them.
- How many data-center projects are in Riverside County?
- Korzy tracks 1 data-center project in Riverside County: 1 status not reported. /api/datacenters/context lists projects within 10 km of any point.
- How much power generation is in Riverside County?
- About 120 operable power plants in Riverside County total about 11,000 MW of nameplate capacity, mainly solar, battery and pumped storage and natural gas.
- Which water systems serve Riverside County?
- Service areas of about 120 community water systems cover about 31% of Riverside County, and sewer service areas cover about 13%. /api/utilities/context returns the water and sewer matches at a point.
More featured counties
- San Diego County, CABorders Riverside County · about 1.1 million parcels
- Los Angeles County, CAabout 2.5 million parcels
- Contra Costa County, CAabout 410,000 parcels
- Solano County, CAabout 150,000 parcels
- Sacramento County, CAabout 550,000 parcels
Build on Riverside 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.