To begin your search, ask around for recommendations. Often neighbors, friends and family can recommend a good contractor or at least warn you against any that are not good.
When interviewing potential roofing companies, start off by requesting proof of liability insurance and workers’ compensation. The last thing you want is for someone to be injured or something to be damaged and you to have to cover the cost under your homeowner’s policy. Also, check to see if the business is bonded and licensed for contracting work. This is available through the state licensing board.
Also request a business license and tax ID to verify that the contractor you are hiring is legitimate. You should also confirm that the business has a physical address and a phone number that someone can be reached at in case of questions or concerns.
Additionally, feel free to ask for customer referrals from the company that you can call and ask about the quality of their work. Many roofing companies will have a list of clients who will vouch for their craftsmanship. Follow this up with a call to the Better Business Bureau to make sure that no complaints have been filed or the nature of any that have been filed.
Finally if you feel that you are comfortable with considering someone, ask for a written estimate and examine it closely. Your decision should not be motivated solely by cost because you want a quality job. The probability is that if the bid seems too good to be true it probably is. Be sure to get an estimate from multiple companies that have passed your preliminary research and compare bids. Go with not only the most reasonably priced but with whichever of the roofing companies you feel you can trust.