Clackamas County, OR parcel and infrastructure data API

Korzy has about 190,000 parcel records for Clackamas County, Oregon, with source updates through November 2026. Nearly every record carries values, land use and building size; 94% include last sale and 82% include year built. In and around the county the API also maps 1 data-center project; 1 port with reported cargo; and about 35 power plants with about 280 MW of capacity, led by hydro. Look up any parcel by address or coordinates, then check water, sewer and infrastructure context at the same point.

Parcel coverage in Clackamas County

About 190,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 nameNot published
Assessed or market valueNearly all · 99%
Year builtMost · 82%
Building sizeNearly all · 95%
Last saleMost · 94%
Land useNearly all · 98%
ZoningNot published

Clackamas County records do not include owner names. See pricing for credit costs.

Infrastructure in and around Clackamas County

Power plants

About 35 operable plants with about 280 MW of nameplate capacity; largest by capacity: hydro, solar. Proposed generators add about 200 MW.

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

Substations and transmission

About 95 in-service substations, 6 rated 230 kV or higher.

About 760 miles of transmission lines: about 70 mi at under 100 kV; about 280 mi at 100–161 kV; about 200 mi at 220–287 kV; about 210 mi at 500 kV.

Water and sewer service

Service areas of about 70 community water systems cover about 9% of the county.

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

At a point: /api/utilities/context

Data-center projects

1 tracked project: 1 status not reported.

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

Flood zones and wetlands

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

Rail, ports and freight

  • About 65 miles of active rail, about 45 of it main line
  • About 20 miles of national freight network highway
  • 1 port area with reported cargo tonnage

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

Example requests for Clackamas 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 4100 SE ROETHE RD, MILWAUKIE, OR 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=4100 SE ROETHE RD, MILWAUKIE, OR' \
  https://api.korzy.co/api/search
Python
import os
import requests

response = requests.get(
    "https://api.korzy.co/api/search",
    params={"q": "4100 SE ROETHE RD, MILWAUKIE, OR"},
    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": "41005-dd45a5c8c563253b1a7e",
      "address": "4100 SE ROETHE RD",
      "city": "MILWAUKIE",
      "postcode": "97267",
      "county": "Clackamas",
      "statefp": "41",
      "longitude": -122.6204630338363,
      "latitude": 45.39742535,
      "match_type": "exact",
      "parcelid": "00293907",
      "parceladdr": "4100 SE ROETHE RD",
      "parcelcity": "MILWAUKIE",
      "situs_zip": "97267",
      "usedesc": "Industrial land improved",
      "land_use_code": "301",
      "yearbuilt": 1978,
      "bldgsqft": 0,
      "taxacres": 0,
      "totalvalue": 2775438,
      "land_value_usd": 1029038,
      "improvement_value_usd": 1746400,
      "assessed_value_usd": 1341478,
      "saledate": "2012-04-24",
      "saleamt": 1090000,
      "updated": "2026-11-02",
      "geoid": "41005"
    }
  ],
  "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, 41005-dd45a5c8c563253b1a7e, in records. 1 credit per 10 records requested.

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

response = requests.get(
    "https://api.korzy.co/api/utilities/context",
    params={"longitude": "-122.620463", "latitude": "45.397425"},
    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": -122.620463,
  "latitude": 45.397425,
  "matches": {
    "water": [
      {
        "feature_id": "water:43650",
        "name": "OAK LODGE WATER SERVICES",
        "boundary_basis": "System Sourced"
      }
    ],
    "sewer": [
      {
        "feature_id": "sewer:13238",
        "name": "TRYON CREEK STP",
        "boundary_basis": "Modeled"
      }
    ]
  },
  "nearby_treatment": [
    {
      "feature_id": "treatment:8198",
      "name": "TRI CITY WPCP",
      "distance_km": 3.4048397475658976
    },
    {
      "feature_id": "treatment:8202",
      "name": "OAK LODGE STP",
      "distance_km": 3.8284102277406613
    }
  ]
}

Clackamas County data questions

How many parcels in Clackamas County include year built?
About 160,000 of about 190,000 parcel records (82%) include year built.
Does the Korzy API return owner names for Clackamas County parcels?
Clackamas 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 Clackamas County?
Korzy tracks 1 data-center project in Clackamas County: 1 status not reported. /api/datacenters/context lists projects within 10 km of any point.
How much power generation is in Clackamas County?
About 35 operable power plants in Clackamas County total about 280 MW of nameplate capacity, mainly hydro and solar.
Which water systems serve Clackamas County?
Service areas of about 70 community water systems cover about 9% of Clackamas County, and sewer service areas cover about 13%. /api/utilities/context returns the water and sewer matches at a point.

More featured counties

All featured Oregon counties

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