apartmentsforsalenyc
SourcesAdvertise

Publisher, not broker. A publisher of public records. Not a broker, no commission, no per-transaction fee. Advertising is flat fee and labelled. How this site makes money

Sources

Methodology and sources

Every page on this site exists because a row exists in a City of New York file. This page names those files, states when they were retrieved, explains exactly how they are joined, and lists what was left out.

Last reviewed 4 September 2026

The datasets

All of these are published on the NYC Open Data portal at data.cityofnewyork.us except the building classification list, which the Department of Finance publishes as a page on nyc.gov. None requires a key. All were retrieved on 2026-09-04.

DatasetAgencyIdentifier
Primary Land Use Tax Lot Output (PLUTO)The physical and administrative description of every tax lot: address, building class, residential and total units, storeys, year built, year altered, lot and building area, assessed values, zoning district and coordinates.Department of City Planning64uk-42ks
ACRIS Real Property MasterOne row per recorded document: type, consideration, date on the document and date recorded.Department of Financebnx9-e6tj
ACRIS Real Property LegalsOne row per tax lot named on a document, with the unit designation and property type. This is the file that connects a transaction to a building.Department of Finance8h5j-fqxa
Digital Tax Map: CondominiumsEvery condominium, its base lot and its billing lot. Supplies the condominium name where one is recorded.Department of Financep8u6-a6it
Digital Tax Map: Condominium UnitsEvery condominium unit lot and the condominium it belongs to. Without this file a condominium apartment sale cannot be attached to the building it is in.Department of Financeeguu-7ie3
NYC Citywide Annualized Calendar SalesPriced sales for 2016 to 2025 with the neighbourhood and Neighborhood Tabulation Area of each lot. Used for the neighbourhood a building sits in, and as an independent check on the ACRIS join.Department of Financew2pb-icbu
2020 Neighborhood Tabulation AreasThe 262 official neighbourhood names and codes used for the neighbourhood pages.Department of City Planning9nt8-h7nd
ACRIS Property Type CodesThe agency's own description of each property type code.Department of Finance94g4-w6xz
ACRIS Document Control CodesThe agency's own description of each document type code.Department of Finance7isb-wh4c

What gets a page

A building page exists for every PLUTO tax lot that satisfies both of the following, and for no other lot.

  • Its building classification code begins with R (condominium), C (walk-up apartments) or D (elevator apartments).
  • It carries 20 or more residential units.

The unit threshold is a deliberate cut-off, not a natural boundary, so here is the effect of choosing it. Measured against PLUTO on the retrieval date, R, C and D lots with six or more residential units number 65,752; with ten or more, 40,804; with twenty or more, 27,122; with thirty or more, 19,063; with fifty or more, 11,607. Twenty was chosen because it is the point at which a building reliably has a sale history worth reading rather than one or two transfers, while still covering every large co-operative, condominium and rental in the city.

BoroughBuildingsResidential unitsTransfers attached
Manhattan10,277795,237302,097
The Bronx5,812420,85637,759
Brooklyn6,734496,489100,190
Queens3,996372,071142,328
Staten Island30329,21712,913

Neighbourhood pages exist for each of the 200 Neighborhood Tabulation Areas that contain at least one building on file. ZIP pages exist for each of the 181 ZIP codes recorded on at least one of those lots.

How a sale is attached to a building

The join is the whole substance of this site, so it is set out in full.

  1. A BBL is built for every row in ACRIS Real Property Legals as the borough digit, the block padded to five digits and the lot padded to four.
  2. If that BBL is a PLUTO lot on this site, the document attaches to it directly. This is what happens for co-operatives and rentals, where the whole building is a single lot.
  3. Otherwise the BBL is looked up in the Digital Tax Map condominium unit file. If it is a condominium unit lot, the condominium's billing lot is taken from the condominium file, and the document attaches to that billing lot, which is the row PLUTO carries.
  4. The document's type, date and consideration are read from ACRIS Real Property Master.
  5. Where one document names several lots in the same building it is counted once, and the row is marked with the number of lots on the document.

The join is precomputed as a lookup keyed by BBL and built once, not evaluated per page. This is not a stylistic preference: filtering a transfer list of 595,287 rows once per building page across 27,122 pages would be tens of billions of comparisons in a single build.

