USD conversion rate API
It will never be accurate unless you know the preferred exchange for your user, because as you can see the prices are different for each exchange.
Go to this website http://bitcoin-analytics.com, and click on "Arbitrage", you will see the difference in exchange rates from multiple sources.

Your best bet is to ask the user to choose their exchange or if they have a preferred one, and use their API, which means you'll need to use multiple APIs for most popular exchanges, like mtgox.com, bitstamp.net, btc-e.com..etc, I would also consider which geographical area you are targeting, it would help you identify who are the ones you need to have.

Good luck.