Bank of Uganda Exchange Rates API — bou-exchange-rate
Official Bank of Uganda (Uganda) daily exchange rates for Node.js and TypeScript. The published central bank rates behind tax filings, customs valuations, audits, and compliant invoicing — not market estimates, but the numbers Bank of Uganda itself prints, every business day.
🚀 Why this client?
- 🏛️ Official rates — Bank of Uganda's own table, with the publisher's own
rate_date on every response
- 📅 History from 2026 — this source publishes only its current table, so the archive builds forward from the day we started collecting
- 🔀 Official vs derived, always flagged — computed inverse/cross pairs carry
derived: true, never mixed with official prints
- ⚡ Zero dependencies — pure ESM + CJS over global
fetch; Node 18+, Bun, Deno, and edge runtimes
- 🔷 Type-safe — full TypeScript definitions shipped with the package
- 🧾 Compliance-grade metadata —
rate_type, publication date, and source disclaimer on every response
Official rate, not mid-market: every value here is a number Bank of Uganda itself published, fixed once printed and carrying the central bank's own rate_date — what filings and audits require. Need the live mid-market rate for pricing or display instead? Use the mid-market API or @allratestoday/sdk. The two can diverge by several percent.
🔑 Get your API key
Get a free API key at allratestoday.com/register — no credit card required. Latest rates are on every plan, including free.
📈 Latest official table
The image is rendered live from the keyless endpoint, so it follows the central bank's publications on npm and on GitHub alike without a new release. The same table as text is folded below for search and copy-paste: on GitHub a daily Action refreshes it whenever the central bank publishes a new table; on npm it is as of the package's publish date.
| Base | Quote | Type | Rate |
|---|
| EUR | UGX | buy | 4524.879525 |
| EUR | UGX | closing | 4560.981647 |
| EUR | UGX | closing_buy | 4555.026766 |
| EUR | UGX | closing_sell | 4566.936528 |
| EUR | UGX | midday | 4549.334588 |
| EUR | UGX | midday_buy | 4543.38585 |
| EUR | UGX | midday_sell | 4555.283326 |
| EUR | UGX | reference | 4530.826592 |
| EUR | UGX | sell | 4536.773659 |
| GBP | UGX | buy | 5415.147018 |
| GBP | UGX | closing | 5457.1754055 |
| GBP | UGX | closing_buy | 5449.925584 |
| GBP | UGX | closing_sell | 5464.425227 |
| GBP | UGX | midday | 5444.538309 |
| GBP | UGX | midday_buy | 5437.294452 |
| GBP | UGX | midday_sell | 5451.782166 |
| GBP | UGX | reference | 5422.3883685 |
| GBP | UGX | sell | 5429.629719 |
| KES | UGX | buy | 31.416148 |
| KES | UGX | closing | 31.644741 |
| KES | UGX | closing_buy | 31.581937 |
| KES | UGX |
Source: Official rates published by BOU, served by AllRatesToday. Rates are as printed by the central bank; AllRatesToday is not affiliated with it.
📦 Installation
npm install bou-exchange-rate
yarn add bou-exchange-rate
pnpm add bou-exchange-rate
Requires Node 18+ (global fetch); also runs on Bun, Deno and edge runtimes. Also published under the org scope as @allratestoday/bou-exchange-rate — same code, same versions.
This is the beginning of the README. Read the rest at the original. Read the full README ↗