A roofing company earning $50,000 to $100,000 a year can get a $1 million per occurrence, $2 million aggregate liability quote for $2,967 in Illinois and $4,301 for the same policy in California, from the same carrier. The location did that. Nothing about the owner’s safety record changed between the two quotes.
Contractors Liability, an agency licensed in all 50 states and in business for more than 20 years, shops roofing insurance across more than a dozen carriers because no two of them price it the same way.
Contents
By Contractors Liability’s own published range, general liability for a roofing crew runs $2,440 to $4,220 a year. The $4,301 California quote from earlier runs past the top of that range, a reminder that a published range describes the middle of the market, not its edges. The riskiest trade on the board. Location decides more of the final number than the size of the business does.
Contractors Liability’s own marketing copy quotes a $2,000 starting figure for a small roofing policy. The real floor for the industry’s highest-risk trade runs closer to $2,800. The rate table shows how fast even that gets left behind: in Pennsylvania, the $50,000 to $100,000 revenue bracket already prices at $2,910. In Georgia, it’s $3,003, a $93 gap. Cross into California or Colorado and the same bracket adds more than a thousand dollars to the bill.
Not every carrier will write roofing coverage in every state
The same two carriers that skip Colorado split the rest between them: Shield also stays out of Illinois, and Rockingham also stays out of New York, and none of those decisions have anything to do with any specific roofer’s application. Appetite, not rejection. A roofer working with a single carrier has no way to know whether a high quote is the market price or just the one door that happened to be open.
Contractors Liability quotes against at least three carriers on every application and represents more than 18 of them in total. That’s less about finding a discount and more about finding a carrier that will actually write the policy.
The policy has a blind spot around the most common roofing accident
Bureau of Labor Statistics data puts roofing among the three deadliest civilian occupations in the country, and falls, slips, and trips caused 82 percent of roofing fatalities in 2023. The numbers are not close. General liability doesn’t pay a dime of it either way, because the policy only responds to third parties, not the crew standing on the roof.
Consider a two-person crew in Spokane replacing shingles on a two-story home in October. One worker slips on a wet section and falls twelve feet, breaking an ankle. General liability pays nothing toward his medical bills or his missed paychecks, no matter how much of it the crew is carrying. Workers’ compensation is the policy built to answer that call, and it has to be bought separately.
Company age and claims history move the number on their own
A roofing company with zero claims and two years in business doesn’t automatically get the same rate as a roofing company with zero claims and twelve years in business. Age counts on its own. Carriers treat longevity as a separate risk signal from the claims history sitting next to it. A clean record from a two-year-old company reads as unproven. The same clean record from a twelve-year-old company reads as confirmed.
Roofers using torch-down systems or working on open, low-slope roofs need an endorsement most standard policies don’t include automatically, since an open flame on a roof deck is a different underwriting question than a nail gun. Skipping that step doesn’t show up until a claim does.
None of this makes a roofing quote random. State, carrier appetite, business age, and claims history all move the number before a single crew swings a hammer. A $2,967 quote and a $4,301 quote can both be correct. The real difference shows up the day a worker falls off the roof, not the day the invoice arrives.

