A real pull of the Miami reroof file
This is the actual deliverable, not a mock-up: every reroof permit 16 from City of Miami + 123 from Miami-Dade County published to their open-data feeds in our 2026-09-12 pull, filtered to the ones a solar installer would call. The issue dates on these records run 2026-09-07 to 2026-09-11 — the authorities publish days after they issue, and by how much is measured below. 25 rows are shown out of the 137 that passed this file's roofing selection, drawn from the 139 rows in that pull. 2 of those 139 rows were removed by that selection and by de-duplication, with the per-rule counts listed further down this page. The 25 are allocated to hold the pull's own residential/commercial mix rather than being simply the largest jobs. The evidence column is the exact rule that matched, so you can check why each row is here.
| Permit # | Declared value | Contractor of record | Issued | Evidence — the rule that matched | Address | Work | State licence | Phone | Owner of record | Status at source |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026070815 | $3,000,000 | BUCKNER ROOFING LLC | 2026-09-11 | matched /\broof(?!.*solar)/ in "BLDG NEW ROOF INSTALL — BANKS - AUTOMATIC TELLER" | 6420 BIRD RD, Miami | roofing | CCC1334407 Cert Roofing | •••-••96 withheld from the paid file — free on the county’s own record | BOOS BIRD ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070497 | $422,804 | C L BURKS CONSTRUCTION - COMMERCIAL RO | 2026-09-10 | matched /\broof(?!.*solar)/ in "BLDG ROOF RECOVER — WAREHOUSE/STORAGE" | 10800 NW 92 TER, Miami | roofing | CCC1326350 Cert Roofing | •••-••63 withheld from the paid file — free on the county’s own record | BPREP 10800 ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070499 | $399,500 | C L BURKS CONSTRUCTION - COMMERCIAL RO | 2026-09-10 | matched /re-?roof/ in "BLDG FLAT RE-ROOF — WAREHOUSE/STORAGE" | matched /\broof(?!.*solar)/ in "BLDG FLAT RE-ROOF — WAREHOUSE/STORAGE" | 10810 NW 92 TER, Miami | roofing | CCC1326350 Cert Roofing | •••-••63 withheld from the paid file — free on the county’s own record | BPREP 10800 ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| BD22030713049BR001 | $384,500 | A & E BROTHERS ROOFING | 2026-09-09 | matched /\broof(?!.*solar)/ in "NEW CONSTRUCTION FLAT ROOF — Commercial" | 560 NE 34 ST, Miami | roofing | not published by City of Miami | not published in the City of Miami open-data layer — that layer has no phone field | not published in the City of Miami open-data layer — that layer has no owner field | Active · final: NO |
| 2026070140 | $300,000 | HEIGHTS ROOFING INC | 2026-09-08 | matched /re-?roof/ in "BLDG REROOF TILES — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 16890 SW 276 ST, Miami | roofing | CCC1329156 Cert Roofing | •••-••63 withheld from the paid file — free on the county’s own record | MONTEAGUDO REV ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070794 | $255,000 | ASSURANCE PROPERTY SERVICES GROUP INC | 2026-09-11 | matched /\broof(?!.*solar)/ in "MBLD TPO ROOF — APT BUILDING 3-4 UNITS" | 7650 W 8 AVE, Miami | roofing | CCC1329735 Cert Roofing | •••-••37 withheld from the paid file — free on the county’s own record | HHA I ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070851 | $175,000 | S&B QUALITY ROOFING LLC | 2026-09-11 | matched /\broof(?!.*solar)/ in "BLDG TILE ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\btile roof/ in "BLDG TILE ROOF — SINGLE FAM RES-CLUST-ZER | 23033 SW 114 CT, Miami | roofing | CCC1337113 Cert Roofing | •••-••84 withheld from the paid file — free on the county’s own record | KTC PROPERTIES ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070850 | $175,000 | S&B QUALITY ROOFING LLC | 2026-09-11 | matched /\broof(?!.*solar)/ in "BLDG TILE ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\btile roof/ in "BLDG TILE ROOF — SINGLE FAM RES-CLUST-ZER | 11432 SW 231 LN, Miami | roofing | CCC1337113 Cert Roofing | •••-••84 withheld from the paid file — free on the county’s own record | KTC PROPERTIES ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070951 | $140,000 | A.Q. INSPECTION AND REPAIR INC | 2026-09-11 | matched /\broof(?!.*solar)/ in "BLDG ROOF METALEST HOUSE — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 20551 SW 226 ST, Miami | roofing | CCC058019 Cert Roofing | •••-••11 withheld from the paid file — free on the county’s own record | FRANK CABRERA ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070042 | $100,000 | S&S ROOFING CORPORATION | 2026-09-08 | matched /\broof(?!.*solar)/ in "BLDG NEW FLAT ROOFCHED — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 17000 NW 85 CT, Miami | roofing | CCC1332780 Cert Roofing | •••-••93 withheld from the paid file — free on the county’s own record | LUIS FAUSTO ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070661 | $79,980 | T & E ROOFING INC | 2026-09-10 | matched /re-?roof/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\broof(?!.*solar)/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-T | 80 SW 123 AVE, Miami | roofing | CCC1332944 Cert Roofing | •••-••52 withheld from the paid file — free on the county’s own record | MARCOS ACOSTA ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026069863 | $67,475 | VICTORIA ROOFING INCORPORATED | 2026-09-07 | matched /\broof(?!.*solar)/ in "BLDG SFR TILE ROOF — PAVING/OPEN LOTS" | 17499 SW 287 ST, Miami | roofing | CCC056844 Cert Roofing | •••-••23 withheld from the paid file — free on the county’s own record | TPG AG ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070164 | $61,500 | PREMIER IMPACT WINDOWS & ROOFING LLC | 2026-09-08 | matched /\broof(?!.*solar)/ in "BLDG TILE RE ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 19661 SW 137 AVE, Miami | roofing | CCC1337541 Cert Roofing | •••-••37 withheld from the paid file — free on the county’s own record | LAKEISHA AXEM ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026069905 | $53,500 | T & S ROOFING SYSTEMS INC | 2026-09-08 | matched /re-?roof/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\broof(?!.*solar)/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-T | 6400 SW 79 CT, Miami | roofing | CCC1326032 Cert Roofing | •••-••54 withheld from the paid file — free on the county’s own record | MARIA FANTI ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070078 | $49,500 | ROOFING KING CONSTRUCTION INC | 2026-09-08 | matched /re-?roof/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\broof(?!.*solar)/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-T | 150 SW 136 AVE, Miami | roofing | CCC1333031 Cert Roofing | •••-••42 withheld from the paid file — free on the county’s own record | EVERARDO P ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070090 | $48,595 | PERKINS ROOFING CORPORATION | 2026-09-08 | matched /\broof(?!.*solar)/ in "BLDG RE ROOF METAL — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 14362 SW 159 CT, Miami | roofing | CCC1331944 Cert Roofing | •••-••21 withheld from the paid file — free on the county’s own record | ARMAND A ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070996 | $47,790 | FOREVER ROOFING AND REMODELING LLC | 2026-09-11 | matched /\broof(?!.*solar)/ in "BLDG METAL ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 11530 SW 99 ST, Miami | roofing | CCC1333555 Cert Roofing | •••-••56 withheld from the paid file — free on the county’s own record | ALICIA BOWMAN ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070828 | $44,550 | ROOFING BY ASP CORP | 2026-09-11 | matched /re-?roof/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\broof(?!.*solar)/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-T | 8884 NW 179 LN, Miami | roofing | CCC1333787 Cert Roofing | •••-••14 withheld from the paid file — free on the county’s own record | JERRY LANTIGUA ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070555 | $43,952 | CITY ROOFING AND CONSTRUCTION INC DBA: | 2026-09-10 | matched /\broof(?!.*solar)/ in "BLDG RE ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 13461 SW 122 AVE, Miami | roofing | CCC1327381 Cert Roofing | •••-••94 withheld from the paid file — free on the county’s own record | SAIN AGUIRRE ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070876 | $43,260 | MAG MULTISERVICES & REPAIRS INC | 2026-09-11 | matched /re-?roof/ in "BLDG METAL REROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 3200 SW 124 CT, Miami | roofing | CCC1336193 Cert Roofing | •••-••76 withheld from the paid file — free on the county’s own record | GERARDO IGLESIAS ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070894 | $40,000 | MARTINEZ ROOFING CORP | 2026-09-11 | matched /re-?roof/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\broof(?!.*solar)/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-T | 6000 SW 153 COURT RD, Miami | roofing | CCC1332076 Cert Roofing | •••-••62 withheld from the paid file — free on the county’s own record | RAUL ANGEL ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070508 | $38,000 | G&R ROOFING LLC | 2026-09-10 | matched /re-?roof/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | matched /\broof(?!.*solar)/ in "BLDG RE-ROOF — SINGLE FAM RES-CLUST-ZERO LOT-T | 12545 SW 31 TER, Miami | roofing | CCC1333166 Cert Roofing | •••-••16 withheld from the paid file — free on the county’s own record | GLADYS JIMENEZ ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026069922 | $38,000 | M. ROMERO'S ROOFING & INSPECTIONS INC | 2026-09-08 | matched /re-?roof/ in "BLDG REROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 7713 SW 128 PL, Miami | roofing | CCC044016 Cert Roofing | •••-••04 withheld from the paid file — free on the county’s own record | JUAN E ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026069961 | $35,505 | STORM PROS ROOFING & IMPACT, LLC | 2026-09-08 | matched /re-?roof/ in "BLDG REROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 17901 NW 82 CT, Miami | roofing | CCC1336792 Cert Roofing | •••-••24 withheld from the paid file — free on the county’s own record | JESSICA SAN ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
| 2026070718 | $35,000 | ROOFING EXPERTS SERVICES INC | 2026-09-10 | matched /re-?roof/ in "BLDG REROOF — SINGLE FAM RES-CLUST-ZERO LOT-TOWN HOUSE" | 10005 SW 161 PL, Miami | roofing | CCC1331656 Cert Roofing | •••-••93 withheld from the paid file — free on the county’s own record | MICHAEL DELGADO ••• withheld from the paid file — free on the county’s own record | not mapped from this source · final: not mapped from this source |
How fresh this actually is
- City of Miami — the newest issue date it had published to us on the 2026-09-12 run was 2026-09-11 (1 day behind that run; 1–2 days across the last 10 runs)
- Miami-Dade County — the newest issue date it had published to us on the 2026-09-12 run was 2026-09-11 (1 day behind that run; 1–4 days across the last 10 runs)
- City of Orlando (other metro, shown for comparison) — the newest issue date it had published to us on the 2026-09-12 run was 2026-09-12 (0 days behind that run; 0–1 days across the last 10 runs)
The file on this page (2026-09-12 run) brought 55 permit numbers that were not in the previous run, out of 139 rows in the file.
Each nightly run re-pulls a rolling seven-day window, so consecutive files overlap heavily: a file is a snapshot, not a day's news. Measured over the 2026-09-05→2026-09-12 runs of this exact file, a run brought 0–55 permit numbers that were not in the previous run (median 13), and 3 of 7 runs brought none at all. That is the real refresh rate of this product, and the median is not a promise about any single day.
Orlando is the fast one; Miami-Dade is not. If you need same-week Miami issue dates, this file cannot give them to you, because the county has not published them at the moment we pull.
Why not just download it from the county?
| Field | Miami-Dade free layer | City of Miami free layer | This file |
|---|---|---|---|
| Permit #, address, work description, contractor name | yes | yes | yes |
| Declared value (this page ranks by it) | yes, where the applicant declared one | yes, where the applicant declared one | 100 of 139 rows in this pull — the rest were filed without a declared value at source, and we publish them blank rather than estimating one |
| Contractor phone | yes, free | no phone field exists in that layer | deliberately not included — we do not sell personal contact details. The county half of this pull carried one on 123 of 139 rows; the county’s own free layer is where to get it |
| Owner of record | yes, free | no owner field exists in that layer | deliberately not included — we do not sell personal contact details. The county half of this pull carried one on 123 of 139 rows; the county’s own free layer is where to get it |
| State licence number, and its class | number yes — class, no | not published | number as published, plus the DBPR class decoded from its prefix |
| Two authorities in one file, one schema | county only | city only | 16 from City of Miami + 123 from Miami-Dade County, merged |
| Parcel year built and building square footage | no — a separate parcel layer (ParcelsView), joined on the folio | no | 128 and 128 of 139 rows, joined on the folio printed on the permit — roof age and roof area, the two fields a roofing or solar crew qualifies on. The folio ships in the file so you can check the join against the county's own parcel search. |
| Residential vs commercial vs multifamily, per row | no | no | 136 of 139 rows classified residential, commercial or
multifamily — the column that lets you not call the warehouses. The remaining
3 carry the literal value unknown: the classifier could not decide
and says so instead of guessing. |
| Permit square footage | as published | as published | 122 of 139 rows, carried through as published |
| Trade classification, with the matching rule shown per row | no — unclassified, county-wide | no | every row |
| What changed since the previous pull | no | no | computed every run and published above — the count for this exact file is in “How fresh this actually is”. The delta rows themselves are not downloadable yet: there is no subscriber file-delivery URL on this site, so nothing here is offered as a file you receive. |
| Measured publisher lag, per source | no | no | published above, recomputed every run |
So the honest claim is a narrow one: the merge, the classification, the licence-class decode, the parcel join that supplies roof age and roof area, the occupancy class, and the delta are the work. The phone and the owner on the county half are the county's, and free. Until 2026-07-30 this paragraph left the parcel join and the occupancy class out and the free sample did not ship those columns at all — they were being computed, sold, and never mentioned. That is also why there is no card field anywhere on this site — see the founding list.
Every licence number in the table is checkable in the state's own register: DBPR licensee search. We publish the number and the class exactly as printed on the permit record. We do not assert that any licence is currently valid or in good standing — we have not queried DBPR, and you should before you rely on it.
What is held back, and what is missing
That assertion used to cover one day. The 14-day spool the same endpoint serves held three incompatible schemas — 13, 17 and 31 columns, with
contractor renamed to
permit_applicant and contractor_phone to applicant_phone
between them — so an importer written to this promise broke on thirteen of the fourteen days.
Since 2026-07-31 there is one declared schema, published at
/files-schema.json with the date each column first carries data, and
verify-spool-schema.py exits non-zero if any file the endpoint can serve does not carry
that exact header. A column added after a given day's run is present but empty in that day's file;
it is never back-filled with a guess.
What was dropped from this pull, and why. Every reason below describes a record. None describes a company: an earlier version of this page dropped rows by running a regex over the applicant's company name, then published that guess as a statement about a named business's licensed trade. Selection now uses the authority's own discipline coding and the state licence class printed on the record.
The reasons below are the roofing-file selection applied on top of an already-gated product file. The universal gates — government owner of record, MEP sub-permit, corrupt valuation — run in the pipeline that WRITES the CSV, not here. Until 2026-07-30 they ran only here, which meant this page could report rows as filtered while the delivered file still contained them. This page now asserts that the delivered file carries none of them and refuses to publish itself if it does.
- state licence class printed on the permit record is “unrecognised-prefix”, which is not a class that pulls roofing work — 2 rows
Permit status, read back from the source. 24 not mapped from this source, 1 Active across the 25 rows shown, and 1 of them had a status we could read at all — Miami-Dade publishes no status field in its layer, so those rows say so rather than sitting blank. Where finality is published, 1 of the shown rows are flagged not final. Nothing is filtered on status yet: the column ships first so you can see a withdrawn or expired permit, and so the vocabulary each authority actually uses can be watched before anything depends on it. Until it is, read a county row as "a permit with this issue date was in the published feed at our pull", nothing stronger. Declared valuations are the applicant's own figure and routinely understate real project cost. Coverage for this file is Miami-Dade County and the City of Miami only — see coverage for every jurisdiction and date range we hold. This is a lead list built from public records, not a vetted referral, and nothing here is legal or investment advice. Before you call anyone on it, scrub against the federal and Florida do-not-call registries — we have not; see terms.
Built 2026-09-12 from
out/permits/miami/solar-2026-09-12.csv ·
this week's free digest · EarlyDocket