How Shingle works
Every price on Shingle comes from city permits. We use 46,561 home re-roof permits filed from Jan. 2021 to Oct. 2026 in 28 DFW cities.
On this page: Where the numbers come from · What we can't see · How accurate it is · How we make money · What we share
- 46,561home re-roof permits
- 28DFW cities
- 23,679permits with a price we can use
- 147roofers listed in the Fort Worth area
Where the numbers come from
- City permits. When a roofer replaces a roof, many cities require a permit. The permit often lists the roofer and the price the roofer wrote on the form.
- Matched to houses. We match each permit to a house in county appraisal records. We size the roof from the house's outline on Microsoft's public building map, plus 30% to allow for the roof's slope. A square is 100 sq ft of roof.
- Similar homes nearby. For your house, we find up to 20 re-roofs on similar homes nearby: roof size within 15%, built within 15 years when we know it, and recent jobs first. Older prices are adjusted to today's prices.
- A fair price range. We take each similar job's price per roof square, adjusted to today's prices, times your roof's size. Your typical price is the middle of those prices. In Fort Worth itself we average it with the citywide price, because that tested more accurate there. When we find fewer than 8 similar jobs, we use your roof size times the typical price per square in your city over the last 12 months instead. Your fair price range runs from 23% below to 30% above the typical price. In our tests, about half (49% in our tests) of real jobs landed inside it. We add for a metal roof or new wood when you tell us, and for two stories when we use the citywide price. We don't give a price for tile or slate.
| City | Permits | With a usable price | Name the roofer |
|---|---|---|---|
| Fort Worth | 1,190 | 691 | 91% |
| Arlington | 1,542 | 1,314 | 100% |
| Southlake | 1,615 | 1,273 | 98% |
| McKinney | 4,791 | 4,250 | 90% |
| Dallas | 11,844 | 6,240 | 18% |
| Grand Prairie | 3,990 | 2,803 | 0% |
| Allen | 6,680 | 0 | 0% |
| Anna | 831 | 113 | 0% |
| Celina | 481 | 273 | 93% |
| Farmersville | 41 | 16 | 0% |
| Frisco | 1,859 | 0 | 0% |
| Lucas | 220 | 40 | 99% |
| Melissa | 568 | 225 | 0% |
| Murphy | 1,089 | 976 | 98% |
| Nevada | 14 | 7 | 0% |
| Plano | 359 | 0 | 0% |
| Princeton | 593 | 0 | 0% |
| Prosper | 1,075 | 0 | 0% |
| Richardson | 173 | 162 | 0% |
| Sachse | 100 | 97 | 100% |
| St. Paul | 17 | 4 | 0% |
| Wylie | 1,989 | 1,344 | 100% |
| Mesquite | 1,867 | 1,351 | 92% |
| Coppell | 973 | 589 | 98% |
| Cedar Hill | 1,193 | 993 | 91% |
| Duncanville | 265 | 237 | 72% |
| North Richland Hills | 110 | 42 | 90% |
| Farmers Branch | 1,092 | 639 | 0% |
Canceled, denied and withdrawn permits are left out.
Permits we don't use for prices
Of the 46,561 permits, 1,054 also cover other work, like a new room, so their price is not just the roof. We count them as re-roofs but don't use their price. Of the other 45,507, 23,679 have a price we can use. We set the rest aside:
| From cities where almost no permits list a price | 10,566 |
|---|---|
| No price on the permit, or $0 | 7,736 |
| Price under $2,000 or over $150,000 | 477 |
| No building outline to size the roof | 2,108 |
| Roof under 8 or over 90 squares | 344 |
| Under $100 or over $2,500 a square | 381 |
| The same round price typed on many jobs of different sizes | 216 |
What we can't see
Permits are public records, not invoices. Here is what they leave out.
- Many Fort Worth roofs. Fort Worth asks for a permit when some of the wood under the shingles is replaced. A shingles-only job needs none, so we see some Fort Worth roofs, not all. Many roofers file anyway: about 6 in 10 Fort Worth permits mention new wood. Jobs with and without new wood came out within about 2% of each other per square, so this does not push our Fort Worth prices up. (City of Fort Worth Roofing FAQ)
- The final bill. A permit price is what the roofer wrote on the city form. 37% of prices are round thousands (44% in Fort Worth), so many are estimates. Contracts can run higher.
- The exact roof size. We estimate it from the house outline. Nobody climbed on the roof.
- Arlington's permit search only reaches back 12 months, so its numbers start in April 2025.
- Dallas names roofers in only one year of its data. Grand Prairie does not name them. We use both cities for prices only.
- The number of stories comes from the county appraisal roll (Tarrant, Dallas and Collin). It is sometimes wrong, so the report shows it and lets you correct it.
- Quality of work. Permits can't tell you how well a roofer works, how they treat customers, or whether they carry insurance.
How accurate it is
About half (49% in our tests) of real jobs land inside our fair price range. We test this on thousands of real DFW re-roofs. For each one, we use only permits filed before it, as if we were pricing it that day. Then we check where the real permit price landed.
| Area | Inside the fair range | Inside the "most jobs" range |
|---|---|---|
| Fort Worth area | 48% | 76% |
| Dallas area | 45% | 75% |
| Collin County area | 53% | 82% |
| All areas | 49% | 78% |
Each price says how good the match is. Our typical price was within 25% of the real price about 5 times in 10 for a strong match, about 4 in 10 for a fair match and about 3 in 10 for a thin match.
That is why we show a range, not one number. Your own quotes may land outside it.
How we list roofers
A roofer is listed in the Fort Worth area (Fort Worth, Arlington, Southlake) once it has 4 or more re-roof permits there since 2021. Today that is 147 roofers. We list them by permits in the last 12 months, most first. When one roofer files many permits on the same street on the same day, we count them as one.
Nobody pays to be listed. Paying never changes a roofer's permit record.
Roofers can ask us to fix a mistake. Fix your record
How we make money
Shingle is free for homeowners. Roofers pay us only for requests they accept, when they agree to call or text you.
What we tell roofers: "You pay only for requests you accept. Your first 3 are free. We're testing $99 per accepted request, and we'll agree a price with you before you pay anything."
- We never sell your information.
- You pick which roofers get your request. Only those roofers get it.
- Nobody pays to be listed. Paying never changes a roofer's permit record, the order of the list, or the prices we show.
What we share, and when
Your details stay with us until you send a quote request. A roofer you picked sees your name, phone and address only after they say they'll contact you.
| When you | We keep | Who sees it |
|---|---|---|
| Look up your address | The house you picked | Only us |
| Ask for your free report | Your email, to send your secure link | Only us |
| Send a quote request | Your name, phone, email, address and anything you add | Us and the roofers you picked (up to 3 at a time) |
| Browse the site | Pages visited, as counts | Only us. Never your name, phone or email. |
Full details: Privacy. We confirm your phone with a text code before any roofer gets your request.
Updates and mistakes
This data runs through Oct. 2026. We plan to refresh the permits every week.
We use software, including AI tools, to collect and match records. A person checks the figures and roofer matches before they go live.
See a mistake? Roofers can use Fix your record. Anyone can reach us through About.
