There's actually an answer on StackOverflow for this question - anyway I'll give you a quick overview about some of the currency conversion APIs out there:
First of all, it really depends on your budget:
$200 - $1200 / month - High Budget
There's a number of "Enterprise-class" data vendors, such as http://xe.com, http://oanda.com and http://xignite.com/forex. Most of them source their data directly from the markets and update it every second, that's why you'll pay between $2000 and $12000 per year.
$0 - $99 / month - Lower Budget
Since I believe you and most other developers/businesses might be looking for more cost-effective alternatives, I'll list two of these below:
currencylayer API (https://currencylayer.com)
They're offering surprisingly accurate exchange rates for around 170 currencies, delivered in JSON format. There's also a Free Plan that lets you make around 1000 monthly API Requests. Paid plans start at $9.99/month.
Since you're looking to convert currencies, I'll give you an idea about how this works with the currencylayer API:
Make an API Request:
? access_key = YOUR_ACCESS_KEY
& from = EUR
& to = GBP
& amount = 10
And get the API's JSON result:
There's also a bunch of code examples for parsing this response: Documentation
Open Exchange Rates (http://openexchangerates.org)
Pretty similar structure, subscription plans starting at $12/month - however, the currency conversion feature is only offered along with their most premium plan (around $90/month).
Hope this helps!