Build Nexus
Build Nexus
The Build Nexus Report

A recurring, data-backed read on New York City construction activity — permits, filings, completions and enforcement — compiled weekly from NYC Open Data. Every figure is snapshotted at publication, so it holds even as the city's own datasets are revised later.

Latest Issue
Build Nexus
Build Nexus
The Build Nexus Report
Week of August 24, 2026 · Published September 2, 2026
Permits issued citywide
3,402
No prior-year period computed for comparison yet.

The city issued 3,402 DOB NOW permits during Week of August 24, 2026. Manhattan led the boroughs with 1,310.

Median time from job filing to first permit was 34 days across the city.

On the enforcement side, ECB penalties assessed on violations issued in this period totalled $2,246,111.

Pipeline

Permits issued by boroughPermits issued by borough05001,0001,5002,000ManhattanManhattan: 1,3101,310BrooklynBrooklyn: 863863QueensQueens: 644644BronxBronx: 352352Staten IslandStaten Island: 233233
Permits issued by boroughPermits issued by boroughManhattan1,310Manhattan: 1,310Brooklyn863Brooklyn: 863Queens644Queens: 644Bronx352Bronx: 352Staten Island233Staten Island: 233

Permits issued by borough came to 3,402 for the period. Manhattan led at 1,310.

Permits issued by boroughThis periodYear agoChange
Manhattan1,310
Brooklyn863
Queens644
Bronx352
Staten Island233
How this is measured — NYC Open Data rbx6-tga4

Measures: approved DOB NOW Build permits issued in the period — work cleared to start, and the headline volume figure of the report. Counts: rows in rbx6-tga4 whose issued_date falls inside the period. Rows with no issued_date are excluded by the filter. One job can draw several permits across trades, so this counts permits, not projects, and will exceed the number of distinct jobs.

New job filings by boroughNew job filings by borough05001,0001,5002,000ManhattanManhattan: 1,1131,113BrooklynBrooklyn: 880880QueensQueens: 589589BronxBronx: 332332Staten IslandStaten Island: 153153
New job filings by boroughNew job filings by boroughManhattan1,113Manhattan: 1,113Brooklyn880Brooklyn: 880Queens589Queens: 589Bronx332Bronx: 332Staten Island153Staten Island: 153

New job filings by borough came to 3,067 for the period. Manhattan led at 1,113.

New job filings by boroughThis periodYear agoChange
Manhattan1,113
Brooklyn880
Queens589
Bronx332
Staten Island153
How this is measured — NYC Open Data w9ak-ipjd

Measures: how many DOB NOW Build job filings were submitted in the period — the pipeline's leading indicator, since filings precede permits which precede work. Counts: every row in w9ak-ipjd whose filing_date falls inside the period, with no filter on filing_status, so withdrawn and rejected filings are included; the figure measures intent to build, not approved work.

Median days from filing to permitMedian days from filing to permit0 days25 days50 days75 days100 daysQueensQueens: 60 days60 daysStaten IslandStaten Island: 51 days51 daysBrooklynBrooklyn: 44 days44 daysManhattanManhattan: 22 days22 daysBronxBronx: 21 days21 days
Median days from filing to permitMedian days from filing to permitQueens60 daysQueens: 60 daysStaten Island51 daysStaten Island: 51 daysBrooklyn44 daysBrooklyn: 44 daysManhattan22 daysManhattan: 22 daysBronx21 daysBronx: 21 days

Median days from filing to permit came to 34 days for the period. Queens led at 60 days.

Median days from filing to permitThis periodYear agoChange
Queens60 days
Staten Island51 days
Brooklyn44 days
Manhattan22 days
Bronx21 days
How this is measured — NYC Open Data w9ak-ipjd

Measures: how long DOB took to turn a filing into a permit — the construction analogue of days-on-market. Counts: w9ak-ipjd rows whose first_permit_date falls inside the period, measured as first_permit_date minus filing_date. The cohort is defined by when the permit was *issued*, not when it was filed, so the figure is complete on publication rather than drifting as slow filings eventually clear. Rows missing either date, or with a negative interval (data-entry errors), are dropped. Because filings still waiting for a permit are excluded by construction, this measures the experience of jobs that got through, and understates the wait for those that never do.

Net dwelling units proposedNet dwelling units proposed05,00010,00015,00020,000ManhattanManhattan: 13,21613,216BrooklynBrooklyn: 10,18110,181BronxBronx: 5,5695,569QueensQueens: 4,8134,813Staten IslandStaten Island: 140140
Net dwelling units proposedNet dwelling units proposedManhattan13,216Manhattan: 13,216Brooklyn10,181Brooklyn: 10,181Bronx5,569Bronx: 5,569Queens4,813Queens: 4,813Staten Island140Staten Island: 140

