NY Property Assessments - Parcels, Owners & 5-Year Value Trail avatar

NY Property Assessments - Parcels, Owners & 5-Year Value Trail

Pricing

from $0.06 / 1,000 ny property records

Go to Apify Store
NY Property Assessments - Parcels, Owners & 5-Year Value Trail

NY Property Assessments - Parcels, Owners & 5-Year Value Trail

New York property assessment rolls (public open data, 23.6M records, 2021-2025): every parcel with its owner, mailing address, exemptions and six value columns - plus each parcel's exact year-over-year value movement. Excludes New York City, which files separately.

Pricing

from $0.06 / 1,000 ny property records

Rating

0.0

(0)

Developer

Wenhao Yang

Wenhao Yang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 minutes ago

Last modified

Categories

Share

Every parcel in New York State outside New York City, its owner, its exemptions and its full five-year value trail - all on one exact parcel key.

New York's local assessors file their final assessment rolls with the State Department of Taxation and Finance - 996 local governments, every city and town. Those rolls are published as a five-year stack: 23.6 million records covering the 2021 through 2025 rolls, about 4.72 million parcels in each. A parcel is one row per roll year, and its identity - swisCode + printKeyCode - is exact, so the same property lines up across all five years without a name match.

That is what makes the movement real rather than inferred: a parcel's market value stepping up, an assessment holding flat while the market rises, a deed changing hands between rolls.

Low cost

From $0.0001 per record, down to $0.00006 at Gold Pay-per-event: you are charged per record delivered, and nothing for the query.

What you get

BlockFields
Identityroll year, county, municipality (code + name), school district (code + name), SWIS code, print key code
Ownerprimary owner (first / MI / last / suffix) plus three additional owner slots
Owner mailing addressprefix, number, street, suffix, city, state, ZIP, country, PO box
Parcel addressnumber, street, suffix, frontage, depth, bank, grid east / north, deed book and page
Classificationproperty class code + description, tax class, roll section
Valuefull market value, land assessment, total assessment, and the county, town and school taxable values separately
Exemptions10 slots, each an exemption code and the amount it removes - stated separately for the county, city and school levy
Derivedcomposed owner name, all owners, parcel and mailing addresses, exemption codes and count, and on a parcel trail the year-over-year value and owner movement

The five-year value trail

Ask for one parcel and you get every roll it appears on, oldest first, with the movement between consecutive rolls computed on the source's own key:

{ "mode": "parcel", "swisCode": "460600",
"printKeyCode": "136.03-01-001.001" }
2021 TDC Hornell Land, LLC market 950,000
2022 TDC Hornell LLC market 673,575 -276,425 -29.1% owner changed
2023 TDC Hornell LLC market 684,211 +10,636 +1.6%
2024 TDC Hornell LLC market 714,286 +30,075 +4.4%
2025 TDC Hornell LLC market 764,706 +50,420 +7.1%

The revaluation, the recovery, and the moment the deed moved - out of the source's own rolls.

Who owns New York

The owner block is the primary owner plus three additional owners, and the mailing address of record is separate from the parcel address - which is exactly what tells a resident owner from an absentee one. In the 2025 roll, 229,960 parcels carry a mailing state other than New York (229,702 once the 258 rows that spell it Ny / ny / nY are folded in), and the mailing state is populated with 97 distinct values, a mix of US states, Canadian provinces and foreign country codes:

Owner mailing stateParcels
New York4,462,527
New Jersey35,001
Florida33,783
Pennsylvania25,292
Texas19,671
Connecticut12,026
California11,163

Filter mailingState to any state but NY and you have the out-of-state owners of New York property.

The same block finds institutional owners directly. ownerName matches a substring across the primary owner and all three additional owner slots, so these are the counts that filter actually returns for the 2025 roll - State Of New York (21,455 parcels), SUFFOLK COUNTY (7,614), TOWN OF BROOKHAVEN (6,004), alongside private owners such as Smith (33,572), Miller (17,848) and Brown (17,567).

Exemptions, in depth

Exemptions are not a flag here - 10 slots per parcel, each carrying the exemption code and the amount it removes stated separately for each taxing jurisdiction (county, city and school), because each levies against its own value: of the 1,830,495 parcels that carry an exemption anywhere in their ten slots in the 2025 roll, 1,106,674 have a county amount and a school amount that differ. The most-used exemption codes that year:

