We used a drive time matrix for 4 digit zip codes. Will do fine unless you need to optimize lots of activities in the same 4 digit zipcode. With 4 digits you have 16 million combinations (4000 dutch zipcodes are used right now).
You could try using the Google Maps Directions API. Free version has usage limits but you can always get a Google Maps Premier license.