NYC / Find construction jobs early

How to find NYC construction jobs before your competition

Every construction job in New York City starts with a piece of paper — a filing with the Department of Buildings. By the time a GC is picked and ground is broken, that filing has already been public record for weeks. The question for any contractor trying to grow isn't whether the data exists. It's when you see it.

The two moments that matter

NYC's Department of Buildings (DOB) tracks two separate events on every construction job:

  1. Job filing. The owner or developer submits plans. The project is real — there's a designer, a scope, a budget — but no permit has issued yet. A general contractor may not even be chosen.
  2. Permit issuance. DOB approves the filing (often after a plan exam and objections). Work can begin. At this point the GC is usually already on the job.

The window between these two events averages two to six weeks for most alteration and new-building jobs, longer for anything that touches landmarks or zoning. That window is the opportunity. If you find the filing, you have a chance to reach the owner before the bid list is set. If you wait for the permit, you're selling to someone who already has a GC.

Where the data lives

DOB publishes filings through DOB NOW and the NYC Open Data portal. The core feed for new filings is the Job Application Filings dataset, updated daily. Permit issuance lives in a second feed. Both are free to query. Neither is easy to work with — the schemas are wide, the field names are cryptic, and the data needs joining to be useful.

If you're comfortable with SQL and the Socrata API, you can build your own pipeline. Most GCs don't have a data engineer, so the practical options are:

What to look for in a filing

Not every filing is a real job. Most sidewalk-shed renewals, single-fixture plumbing updates, and after-hours variance requests are noise. The filings that matter share a few characteristics:

What to do when you find one

A filing gives you the owner's name, the project address, the estimated cost, the project type, and the architect of record. That's enough to reach out cleanly:

"I saw your filing for [project address] last week. We've completed three similar alterations within five blocks in the past year. If you're still building out your bid list, I'd love a quick call."

That message works because it's specific, timely, and not generic. The worst thing you can do with this data is send the same templated email to every owner in a dataset. Most GCs who try to scale permit-lead outreach kill their own response rate inside 30 days by doing exactly that.

The grading problem

NYC generates roughly 200,000 job filings a year across all five boroughs. Even after you filter out the noise, you're left with 300–500 real jobs a week. No GC — even a large one — can follow up on all of them. You need a ranking system that reflects which filings are actually worth your time.

That's the problem PermitPipeline solves. We score every new filing A+/A/B based on project value, project type, filing status, and owner profile, then email the top-graded leads to GCs every business day. You get 20–50 filings a day instead of 400, and the ones you get are the ones most likely to convert. See the feed and try a free sample →

Want to see what today's NYC filings look like?

We'll send you a free sample digest — yesterday's top 20 A+ leads, graded and formatted for a GC.

Get the sample →