Exemption codeParcels (any slot)
4185863,801
4183490,565
4112149,725
4180133,419
4113107,012
417281,378
442254,115
135035,647

Cap the assessment and you isolate the parcels whose tax base has been carved down - a search that a value-only dataset cannot express. Each slot's amount is returned per jurisdiction, so the county, city and school figures stay separate rather than being flattened into one.

Classification

Property class is a NY State code with its description attached - 290 distinct descriptions in the 2025 roll (293 across all five years), led by One Family Year-Round Residence (2,923,898 parcels), Residential Vacant Land (288,562), Two Family Year-Round Residence (217,493), Rural Vacant Lots of 10 Acres or less (110,672), Rural Residence with Acreage (93,042), Apartments (88,490), Residential Land Including a Small Improvement (71,898) and Mobile Home (70,249). Roll section separates the taxable roll from the special franchises and utility roll.

Modes

  • rows (default) - parcels matching your filters, from the newest roll year.
  • parcel - one parcel's full five-year trail, with the value and owner movement computed between rolls. Takes swisCode + printKeyCode.
  • trend - per-roll-year totals for a scope: parcel count and summed market and assessed value, one row per year, without shipping a single parcel. Scope it to a county, a municipality or a school district and you have that area's five-year movement series.
  • aggregate - one count row per group, rolled up by county, municipality, municipality code, school district, property class, tax class, roll section or roll year.

Inputs

Filter by rollYear (2021-2025, defaults to the newest), county (one of the 57), ownerName, address, mailingState / mailingCity / mailingZip / mailingCountry, municipality / municipalityCode / swisCode, schoolDistrict, propertyClass / propertyClassDescription, taxClass, rollSection, printKeyCode, and value bounds minMarketValue / maxMarketValue / minAssessment / maxAssessment.

A filter that belongs to another mode is rejected outright rather than silently ignored - so a query you narrowed never comes back unnarrowed.

Example inputs

Absentee owners: Florida residents holding New York property

{ "mode": "rows", "county": "Suffolk", "mailingState": "FL",
"maxResults": 500 }

One parcel's five-year value trail

{ "mode": "parcel", "swisCode": "460600",
"printKeyCode": "136.03-01-001.001" }

A county's five-year market movement

{ "mode": "trend", "county": "Albany" }

Parcels over $5M in Erie County

{ "mode": "rows", "county": "Erie", "minMarketValue": 5000000,
"maxResults": 500 }

How many parcels by property class

{ "mode": "aggregate", "groupBy": "propertyClass",
"county": "Westchester" }

Notes on the data

  • New York City is not in this dataset. The rolls cover every city and town in the state except New York City, which files with the city and publishes separately. The 57 counties here are New York's 62 minus the five that make up the city. A "New York State" figure from this actor is the state outside the five boroughs - the dataset is explicit about the boundary, and so is this description.
  • taxClass is blank on most rows - 76% of the table. The field is not populated on every municipality's roll. It is offered as a filter for the rolls that do carry it; the property class code and description cover classification everywhere.
  • The rolls republish on the annual cycle. The five-year stack grows by one roll year each publication; the 2025 roll is the newest. The 2021 roll is present in full, so the trail is five complete years rather than a rolling window.
  • One row carries a malformed roll year (23 instead of a 4-digit year) - a single record straight from the source, passed through as stored.
  • A parcel is keyed exactly, by swisCode + printKeyCode, never by owner name - so a change of owner between rolls is visible as a change of owner, not as a failed match.
  • ZIP codes are matched by prefix, so both the five-digit and the ZIP+4 forms the source stores come back from one filter.

Output

One JSON record per parcel row, and the same key set whichever mode produced it - so the output loads into a table or a dataframe without a schema union step. Aggregate and trend records carry their group key, count and dimension in the same shape as a parcel record.

Pay-per-event - you are charged per record delivered, never for the query itself. The run stops cleanly if you set a spend limit on your Apify account.

Example output

One parcel - swisCode=010100, printKeyCode=40.00-3-1, one row from the newest roll:

