a seriesThe dated exchange rate table
also: rates.json · USD base rate table
One table, one date. Every dollar figure on this site is a published price multiplied by a number fetched on a stated day.
One set of exchange rates, fetched once and stamped, so prices published in twenty-odd currencies can sit on a single axis. The copy on disk holds 166 currencies against the US dollar, rates dated Wednesday 16 September 2026, fetched the same day from the open endpoint of ExchangeRate-API.
The story Inference
A price on this site keeps the currency it was published in. The dollar figure beside it is this table applied, and it moves whenever the table is refetched — so a page can change its dollar column without a hospital changing its price.
That is not a rounding problem. A Turkish package quoted at 60,000 lira in 2019 and the same 60,000 lira today are different amounts of money to a foreign buyer; converting an old price at a new rate reports something nobody paid. Two dates therefore travel with every converted figure on this site: the date the price was published and the date of the rate.
Inference — the rate is also not the price of a transaction. A patient pays a card rate, an interbank rate plus a spread, a foreign-transaction fee, or a currency conversion offered at the terminal, and the difference between the mid-market rate in this table and what leaves an account can run to several per cent on a five-figure bill. This site converts at mid-market because it is a stated, dated, reproducible number, not because it is what anybody was charged.
How it works Harvested · er-api
tools/fetch_rates.py reads https://open.er-api.com/v6/latest/USD, keeps every positive numeric rate, and stores them with the provider's own time_last_update_utc as the rate date. A currency the table does not carry leaves its price unconverted, and the page prints it in its own currency. tools/build.py computes the usd field on every price row from this table; a usd figure typed by hand into a record is overwritten.
Notes
The open endpoint updates once a day and requires attribution to ExchangeRate-API on any page that uses the rates; its terms do not permit redistributing the rate data itself.
The particulars
| publisher | ExchangeRate-API |
|---|---|
| region | Everywhere |
| publisher | ExchangeRate-API (open endpoint, open.er-api.com) |
| unit | units of each currency per US dollar |
| years | a single snapshot, rates dated 16 September 2026 |
| license | Free open endpoint; attribution required, redistribution not permitted |
| updated by publisher | once a day |
| counts | 166 currency codes with a mid-market rate against the US dollar on one stated date. |
| does not count | What a patient's bank charges. This is a mid-market rate on one day: it carries no card spread, no foreign-transaction fee, no cash-advance charge and no airport-counter margin, and it is not the rate on the day any price on this site was published. It holds no history, so an old price converted here is converted at a new rate and says nothing about what that patient's currency bought at the time. Several of its rates are administered pegs rather than traded prices — the UAE dirham sits at 3.6725 and the Saudi riyal at 3.75 — and nothing in the file marks which is which. |
| links | Open endpoint documentation |
| confidence | high · updated 2026-09-17 |
What it connects to
Sources
- Open Exchange Rates API (open.er-api.com) — ExchangeRate-API · link (read 2026-09-16)
- Free exchange rate API documentation — open endpoint — ExchangeRate-API · link (read 2026-09-17)
Where it came from: Cited a source named here · Harvested pulled from an open dataset · Trade practice how the trade works, hedged · Inference this project's own reasoning · Field somebody stood there. This record as JSON.