NeighborsPaid

Methodology

Every number on this site traces back to a building permit issued by a city government. Here is exactly how we get from a raw filing to a published median.

1. Where the data comes from

We pull issued building permits directly from each city's official open-data portal. No intermediaries, no scraped aggregators.

2. How work is classified

Permits carry a free-text description written by the applicant — for example "Interior remodel to increase the size of the living room, kitchen and primary suite." We match that text against a keyword pattern for each project type. A permit that matches no pattern is discarded rather than guessed at.

3. Which values are excluded

Raw permit data contains obvious data-entry errors — we have seen a backyard pergola filed at $830,000,000. Each project type has a plausible floor and ceiling, and values outside it are dropped. We publish a distribution only when a city has at least 12 qualifying permits for that project type, and we report the median rather than the mean so a handful of very large jobs cannot distort the typical figure.

4. What a declared value is — and is not

The figure on a permit is the value the applicant declares to the city, usually for fee assessment. It is a real number attached to a real project at a real address, which is what makes it far more grounded than a survey estimate. But it has limits you should know:

  • It can sit below the final invoice, since change orders and finish upgrades often land after filing.
  • It typically covers construction work, not always appliances, furniture or design fees.
  • Unpermitted work never appears. Small jobs done without a permit are invisible here, which pushes the low end of the distribution up.

Treat these numbers as a well-grounded floor and a reliable guide to relative cost — between cities, between project types, and across the range from a modest job to an expensive one.

5. How often it updates

The pipeline re-reads every city's portal and rebuilds the site monthly. Each page shows the date of the data it was built from. This page was built 2026-09-04.