Systems and methods are provided for receiving location data for a first location and a second location and generating a plurality of candidate routes to travel from the first location to the second location, based on the location data, each candidate route comprising a plurality of segments. The systems and methods further generate a safety score for each segment of each candidate route of the plurality of candidate routes, generate a safety score for each candidate route based on safety scores generated for each segment associated with each candidate route, select a best candidate route using the safety score associated with each of the candidate routes, and provide a recommendation for a travel route comprising the best candidate route