I'm looking for free open APIs (XML or REST(JSON)*) that I can access from my program code to get the (daily) exchange rate for foreign currencies to the Euro, Dollar or British Pound (especially from non-Euro European countries and the US).
No historical data required, I just want to query (on demand or each night) What is the exchange rate today? and store it in local database tables.
The source data should be updated at least once per day.
Ultimately, I want to encapsulate (updates from) several of these into my code (a standalone Windows program), so that our customers can choose which source they want to use for the exchange rates to their 'base currency' EUR or USD or GBP.
(This also means that the API should be free for commercial use, that it has a reputable source - i.e. it is not likely to disappear overnight, and that it can handle several 1000 requests/day).
From Philshem's answer I understand that in my case daily 'settlements' are preferable over real-time currency data.
* Actually, any parse-able format will do, but JSON or XML is preferable because more structured.
[Added 4-4-2016 by OP]
While my question was out, I kept searching and found this June 2010 post on StackOverflow: How do I get currency exchange rates via an API such as Google Finance?
.
Since that is an old post and not limited to free APIs, I have verified which ones are still active and partially meet my requirements, and I have added these as an answer to this post, together with the European Central Bank resource that I mentioned here earlier.
Any APIs I find that meet all requirements, I will add as separate answers each.