Market prices
Across 34 Kenyan markets, traders sell dry onions at an average 39.9% above what they paid wholesale.
Cheapest retail
KSh 50
Taveta Retail Market, Taita-Taveta
Typical retail
KSh 100
median of 34 markets
Dearest retail
KSh 150
Kinango, Kwale
In Kimumu, traders buy at KSh 48 and sell at KSh 100 — a markup of 108.3%.
A markup is not overcharging. The trader carries transport, spoilage and the risk of unsold stock. But knowing the wholesale price tells you how much room there is to negotiate, and whether one seller is far out of line with the market next door.
| Market | County | Wholesale | Retail | Markup | Date |
|---|---|---|---|---|---|
| Kimumu | Uasin-Gishu | 48 | 100 | 108.3% | 2026-08-28 |
| Kerugoya | Kirinyaga | 45 | 90 | 100% | 2026-09-04 |
| Katito | Kisumu | 50 | 100 | 100% | 2026-08-20 |
| Lungalunga | Kwale | 50 | 100 | 100% | 2026-08-28 |
| Kinango | Kwale | 83.33 | 150 | 80% | 2026-09-03 |
| Sabatia | Kakamega | 80 | 140 | 75% | 2026-09-02 |
| Taveta Retail Market | Taita-Taveta | 30 | 50 | 66.7% | 2026-08-29 |
| Nkubu | Meru | 50 | 80 | 60% | 2026-09-01 |
| Cheptiret - Uasin Gishu | Uasin-Gishu | 90 | 140 | 55.6% | 2026-08-29 |
| Kagio | Kirinyaga | 80 | 120 | 50% | 2026-08-27 |
| Kamukuywa | Bungoma | 100 | 150 | 50% | 2026-09-01 |
| Ndanai Market | Bomet | 75 | 100 | 33.3% | 2026-08-28 |
| Mois Bridge | Uasin-Gishu | 90 | 120 | 33.3% | 2026-08-31 |
| Maua | Meru | 60 | 80 | 33.3% | 2026-09-03 |
| Mulot | Bomet | 90 | 120 | 33.3% | 2026-08-26 |
| Diani Market | Kwale | 60 | 80 | 33.3% | 2026-09-02 |
| Lubao Livestock Market | Kakamega | 60 | 80 | 33.3% | 2026-08-29 |
| Kipkaren | Kakamega | 50 | 65 | 30% | 2026-09-03 |
| Khayega | Kakamega | 55 | 70 | 27.3% | 2026-08-30 |
| Mukuyu Market | Muranga | 80 | 100 | 25% | 2026-08-26 |
| Musoli Market | Kakamega | 80 | 100 | 25% | 2026-09-01 |
| Embu Town | Embu | 80 | 100 | 25% | 2026-08-29 |
| Ngurubani Market | Kirinyaga | 80 | 100 | 25% | 2026-09-04 |
| Makutano Kirinyaga | Kirinyaga | 65 | 80 | 23.1% | 2026-09-04 |
| Mogogosiek Market | Bomet | 100 | 120 | 20% | 2026-09-01 |
| Muhoroni | Kisumu | 100 | 120 | 20% | 2026-08-30 |
| Kutus | Kirinyaga | 70 | 80 | 14.3% | 2026-09-03 |
| Gakoromone | Meru | 70 | 80 | 14.3% | 2026-08-28 |
| Kakamega Town | Kakamega | 70 | 80 | 14.3% | 2026-08-22 |
| Kangeta | Meru | 70 | 80 | 14.3% | 2026-09-02 |
| Langas | Uasin-Gishu | 90 | 100 | 11.1% | 2026-09-03 |
| Eldoret Main | Uasin-Gishu | 90 | 100 | 11.1% | 2026-09-02 |
| Ahero | Kisumu | 90 | 95 | 5.6% | 2026-09-01 |
| Holo | Kisumu | 76.19 | 80 | 5% | 2026-09-01 |
Prices are per kilogramme, collected by the Ministry of Agriculture from market returns. Coverage is currently 13 counties. Rows with implausible values — a wholesale price under KSh 1, or a markup above 200% — are excluded, since KAMIS contains occasional data-entry errors and publishing them would be worse than omitting them.
Source: KAMIS, Ministry of Agriculture & Livestock Development · Republished under the Access to Information Act 2016
All produce