There is a few services you can pull it via API, I like this one.
http://theeasyapi.com/
You get 500 free queries a day and $20 a month for 2500 a day, $40 a month for 5000 a day and $200 a month gets you unlimitted queries per day.
I run about 3-5k a day through it day after day for several months now, no issues at all yet, they also have other data (IP/ZIP db etc).