Worcester County, MA parcel and infrastructure data API

Korzy has about 320,000 parcel records for Worcester County, Massachusetts, with source updates through November 2026. Nearly every record carries values, last sale and building size; 84% include year built. In and around the county the API also maps about 190 power plants with about 2,000 MW of capacity, led by natural gas; 3 data-center projects (1 operating); and about 280 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 Worcester County

About 320,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 nameNot published
Assessed or market valueNearly all · 99%
Year builtMost · 84%
Building sizeNearly all · 99%
Last saleNearly all · 99%
Land useSome · 14%
ZoningNot published

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

Infrastructure in and around Worcester County

Power plants

About 190 operable plants with about 2,000 MW of nameplate capacity; largest by capacity: natural gas, solar, battery and pumped storage. Proposed generators add about 210 MW.

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

Substations and transmission

About 120 in-service substations, 5 rated 230 kV or higher.

About 730 miles of transmission lines: about 220 mi at under 100 kV; about 320 mi at 100–161 kV; about 35 mi at 220–287 kV; about 140 mi at 345 kV.

Water and sewer service

Service areas of about 120 community water systems cover about 24% of the county.

Sewer service areas of about 35 systems cover about 14%.

At a point: /api/utilities/context

Data-center projects

3 tracked projects: 1 operating, 2 proposed.

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

Grid capacity data

7 utility-published grid capacity layers cover parts of Worcester County, including load headroom, substation and feeder ratings, loading forecasts, substation inventory.

Sources and dates: /api/grid/capacity/summary

Flood zones and wetlands

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

Rail, ports and freight

  • About 280 miles of active rail, about 240 of it main line
  • About 120 miles of national freight network highway
  • 3 intermodal rail terminals

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

Example requests for Worcester 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 28 BOWDITCH DR, SHREWSBURY, MA 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=28 BOWDITCH DR, SHREWSBURY, MA' \
  https://api.korzy.co/api/search
Python
import os
import requests

response = requests.get(
    "https://api.korzy.co/api/search",
    params={"q": "28 BOWDITCH DR, SHREWSBURY, MA"},
    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": "25027-b5684b78d6f9da86863b",
      "address": "28 BOWDITCH DR",
      "city": "SHREWSBURY",
      "postcode": "01545",
      "county": "Worcester",
      "statefp": "25",
      "longitude": -71.75896065664756,
      "latitude": 42.2983751,
      "match_type": "exact",
      "parcelid": "19 145001",
      "parceladdr": "28 BOWDITCH DR",
      "parcelcity": "SHREWSBURY",
      "situs_zip": "01545",
      "usedesc": "Industrial",
      "yearbuilt": 1977,
      "bldgsqft": 41040,
      "taxacres": 9.13,
      "totalvalue": 3069600,
      "saledate": "1993-09-24",
      "saleamt": 0,
      "updated": "2026-11-03",
      "geoid": "25027"
    }
  ],
  "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, 25027-b5684b78d6f9da86863b, in records. 1 credit per 10 records requested.

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

response = requests.get(
    "https://api.korzy.co/api/utilities/context",
    params={"longitude": "-71.758961", "latitude": "42.298375"},
    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": -71.758961,
  "latitude": 42.298375,
  "matches": {
    "water": [],
    "sewer": []
  },
  "nearby_treatment": [
    {
      "feature_id": "treatment:2057",
      "name": "Upper Blackstone Clean Water",
      "distance_km": 9.88811130894659
    },
    {
      "feature_id": "treatment:2134",
      "name": "Westborough Sewerage Collection System and WWTF",
      "distance_km": 10.598408889602068
    }
  ]
}

Worcester County data questions

How many parcels in Worcester County include year built?
About 270,000 of about 320,000 parcel records (84%) include year built.
Does the Korzy API return owner names for Worcester County parcels?
Worcester 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 Worcester County?
Korzy tracks 3 data-center projects in Worcester County: 2 proposed and 1 operating. /api/datacenters/context lists projects within 10 km of any point.
How much power generation is in Worcester County?
About 190 operable power plants in Worcester County total about 2,000 MW of nameplate capacity, mainly natural gas, solar and battery and pumped storage.
Which water systems serve Worcester County?
Service areas of about 120 community water systems cover about 24% of Worcester County, and sewer service areas cover about 14%. /api/utilities/context returns the water and sewer matches at a point.

More featured counties

All featured Massachusetts counties

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