How to Use NYC PLUTO Data for Site Analysis (Without GIS)

2026-08-27 · sitedia guide

If you need a building-age map or a land-use map of a New York block, the data already exists and it is free. MapPLUTO — the Department of City Planning's tax-lot database — carries the year built and the land use of every lot in the five boroughs. As of this writing it holds 856,687 lots, of which 817,713 have a year built.

Most guides to PLUTO assume you will download a 2 GB shapefile and open it in ArcGIS or QGIS. You do not have to. The city publishes the same data as a query API, and you can get exactly the block you need from a browser address bar, a spreadsheet, or ten lines of Python.

This page is written from the inside: we use MapPLUTO in production to draw the Building age and Building use panels on sitedia, and the traps below are ones we actually hit — each cost us real coverage before we found it.

The two fields that matter

PLUTO has more than eighty columns. For site analysis you almost always want just two.

FieldWhat it is
YearBuilt Year the original structure was completed. 0 means unknown — 38,512 lots are like this, mostly vacant land and unimproved parcels. There is also YearAlter1 / YearAlter2 for major alterations, which is what you want if you are mapping renovation rather than construction.
LandUse A two-character code, 0111. This is the field behind every land-use map of New York you have ever seen.

The land-use codes, with how many lots carry each one citywide:

CodeMeaningLots
01One & Two Family Buildings566,772
02Multi-Family Walk-Up131,261
03Multi-Family Elevator13,105
04Mixed Residential & Commercial56,193
05Commercial & Office21,104
06Industrial & Manufacturing9,293
07Transportation & Utility6,042
08Public Facilities & Institutions12,023
09Open Space & Outdoor Recreation4,730
10Parking Facilities9,112
11Vacant Land24,240

Notice how lopsided that is. Two codes cover 81% of the city's lots. If you colour a map by all eleven categories you will get a drawing that is 80% one hue — which is why most readable New York land-use maps group them into four or five buckets first.

Getting the data without GIS software

MapPLUTO is published as an ArcGIS feature service. A feature service answers plain HTTP requests, so the address bar is a perfectly good client.

The endpoint is:

https://services5.arcgis.com/GfwWNkhOj9bNBqoJ/arcgis/rest/services/MAPPLUTO/FeatureServer/0/query

Ask it for the lots inside a bounding box, and only for the two fields you care about:

?where=1=1
&geometry=-73.99,40.750,-73.975,40.760
&geometryType=esriGeometryEnvelope
&inSR=4326
&spatialRel=esriSpatialRelIntersects
&outFields=YearBuilt,LandUse
&returnGeometry=true
&outSR=4326
&f=geojson

That returns GeoJSON — lot polygons with a year and a use code attached, in plain latitude/longitude. Every drawing tool that reads GeoJSON will take it directly, and so will Python, R or a spreadsheet with a JSON importer.

Two immediately useful variants:

Four traps that silently cost you data

None of these throw an error. They just quietly give you less than you asked for, which is worse.

1. You are only getting the first 2,000 lots

The service caps a response at 2,000 records. It tells you when it has more — but for this service the flag is not at the top level of the response. It is nested:

{ "type": "FeatureCollection",
  "properties": { "exceededTransferLimit": true },
  "features": [ … 2000 items … ] }

Code that checks response.exceededTransferLimit sees undefined, concludes there is nothing more, and stops. We lost whole neighbourhoods this way before noticing — dense areas in the Bronx and Staten Island were being truncated at exactly 2,000 lots. Page with resultOffset until the nested flag goes away, and add orderByFields=OBJECTID so the pages are stable.

2. Simplifying the geometry throws away narrow lots

maxAllowableOffset shrinks the response by generalising polygon outlines, and it is tempting because parcel geometry is heavy. But New York row lots are about 6 m wide. Generalise at 9 m and the outline distorts enough that points which should sit inside the lot fall outside it.

We measured this on a comparable downtown grid: matching went from 61% to 77%, and "not inside any lot" fell from 23% to 4%, purely by tightening the tolerance from about 9 m to about 2 m. At 2 m the result was identical to the unsimplified geometry while carrying roughly half the vertices. If you simplify at all, stay well under the width of the narrowest lot you care about.

3. One lot is not one building

PLUTO is a record of tax lots, not buildings. 219,458 lots carry more than one building (NumBldgs > 1) — a house plus a garage, a campus, a housing development. If you attach the lot's year to one building and stop, everything else on that lot stays blank. Attach it to every building whose footprint centre falls inside the lot polygon instead.

The reverse also bites: a single building can straddle several lots, and condominium buildings often carry one lot per unit.

4. PLUTO stops at the city line

It covers the five boroughs and nothing else. Draw a bounding box around Lower Manhattan and you will pull in Jersey City and Hoboken footprints with no PLUTO record at all — they are not missing data, they are a different jurisdiction. New Jersey and Nassau County publish their own parcel data, in their own schemas. Label those buildings "unknown" rather than letting them read as a gap in New York's records.

What good coverage actually looks like

Once the four traps are handled, PLUTO is one of the best parcel datasets in the United States. Measured on our own database inside a half-mile circle on Midtown Manhattan, 98.3% of buildings carry a year built and 99.1% carry a land use. Across the five boroughs the figure stays high — DUMBO 93.6%, Long Island City 96.8%, the Bronx 95.8%, Staten Island 96.4%.

For comparison, the same pipeline against other cities' assessor data lands at 89% in Boston, 88% in Philadelphia, 77% in Washington DC and 33% in Chicago — the last because Cook County publishes parcels as points rather than polygons. New York is unusually generous with this data. Use it.

The shortcut

If what you want is the drawing rather than the dataset, sitedia does exactly this pipeline for you: pick a New York address, and it returns building age and land-use diagrams — plus footprints, heights, green space, transit, terrain and an aerial — as SVG, PNG, DXF or 3D. The PLUTO join described above is what runs underneath, traps and all.

The full list of datasets and their measured coverage is on the data sources page.

← Back to sitedia · Data sources · About · Terms