Every source RoofShopper draws from, its tier, and when it was last refreshed.
City of Tampa Construction Services (Accela Citizen Access)
Tier 1 · GOVERNMENT RECORD · City of Tampa, FL
Last refreshed 2026-07-26
Public government permit records, no authentication required. Eighth Accela Citizen Access tenant — same vendor family as Pasco, Lee, Pinellas, Charlotte, Hillsborough, Osceola, and Polk — and the first City (rather than county) registration on this vendor. Real, closed-vocabulary "Residential Roof Trade Permit"/"Commercial Roof Trade Permit" categories — the exact same strings already mapped for Hillsborough County, reused with zero new classifier code. Confirmed live to expose Hillsborough's own real gap: unincorporated-Hillsborough's resolver already excludes "TAMPA" by mailing-city name, so this registration is purely additive, no overlap. Required two real, evidence-based fixes to the shared accelaPermits.ts this sprint, both backward-compatible with every other tenant: (1) this tenant's own siteAddress field renders with no comma at all ("204 E Cluster Ave T 33604", and inconsistently, on older records, "204 E CLUSTER Ave TAMPA FL 33604" — full city/state, still no comma) — extractStreetPortion() now anchors on the last-known street-type vocabulary word instead of assuming a fixed comma or trailing-token count; (2) this tenant's own server-side street-name search rejects a leading directional prefix ("E Cluster" returns zero rows; "Cluster" alone returns the real row) — the same failure mode already disclosed for Osceola, but affecting roughly 90% of Tampa's own real addresses rather than a narrow edge case, given Tampa's directional-quadrant street-naming convention — fetchPermits() now retries once with the leading direction stripped when the first search finds no match, verified safe because matchesAddress() itself still compares the full, direction-included address, so this can only widen which rows are fetched from the server, never which ones are accepted as a match. See docs/providers/tampa-preflight.md.
City of North Port Building Division (Accela Citizen Access)
Tier 1 · GOVERNMENT RECORD · City of North Port, FL
Last refreshed 2026-07-27
Public government permit records, no authentication required. Ninth Accela Citizen Access tenant — same vendor family as every prior tenant, module=Building same as Pasco/Charlotte/Hillsborough/Osceola, and the second City (after Tampa) rather than County registration. Real, closed-vocabulary "Residential Roof/Reroof"/"Commercial Roof/Reroof" categories confirmed directly on live records this sprint (not inferred by symmetry) — extended into the shared accelaRoofPermits.ts classifier, no new file. This tenant's own real records carry "VENICE" as their USPS mailing city for a genuine share of its own ZIP footprint (34293, split with the separate City of Venice) — deliberately NOT excluded by mailing-city name, the same departure already established for Osceola's and Polk's own resolvers, for the identical directly-observed reason. See docs/providers/north-port-preflight.md.