NYC Building Report — Owner, Value and Every Sale
Pricing
from $2.00 / 1,000 results
NYC Building Report — Owner, Value and Every Sale
One row per New York City tax lot: owner, year built, zoning, floor area, current market and assessed value, and every recorded sale since 2016 with the price change. BBL or street address in, one joined property record out. Free public NYC data, no key.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Alauddin burki
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Enter a BBL or a street address and get one row per New York City tax lot: who owns it, when it was built, what it is zoned for, how much floor area it has, what the city says it is worth, and every recorded sale since 2016 with the price change between the last two.
This is a join, not a scrape of one page. The three public datasets below each answer a third of the question, and none of them carries an identifier the other two agree on except the BBL:
| Source | What it adds |
|---|---|
PLUTO (64uk-42ks) | lot, address, owner, year built, building class, zoning, lot and building area |
Property Valuation & Assessment (8y4t-faws) | current roll market and assessed values, tax class, stories, gross floor area |
Citywide Annualized Calendar Sales (w2pb-icbu) | every recorded sale since 2016, with date and price |
All three are free New York City Open Data endpoints. No key, no login, no proxy.
What you get
- Property view — address, borough, owner, year built, floor area, market value, assessed value, latest arm's-length sale.
- Sales view — latest and prior arm's-length sale, the percentage change, and how many recorded sales the lot has.
- Values view — market and assessed land and total values beside the tax class.
Every row carries the same 45 fields and is deterministic: the same lot on the same day produces the same row.
{"bbl": "1008620001","address": "319 5 AVENUE","ownerName": "FORMAN FIFTH,","yearBuilt": 1917,"zoning": "C5-2","buildingAreaSqFt": 27157,"marketValueTotal": 11363000,"assessedValueTotal": 5113350,"taxClass": "4","saleCount": 0,"notes": "no_recorded_sales_since_2016"}
Inputs
| Field | What it does |
|---|---|
| BBLs | Ten-digit borough-block-lot numbers, e.g. 1008620001. The reliable way in. |
| Street addresses | Matched against the one address PLUTO records per lot, optionally narrowed by borough. |
| Borough | Narrows address matching to MN, BX, BK, QN or SI. Ignored for BBL lookups. |
| Maximum properties | Hard row cap. Each property costs three requests. |
| Time budget | Stops cleanly and reports what was collected. |
Two traps, handled
One sale is stored once per building class. A single deed can appear as two, three or a dozen rows with the same date. Counting rows would report a sale history several times too long, so rows are collapsed by date and the highest recorded price for that date is kept.
A zero price is not a free building. Transfers between related parties and estate transfers are
recorded at 0. Those dates are counted separately (zeroPriceSaleCount), excluded from the
arm's-length price and excluded from the percentage change. A $1 transfer is flagged in
lowPriceSaleCount.
A condo lot sells units, not a building. 1600 Broadway carries 112 recorded sales on one BBL, all
of them apartments. A building-level price change from those numbers would be nonsense, so for those
lots the change and price-per-square-foot fields are left null and notes says
unit_sales_not_building_sales.
Limitations
- One address per lot. PLUTO records a single primary address. A building known by another street
number will not be found by address — the Empire State Building's lot reads 319 5 AVENUE. When a
match is found under a different address than the one requested,
notessaysaddress_differs_from_requestedandmatchedAddressshows what was actually used. BBL lookups do not have this problem. - Sales start in 2016. An older sale is simply absent, not zero.
- Values are the city's, not an appraisal.
marketValueTotalis the Department of Finance's estimate. Exempt and special lots can be recorded as zero;notesmarks that withvaluation_recorded_as_zero. - No sale history for some lots. The Empire State Building's lot is the example above: no transfer
since 2016, so every sale field is
nulland the note says so. - New York City only. This is not a national property database.
Why this is different
Most free property lookups show one dataset at a time — PLUTO or sales or assessed value — and
leave the join to the buyer, who usually does it by hand in a spreadsheet and double-counts the
duplicate sale rows. This returns the joined answer as one flat row, states what is missing instead of
filling it with a zero, and gives the reason in notes. There is no login wall, no key and no
per-lookup web form.
FAQ
Do I need an API key? No. All three sources are public New York City Open Data endpoints.
What is a BBL? Borough-block-lot: one digit for the borough (1 Manhattan, 2 Bronx, 3 Brooklyn, 4 Queens, 5 Staten Island), five digits of block and four digits of lot.
Why is the address different from the one I typed? PLUTO stores one address per lot. The row shows the one it matched and flags the difference.
Why is the latest sale price zero? That transfer was recorded without a price. Use
latestArmsLengthPrice for the last transfer with a real price.
Why is the change percentage null? Fewer than two arm's-length sales, or the lot sells units rather than a building.
How current is the data? The sales file covers 2016-01-01 to 2025-12-31 as of 2026-10-25; PLUTO
and the valuation roll are refreshed by the city, and scrapedAt records when this run read them.
Pricing
Pay per result: $0.002 per property row. Each stored dataset row is billed, including any diagnostic row returned instead of results.
An Actor-start event is also charged at $0.0001 per GB of allocated memory (minimum one event), even if no rows are returned. At 1 GB or less, 1,000 result rows cost $2.0001 before any applicable Store discount.
Data source
New York City Open Data: PLUTO, the Property Valuation and Assessment Data (Condensed) roll and the NYC Citywide Annualized Calendar Sales Update. Public data published by the City of New York.