Net dwelling units proposed came to 33,919 for the period. Manhattan led at 13,216.

Net dwelling units proposedThis periodYear agoChange
Manhattan13,216
Brooklyn10,181
Bronx5,569
Queens4,813
Staten Island140
How this is measured — NYC Open Data w9ak-ipjd

Measures: net residential units a period's filings would add — the supply a residential market report would eventually see as new inventory, observed years earlier at the filing stage. Counts: proposed_dwelling_units minus existing_dwelling_units on each w9ak-ipjd row filed in the period. Both are text columns, so they are cast in Python. Negative results (demolition and conversion out of residential use) are kept and net against additions, so the figure is a net change and can legitimately be negative for a borough.

Dwelling units delivered (CO issued)Dwelling units delivered (CO issued)02,5005,0007,50010,000ManhattanManhattan: 5,3155,315QueensQueens: 4,6124,612BrooklynBrooklyn: 4,3924,392BronxBronx: 2,2812,281Staten IslandStaten Island: 77
Dwelling units delivered (CO issued)Dwelling units delivered (CO issued)Manhattan5,315Manhattan: 5,315Queens4,612Queens: 4,612Brooklyn4,392Brooklyn: 4,392Bronx2,281Bronx: 2,281Staten Island7Staten Island: 7

Dwelling units delivered (CO issued) came to 16,607 for the period. Manhattan led at 5,315.

Dwelling units delivered (CO issued)This periodYear agoChange
Manhattan5,315
Queens4,612
Brooklyn4,392
Bronx2,281
Staten Island7
How this is measured — NYC Open Data pkdm-hqz6

Measures: residential units that received a certificate of occupancy in the period — completions, the far end of the pipeline that filings and permits predict. Counts: number_of_dwelling_units on pkdm-hqz6 rows whose c_of_o_issuance_date falls inside the period. That column is stored as text rather than a date, so the whole dataset is pulled and the date parsed and filtered in Python; a server-side range filter on it would compare strings and return wrong rows. Temporary and amended COs are included alongside final ones, so a building can appear more than once across periods as its TCO is renewed.

Enforcement

DOB violations issued by boroughDOB violations issued by borough012253850BrooklynBrooklyn: 4545QueensQueens: 1717ManhattanManhattan: 1515BronxBronx: 77Staten IslandStaten Island: 66
DOB violations issued by boroughDOB violations issued by boroughBrooklyn45Brooklyn: 45Queens17Queens: 17Manhattan15Manhattan: 15Bronx7Bronx: 7Staten Island6Staten Island: 6

DOB violations issued by borough came to 90 for the period. Brooklyn led at 45.

DOB violations issued by boroughThis periodYear agoChange
Brooklyn45
Queens17
Manhattan15
Bronx7
Staten Island6
How this is measured — NYC Open Data 3h2n-5cm9

Measures: DOB violations written in the period — enforcement activity, which moves independently of construction volume and is the half of the market most owners only see after it lands. Counts: rows in 3h2n-5cm9 whose issue_date falls inside the period. issue_date is compact 'YYYYMMDD' text rather than a date column, so the range filter is a lexicographic string comparison; this also excludes the dataset's malformed values (e.g. 'Y9990120'), since 'Y' sorts above any digit. The dataset carries no BBL or neighbourhood, only borough/block/lot, so borough is the finest geography available here without a PLUTO join.

ECB penalties assessed by boroughECB penalties assessed by borough$0$250K$500K$750K$1.0MBrooklynBrooklyn: $953K$953KQueensQueens: $429K$429KBronxBronx: $420K$420KManhattanManhattan: $392K$392KStaten IslandStaten Island: $53K$53K
ECB penalties assessed by boroughECB penalties assessed by boroughBrooklyn$953KBrooklyn: $953KQueens$429KQueens: $429KBronx$420KBronx: $420KManhattan$392KManhattan: $392KStaten Island$53KStaten Island: $53K

ECB penalties assessed by borough came to $2.2M for the period. Brooklyn led at $953K.

ECB penalties assessed by boroughThis periodYear agoChange
Brooklyn$953K
Queens$429K
Bronx$420K
Manhattan$392K
Staten Island$53K
How this is measured — NYC Open Data 6bgk-3dad

