The rates feed
Kenyan Treasury bill yields, the central bank rate, inflation and bond auction benchmarks — as JSON or CSV, free, and open to any origin.
Everything this site computes from public Central Bank of Kenya and National Treasury releases is published as a feed. It refreshes twice a day, Monday to Saturday, it needs no key, and it sets Access-Control-Allow-Origin: * so a browser on your own domain can read it directly.
It exists because the underlying figures are public but awkward: they arrive as PDFs, and the number most people want — what a Treasury bill actually pays after withholding tax — is not in them. Somebody has to do that arithmetic. It may as well be done once, in the open, where the working can be checked.
The endpoints
https://mwangazayield.org/data/rates.jsonhttps://mwangazayield.org/data/rates.csvRead it in a browser
const res = await fetch('https://mwangazayield.org/data/rates.json');
const feed = await res.json();
// Net yield after withholding tax — the number a saver actually receives.
for (const bill of feed.tbills) {
console.log(`${bill.tenorDays}-day: ${bill.netEAY.toFixed(2)}% net`);
}No key, no build step, no server in between — the feed allows any origin. It reads netEAY, the yield after withholding tax, because quotedDiscountRate is CBK's quote and not a return.
What is in it
- tbills — the 91, 182 and 364-day papers: CBK's quoted rate, the gross effective annual yield, and the net yield after withholding tax, with the price per 100 and the next auction date.
- macro — central bank rate, headline inflation with its core and non-core split, and the shilling against the dollar.
- bondAuctionBenchmarks — the comparable window, minimum sample and rate bands behind our bond guidance.
- notes — sourcing, conventions, warranty and attribution, carried inside the payload so they travel with the data rather than living only on this page.
The one thing to read before you use it
quotedDiscountRate is CBK's published quote and is not a return. Projecting income from it overstates what a saver receives. Use netEAY, and compare it only against other net-of-tax yields. That distinction is the single most common error in Kenyan rate reporting and it is why the field names are deliberately unambiguous.
What it does not contain
No exchange-sourced or secondary-market prices, published or implied. Every figure is a dated snapshot derived from a published release — nothing streams, and there is no market feed here to stream from. If you need traded prices, this is not that.
Terms
Free to use, including commercially. Attribute it to Mwangaza Yield with a link, keep the notes with the data if you redistribute it, and do not present it as something it is not — these are dated snapshots of published releases, not traded prices. It is provided without warranty — check anything you are going to act on against the CBK release it came from.
If you are building something on it and want a heads-up before the schema changes, or need a shape we do not publish, get in touch. The full contract is served beside the feed itself at /data/RATES-FEED.md — deliberately, so it is reachable by anyone who can reach the feed.