What is excluded and why

Documents recording no consideration
Excluded entirely. A transfer filed at zero is normally a trust, estate, entity or correction filing. Including them would fill the hero table of most buildings with rows that say nothing about the market.
Documents before 2003
Excluded. Earlier ACRIS coverage is uneven and mixing it with the modern record would imply a completeness the file does not have.
Instruments that are not transfers
Mortgages, satisfactions, assignments, agreements and the rest of the ACRIS document catalogue are not carried at all. Only DEED, DEEDO, RPTT&RET, RPTT are kept.
Accessory property types
Parking spaces, storage rooms and maid's rooms are dropped. They are real transfers but their prices would drag every median on the site downwards without describing a home. The property types kept are SC, SP, MC, MP, AP, BS, CA, SA, SM.
Owner names
PLUTO's owner name field is not downloaded, so it cannot appear here even by accident. See privacy for the reasoning.
Buildings under 20 residential units
Excluded by the threshold above, including one and two family houses, small walk-ups and the great majority of small condominiums.
Anything that is not a City record
No estimates, no models, no listing data, no photographs, no third-party valuations, no school or crime data.

A hard rule

Where a value cannot be traced to a named dataset it is left blank. A missing field on this site is a deliberate outcome, not an oversight.

Checks run against the result

A pipeline that reports success is not a pipeline that is correct, so the compiled data is checked against material that did not come from the same join.

  • An independent City file. The Department of Finance publishes its own annualized sales file for 2016 to 2025, produced by a different process from the ACRIS extract. Every building page prints the number of priced sales that file lists for the lot, next to the number this site attached, so a reader can see the two counts disagree if they do.
  • Named buildings with a knowable answer. The condominium crosswalk was verified against a building whose unit count is independently recorded in PLUTO: the crosswalk returns exactly as many unit lots as PLUTO records total units.
  • Counts at every stage. Rows read, documents kept, rows attached and buildings with at least one transfer are all recorded and published on this page.
Transfers attached by this site against the Department of Finance annualized sales file, 2016 to 2025, the window both cover.
BoroughAttached hereListed by FinanceRatio
Manhattan120,859117,5341.03
The Bronx15,44016,1520.96
Brooklyn44,09343,9861.00
Queens61,76360,1581.03
Staten Island6,1906,3830.97

The two files are not expected to agree exactly. The Department's file is a curated sales extract and drops transfers it does not treat as sales; this site keeps every recorded transfer with a consideration above zero, including transfers between entities. A ratio close to one is what a correct join looks like. A borough far from one would mean the join had failed there, which is the single failure this check exists to catch.

StageRows
ACRIS legal rows read4,787,961
Priced transfer documents kept1,443,833
Transfers attached to a building595,287
Buildings with at least one transfer15,214
Buildings with a neighbourhood26,384
Department of Finance sales rows used for the check845,607

Known limits

  • The consideration is what was filed. It is not verified, not adjusted and not necessarily the price a buyer would recognise.
  • Unit designations are verbatim. ACRIS carries whatever the filer typed, so the same apartment can appear as 6C, 6-C and 06C in different years. They are not normalised, because normalising would mean guessing.
  • A building page prints its 40 most recent transfers. The yearly summary counts all of them, so totals and medians are computed over the complete record.
  • Neighbourhood is assigned, not surveyed. A lot takes the Neighborhood Tabulation Area recorded against it in the Department of Finance sales file; where that file has never recorded a sale on the lot, the commonest area on its tax block is used. A tax block is small, but this is an assignment rule and it is stated rather than hidden.
  • PLUTO is a snapshot. Assessed values, unit counts and classifications change between releases. The retrieval date is printed on every page for that reason.
  • Year built can be wrong. Very early and obviously rounded dates are common in the source. They are printed as filed.

Refresh and reproducibility

The raw responses from every source are mirrored to disk before anything is derived from them, and the compiled files the site reads are committed alongside the code. A rebuild therefore produces the same pages from the same bytes without going back to the City's servers, and a refresh is a deliberate act with a new retrieval date rather than a silent drift.

Found something wrong? The corrections page explains what can be fixed here and what has to be fixed at the agency.