Measures: the dollar cost of enforcement — penalties the Environmental Control Board imposed on violations issued in the period, plus how much of it has actually been paid. Counts: sum of penality_imposed (the dataset's own spelling) over 6bgk-3dad rows whose issue_date falls inside the period, grouped by borough code and severity. Collection rate is amount_paid divided by penality_imposed over the same rows. Penalties are assessed at issue but contested at a hearing months later, so recent periods show a low collection rate purely because the hearings have not happened yet — the rate is only meaningful on periods at least a year old.

Violations per 1,000 buildingsViolations per 1,000 buildings0.00.10.20.40.5ManhattanManhattan: 0.30.3BrooklynBrooklyn: 0.10.1BronxBronx: 0.10.1Staten IslandStaten Island: 0.00.0QueensQueens: 0.00.0
Violations per 1,000 buildingsViolations per 1,000 buildingsManhattan0.3Manhattan: 0.3Brooklyn0.1Brooklyn: 0.1Bronx0.1Bronx: 0.1Staten Island0.0Staten Island: 0.0Queens0.0Queens: 0.0

Figures for this section are shown in the table below.

Violations per 1,000 buildingsThis periodYear agoChange
Manhattan0.3
Brooklyn0.1
Bronx0.1
Staten Island0.0
Queens0.0
How this is measured — NYC Open Data 3h2n-5cm9 ÷ 64uk-42ks

Measures: how heavily each borough is policed relative to how much of it there is to police — the figure that lets boroughs be ranked against each other rather than merely by size. Counts: DOB violations issued in the period (3h2n-5cm9, by borough code) divided by the borough's building count from MapPLUTO (sum of numbldgs in 64uk-42ks, grouped by borocode), times 1,000. Borough is the finest grain available: 3h2n-5cm9 carries no BBL or community district, so a finer slice would require a per-lot PLUTO join across 858k rows. PLUTO updates a few times a year, so the denominator is effectively constant within a report period.

Most-issued DOB violation codesMost-issued DOB violation codes0255075100CC: 5656IMEGNCYIMEGNCY: 2020LANDMKLANDMK: 1212PP: 22
Most-issued DOB violation codesMost-issued DOB violation codesC56C: 56IMEGNCY20IMEGNCY: 20LANDMK12LANDMK: 12P2P: 2

Figures for this section are shown in the table below.

Most-issued DOB violation codesThis periodYear agoChange
C56
IMEGNCY20
LANDMK12
P2
How this is measured — NYC Open Data 3h2n-5cm9 + 6bgk-3dad

Measures: which specific violation codes the city wrote most often in the period — the practical question an owner or GC actually asks, and the table most likely to be quoted. Counts: top violation_type_code values from 3h2n-5cm9 and top infraction_code1 values from 6bgk-3dad, each over rows issued in the period. The two are reported separately rather than merged because they are different code systems — a DOB violation type and an ECB infraction code are not comparable and must not be summed.

Most-issued ECB infraction codesMost-issued ECB infraction codes0255075100263263: 7373102102: 6969151151: 5353202202: 4747251251: 4747101101: 45452P72P7: 4343201201: 4242187187: 32321P71P7: 3030
Most-issued ECB infraction codesMost-issued ECB infraction codes26373263: 7310269102: 6915153151: 5320247202: 4725147251: 4710145101: 452P7432P7: 4320142201: 4218732187: 321P7301P7: 30

Figures for this section are shown in the table below.

Most-issued ECB infraction codesThis periodYear agoChange
26373
10269
15153
20247
25147
10145
2P743
20142
18732
1P730
How this is measured — NYC Open Data 3h2n-5cm9 + 6bgk-3dad

Measures: which specific violation codes the city wrote most often in the period — the practical question an owner or GC actually asks, and the table most likely to be quoted. Counts: top violation_type_code values from 3h2n-5cm9 and top infraction_code1 values from 6bgk-3dad, each over rows issued in the period. The two are reported separately rather than merged because they are different code systems — a DOB violation type and an ECB infraction code are not comparable and must not be summed.

Methodology & Sources

Compiled by Build Nexus from NYC Open Data for August 24, 2026 through August 30, 2026. Figures were captured on September 2, 2026 and are reported as of that date. New York City revises these datasets continuously — records land late and statuses change retroactively — so counts for recent periods rise for roughly three weeks after the period closes. Comparisons are made against the same window one year earlier rather than the previous week, for that reason.

Permalink to this issue

Have a Question About the Market?

Build Nexus tracks NYC construction activity in depth — reach out if you want a figure explained or a custom read on your portfolio.