Love it. I'll keep using my current service for now (SmartyStreets), but I'll let you know two things I noticed:
1) Most services will accept shortcuts for names, like "SF" for San Francisco or NYC for New York, but in both cases, I got error messages instead of geocodes.
2) Addresses that aren't "properly" formatted (i.e., without commas or something) often return very incorrect information. Here's an example:
2680 NW 8th Pl, Fort Lauderdale, FL 33311 - returns correct info
2680 NW 8th Pl Fort Lauderdale FL 33311 - returns incorrect info (see suffix, formatted_address)
For what it's worth, SmartyStreets mangles even the first address that you got correct, but on the other hand, they're very good at correctly returning data for improperly formatted addresses like the second one.
Thanks for the feedback! We don't currently support shorthands for city names - only states. But this is definitely something that's on the todo list now.
Our address parser will try to pick up the address even if isn't formatted correctly with commas, but it obviously won't work in all cases. Address parsing is indeed a very complex problem.
Address parsing is actually very easy. Knowing when you got it right (or wrong), that's the hard part, and that's where address validation come in handy.
If you can start with a list of all the following, you've got a great start:
prefix abbreviations
street names
street types
suffixes
city names
state names
Add to that all the possible misspellings and then factor in levenshtein and soundex to account for misspellings you didn't know about and you've got a pretty dang good address parser. Figure out how to do that lickety-split fast, and you've got gold.
1) Most services will accept shortcuts for names, like "SF" for San Francisco or NYC for New York, but in both cases, I got error messages instead of geocodes.
2) Addresses that aren't "properly" formatted (i.e., without commas or something) often return very incorrect information. Here's an example:
2680 NW 8th Pl, Fort Lauderdale, FL 33311 - returns correct info
2680 NW 8th Pl Fort Lauderdale FL 33311 - returns incorrect info (see suffix, formatted_address)
For what it's worth, SmartyStreets mangles even the first address that you got correct, but on the other hand, they're very good at correctly returning data for improperly formatted addresses like the second one.
Anyway, good luck. Great tool.