shortest time based on traffic congestion data
There is no special "algorithm theory" behind this. 

You decomposed this data into a graph, right? You have intersection nodes, and you have edges with path difficulty (distance/average speed), yes? The congestion data simply modifies the average speed of the edge, so it's just A* business as usual. Regular shortest path heuristics will probably still be relevant for conservation purposes if you're lazy. 

Obviously a prominent example of an implementation of this would be https://maps.google.com/.