Short answer: verify the state roofing license, demand proof of insurance, be suspicious of anyone who knocks on your door after a storm, get the scope in writing, and never pay the full price up front.
Florida is strict for a reason. Roofing here is licensed at the state level, and the rules exist because storms attract fraud. A legitimate roofer shows a license number without being asked twice; it belongs on the estimate itself.
The storm-chaser warning. After every big blow, out-of-town crews sweep neighborhoods offering fast fixes and asking for deposits. Some are real; many are gone by the time the tarp leaks. The roofer to trust is the one with a local address and reviews that predate the storm.
Insurance, both kinds. Liability protects your house; workers' compensation protects you from what happens if someone falls off it. Ask for certificates, and expect a professional to provide them without friction.
Paper beats promises. A proper estimate covers scope, materials, timeline, cleanup and how change orders work. Deposits are normal; paying in full before the first shingle is not.
Where to look. Jacksonville roofers are listed under /directory/?cat=Home+Services in the /directory, with reviews from your side of town. The calm week you spend choosing now is the panicked week you skip later.