{
"platform": "ny-property-assessments",
"source": "ny-orpts-assessment-rolls",
"mode": "rows",
"recordType": "parcel",
"groupKey": "", "groupCount": "", "groupBy": "",
"rollYear": "2025",
"county": "Albany",
"municipalityCode": "010100",
"municipalityName": "Albany",
"swisCode": "010100",
"schoolDistrictCode": "010100",
"schoolDistrictName": "Albany",
"printKeyCode": "40.00-3-1",
"rollSection": "1",
"taxClass": "N",
"propertyClass": "330",
"propertyClassDescription": "Vacant Land Located in Commercial Areas",
"ownerName": "McHugh Peter",
"primaryOwnerFirstName": "Peter", "primaryOwnerLastName": "McHugh", "primaryOwnerMI": "", "primaryOwnerSuffix": "",
"additionalOwner1First": "Marie-Louise", "additionalOwner1LastName": "McHugh", "additionalOwner1MI": "", "additionalOwner1Suffix": "",
"additionalOwner2First": "", "additionalOwner2LastName": "", "additionalOwner2MI": "", "additionalOwner2Suffix": "",
"additionalOwner3First": "", "additionalOwner3LastName": "", "additionalOwner3MI": "", "additionalOwner3Suffix": "",
"allOwners": "McHugh Peter | McHugh Marie-Louise",
"parcelAddress": "135 Willow St",
"parcelAddressNumber": "135", "parcelAddressStreet": "Willow", "parcelAddressSuff": "St",
"front": "182", "depth": "176", "bank": "",
"gridEast": "617210", "gridNorth": "988020",
"deedBook": "", "deedPage": "",
"mailingAddress": "135 Willow St",
"mailingAddressNumber": "135", "mailingAddressPrefix": "", "mailingAddressStreet": "Willow", "mailingAddressSuff": "St",
"mailingCity": "Guilderland", "mailingState": "NY", "mailingZip": "12084", "mailingCountry": "", "mailingPoBox": "",
"fullMarketValue": "20833",
"assessmentLand": "20000", "assessmentTotal": "20000",
"countyTaxableValue": "20000", "townTaxableValue": "20000", "schoolTaxable": "20000",
"exemptionCodes": "", "exemptionCodeCount": "",
"exemptionCode1": "", "exemptionCode2": "", "exemptionCode3": "", "exemptionCode4": "", "exemptionCode5": "",
"exemptionCode6": "", "exemptionCode7": "", "exemptionCode8": "", "exemptionCode9": "", "exemptionCode10": "",
"exemptionAmountCounty1": "", "exemptionAmountCounty2": "", "exemptionAmountCounty3": "", "exemptionAmountCounty4": "", "exemptionAmountCounty5": "",
"exemptionAmountCounty6": "", "exemptionAmountCounty7": "", "exemptionAmountCounty8": "", "exemptionAmountCounty9": "", "exemptionAmountCounty10": "",
"exemptionAmountCity1": "", "exemptionAmountCity2": "", "exemptionAmountCity3": "", "exemptionAmountCity4": "", "exemptionAmountCity5": "",
"exemptionAmountCity6": "", "exemptionAmountCity7": "", "exemptionAmountCity8": "", "exemptionAmountCity9": "", "exemptionAmountCity10": "",
"exemptionAmountSchool1": "", "exemptionAmountSchool2": "", "exemptionAmountSchool3": "", "exemptionAmountSchool4": "", "exemptionAmountSchool5": "",
"exemptionAmountSchool6": "", "exemptionAmountSchool7": "", "exemptionAmountSchool8": "", "exemptionAmountSchool9": "", "exemptionAmountSchool10": "",
"prevRollYear": "",
"marketValueChange": "", "marketValueChangePct": "",
"assessmentChange": "", "assessmentChangePct": "",
"ownerChanged": "",
"sourceUpdatedAt": "2026-04-24"
}

mode=aggregate, groupBy=propertyClass, rollYear=2025 - one row per property-class description:

One Family Year-Round Residence 2,923,898
Residential Vacant Land 288,562
Two Family Year-Round Residence 217,493
Rural Vacant Lots of 10 Acres or less 110,672