Choosing which records to open is the part of this no automated check can police: a source dropped quietly leaves no trace. So the discards are listed here with the reason each one failed, and the list grows as the section does.
NYSERDA Residential Existing Homes measure sets that are still moving (data.ny.gov assk-vu73 and 4a2x-yp8g)
A correction to the NYSERDA entry below, which said the existing-homes data stops in 2014. Two of the sets run much later: assk-vu73 carries 71,381 projects completed through 2023-06-29 and 4a2x-yp8g carries 51,934 through 2023-06-30, both with total_project_cost, size_of_home and year_home_built. They still cannot check a trade band. Grouping 4a2x-yp8g by measure_type returns Building Shell 51,406, Heating and Cooling 523 and Water Heater 5, and the cost column is the whole project rather than the measure. EmPower is also a fully subsidised low-income program, so the price is a contracted rate.
Oregon Department of Energy — Community Heat Pump Deployment Program (Socrata tkxi-2tnt)
The owner-occupied sibling of the rental program we did publish, and it is aggregated out of existence. One row per regional administrator, eleven regions plus a tribe, carrying total program funds paid and a count of heat pumps installed. Dividing one by the other gives an average subsidy per machine, not a price: the columns record what the state paid, and the total cost of the job appears nowhere.
Delaware Division of Climate, Coastal & Energy — Green Energy Program Grants (Socrata nsgd-n2gb, Public Domain)
It has the denominator and the wrong machine. Among 6,114 grants, 5,970 residential, the file publishes total_system_costs beside geothermal_capacity_tons — a cost and a tonnage on the same row, which is exactly the pairing our HVAC records keep failing to find. Only 281 rows carry a positive tonnage, and a ground-source system is priced by its loop field: our data prices air-source equipment and has no band a dollars-per-ton geothermal figure could be laid against.
City of Mesa, Arizona — Average Cost to Install Residential Gas Service Line (citydata.mesaaz.gov jqv2-6spw)
A published average, which is the failure mode the Louisiana audit taught us to check first. The file is one row per month carrying labor, material and a cost-per-service already divided out — $611.98 in July 2024, $2,347.22 in October, $0 in a month with 250 services installed — with no per-job rows behind it. It is also the utility's own cost to run a new service into a new subdivision, not the customer-side gas line upsize our water-heater data prices.
Homeowner-posted quotes on Reddit r/HomeImprovement and similar community threads
Three separate problems, any one of which is disqualifying. The posts are their authors' copyrighted work, not public records. They routinely carry the city, the house size, and the contractor's name together, which is more identifying detail than we will republish about a private household. And reproducing other people's posts on an ad-supported site is the exact shape of what search engines call scraped content.
Austin, TX building permit open data (data.austintexas.gov, 3syk-w9eu)
The declared-value field is not usable. A single-family remodel permit issued in June 2026 carries a total job valuation of $1. Rows also arrive with the street address, six-decimal coordinates, and the contractor's phone number attached, so nothing could be quoted at the row level anyway.
Insurance Information Institute — average wind and hail claim payout
The figure is a useful outside reference point, but the page carries an explicit NAIC restriction on further reprint or distribution and a Verisk copyright on the underlying tables. A single sentence with attribution is defensible; rebuilding their table as our own chart is not, so this stays a footnote elsewhere rather than a record of its own.
Cambridge, MA mechanical permits (Socrata 4rb4-q8tj, PDDL 1.0)
The best equipment inventory we found and no price attached to it. Each of the 4,599 filings counts furnaces, condensers, heat pumps, ductless splits, boilers and fan coils in separate columns — a denominator most portals never publish — but the only dollar fields are a reinspection fee and a triple fee. Tonnage is recorded only for units above 25 tons, which is commercial equipment.
East Baton Rouge Parish mechanical permits (Socrata 7fq7-8j7r, Public Domain)
It states the tonnage and withholds the price. Of 1,622 residential mechanical filings, 835 describe the job in tons — CHANGE OUT, 0-4 TONS is the commonest description in the file — and only 97, six percent, carry a positive project value. Just 45 filings have both. That is the same 94%-blank column that ended our San Francisco re-roof record, and a Gulf South counterweight is exactly what we wanted it for.
City of Chicago building permits — mechanical repair/replacement subset (Socrata ydr8-5enu)
The best-formed description of the lot and almost none of it is residential. Chicago's express permits template the equipment into the text — REPAIR/REPLACEMENT AFFECTING 1 SYSTEMS : 1 CENTRAL FURNACE(make, model, location) — with a reported cost beside it, but only 108 filings between 2023 and July 2026 name a central furnace at all, against 450 naming rooftop packaged units and 92 naming chillers. It is a commercial mechanical file with a residential fringe.
Providence, RI Department of Inspections and Standards permits (Socrata ufmm-rbej, PDDL 1.0)
Two disqualifications, either one enough. The file stopped updating in January 2020, so its prices are six years old against a 2026 band. And the description field is a run-on containing the street address, the applicant's name and the contractor's telephone number before it gets to the work — we do not republish statistics derived from a field we would have to redact.
U.S. federal contract spending (USASpending API, NAICS 238320 Painting and Wall Covering Contractors)
The API works and the data is federal, free and unencumbered. What it is not is house painting. Sorted by amount, the top of NAICS 238320 since 2024 is a $19.7m railroad-bridge repaint at the Cape Cod Canal, penstock recoating at Glen Canyon and Hoover Dam, and protective coatings on military facilities — industrial steel, not drywall. Filtering down to $1,000-$40,000 does surface residential-shaped work ('make ready painting', 'prepare and paint walls, ceilings, doors and trim' at $39,400), but the descriptions carry no area, no room count and no coats, so no unit price can be derived from any of them.
American Housing Survey 2023 National Public Use File (U.S. Census Bureau)
The obvious idea, and it is simply not in there. AHS records what households spent on home improvement jobs and also records the home's size, which would have given both a price and a denominator from a nationally representative sample. But its JOBTYPE variable has 37 categories — roofing, siding, water heater, wiring, plumbing fixtures, insulation — and none of them is painting. Grepping the 2023 Value Labels package for 'paint' returns only PAINTPEEL, a housing-adequacy question about peeling paint. Repainting is treated as maintenance, not improvement, so the survey never asks its cost.
City of Topeka, Kansas — bid tabulation, Bid No. 58, Clean, Repair, Paint Montara South Water Tower
A clean, current, machine-readable public painting tabulation: four bidders between $685,800 and $897,235 against a $950,000 engineer's estimate. It is also a sandblasted, fully contained, industrial coating job on a municipal water tower, priced as a single lump-sum line with quantity 1.00 EACH. No area, no comparable surface, and nothing a household will ever buy.
Worcester Housing Authority IFB #26-13, Vacant Unit Task Force Painting (bid opened 2026-04-23)
Closer to our calculator than anything else we found — the bid price form prices by apartment type with the floor area printed on the line (one bedroom 400 sq ft, two bedroom 850, up to five bedroom 1,300), so the denominator we could not get in Pittsburgh is right there. Two things stopped it. The Authority supplies all paint and stain, and the wall specification is a single coat rather than two, so the priced job is not the job our band prices. And no tabulation of the bids received has been published: worcesterha.org returned HTTP 403 to us on 2026-08-11, and the prices therefore do not exist in public at all.
City of Seattle trade permits (cos-data.seattle.gov, c87v-5hwh, Public Domain)
Seattle looked like the obvious place to start, because Seattle Public Utilities issues a side-sewer permit by name and our own permit band cites its fee. The trade permit file does not contain them. Grouping the file by permit type returns eight types — furnaces, refrigeration, mechanical, conveyance, boilers, signs, fire sprinklers and billboards — and no plumbing or side-sewer type at all.
City of Chicago building permits, sewer subset (data.cityofchicago.org, ydr8-5enu)
1,138 filings mention a sewer and exactly 2 mention a lateral. Chicago's building permit file records work on the building; the yard run to the city main is a separate plumbing authorisation that is not in this dataset. What the sewer-mentioning filings do contain is boilerplate — pipe 'within 5 ft of the foundation' — which any length-matching regular expression collects by the hundred.
City of Chicago building permits, re-roof subset (data.cityofchicago.org, ydr8-5enu) joined to the Cook County Assessor's single and multi-family improvement characteristics (datacatalog.cookcountyil.gov, x54s-btds)
Both halves of the join exist and the thing being joined does not. The assessor publishes char_bldg_sf, char_type_resd and even char_roof_cnst against a PIN, and the permit file carries pin_list, so this should have been the cleanest key of the three cities we tried. Grouping the permit file by type for descriptions matching a re-roof phrase since 2023-01-01 returns 244 filings in total - 201 express permits, 30 easy permits, 12 renovations and one sign - against 5,362 in Boston and 13,015 in San Francisco over the same window. A Chicago re-roof evidently authorises through some channel that does not land in this dataset, and 244 citywide filings cannot survive a single-family filter.
City of Los Angeles building and safety permits (data.lacity.org, pi9x-tg5x) joined to a county parcel file on the assessor parcel number
The join is available and would not fix what is wrong. Of 48,305 re-roof filings issued since 2023-01-01, 48,300 carry an APN, so a county parcel file would supply the denominator our first Los Angeles record said the file lacked. The numerator is the problem that record already found, and it has not changed: 46,926 filings declare a positive valuation, 37.6% of them are exact multiples of $1,000, and the six commonest declared values are $6,000, $5,000, $4,000, $4,800, $3,000 and $3,600 - figures at or below the material cost of the roofs a denominator would be pricing. Dividing a rate-table output by an area returns the rate table.
Cambridge, MA building permits: addition/alteration (Socrata qu2z-8suj) joined to the Cambridge Property Database
The city where this join was invented, and its roofing collapses. The alteration file is unusually well formed - separate building, electrical, plumbing, gas and HVAC cost columns, an mbl to join on, even a conditioned floor area - but roofing is barely in it. Of 14,172 filings, 1,341 mention a roof anywhere in the description with a positive total cost, and only 64 name a strip or a re-roof. Cambridge classes 3,745 of its 30,156 parcels as single-family, so those 64 would not survive the parcel filter, let alone a scope filter. A join that ends in single digits is not a check, and saying so is cheaper than publishing one.
City of Jefferson, Missouri — bid tabulation, IFB Hot Water Heaters (opened 2015-11-17)
A clean four-bidder tabulation for water heaters and the wrong side of the transaction. The bidders are plumbing supply houses and almost every line is headed UNIT ONLY BID — three of the four entered NO BID against 'unit with installation', and the fourth priced the labour as an $80.00 hourly rate rather than a job. The equipment is commercial too: an 85-gallon 400,000 BTU gas heater and an 80-gallon heavy-duty electric. A material price for a boiler-room appliance cannot check an installed residential band.
Chicago Housing Authority — bid tabulations and proposal registers
A real index of downloadable tabulations, and the wrong scale. What it lists is whole-building work at a large public housing authority — apartment renovations, HVAC system replacements, elevator and generator maintenance, janitorial, security, electricity supply — rather than the single-trade, single-house scopes our calculators price. We did not download individual files, so this is a rejection on the index alone; if we return to it, it will be for a multi-unit comparison rather than a residential one.
East Baton Rouge Parish building permits — water heater subset (Socrata 7fq7-8j7r, Public Domain)
The fee column goes dark and nobody says so. 2,381 residential plumbing permits describe a water heater, and permitfee is populated on 100% of them through 2021 — averaging $25 to $28, right on the low of our own band — then on 1 of 93 filings in 2022 and on none of the 213 since. The portal still advertises a daily refresh. A column that stops being filled looks identical to a fee that was waived, which is also why the parish's 1,464 residential re-roof permits all reading $0.00 tells us nothing: that permit type only appears from 2025-07-30, after the column went quiet.
City of Norfolk residential mechanical and re-roof permits (Socrata fahm-yuh4)
The same file our electrical record uses, and two more trades in it that we cannot check. Norfolk types 7,202 one- and two-family mechanical replacements at a mean fee of $73.92 and 3,140 filings under Reroof/Solar Panels at $171.47 — both exactly the kind of number this angle was looking for. Our HVAC data files publish no permit band at all (the AC calculator names $50-$300 in prose and the JSON carries no such field), and our roofing data folds the permit into the installed price per square with no separate line. There is nothing on our side to hold the number against, and inventing a band so that a record could check it is the wrong way round.
Cincinnati building permits (Socrata uhjb-xac9, Public Domain)
It has the fee and will not say what the fee was for. The file carries a numeric fee column and 24,792 filings under permit type CBPCMCHR at a mean of $108.04, but the type codes are undocumented in the dataset and its metadata, and the description column is a category rather than a sentence: all 32,914 CBPCMCHR filings read simply HVAC. Our sewer record already recorded that limit; what is new here is that the fee column exists and still cannot be used, because a cohort whose definition is a guess at an acronym is not a cohort.
City of Mesa, AZ building permits (Socrata dzpk-hxfb, See Terms of Use)
The fee column is populated for some categories and identically zero for others, and nothing in the file distinguishes free from unrecorded. Grouped by type of work, 18,461 filings labelled 'Res (SFR) -- Single Family (Detached)' average $0.00 while 12,575 labelled 'Single Family (Detached)' average $8,180.25; the same split runs through the electrical, plumbing and mechanical categories. The file evidently carries two eras of labelling and the fee survived only one of them.
City of Richmond, VA Permit TRAK (transparentrichmond.org, tkbh-qmdj)
The best-shaped permit file we found and three years dead. It carries description, type, subtype, fees_charged, fees_paid and jobvalue together — everything this angle needs in one row — and its Socrata row timestamp reads 2023-05-18T15:42:36Z. Comparing 2023 fees to a 2026 band is the objection we raised against NYSERDA and Providence, and it applies here too.
City and County of Honolulu building permits (Socrata 4vab-c87q)
It publishes the fee collected on every filing and never says what the work was. There is a bpfeescollected column and a bpfeecalculation column, and the scope is recorded as yes/no flags — electricalwork, plumbingwork, solar, repair, alteration — with no description field anywhere in 80 columns. A flag saying electrical work happened cannot separate a service upgrade from a light fixture. The file also stops at 2025-06-30.