ZimRate API: Free Exchange Rate Data for Zimbabwean Developers
If you've ever hardcoded a USD/ZiG rate into a Zimbabwean app, you know the pain. Here's how to stop doing that forever.

If you've ever hardcoded a USD/ZiG rate into a Zimbabwean app, you know the pain. Here's how to stop doing that forever.
The Problem Every Zimbabwean Developer Knows Too Well
You're building something — an invoicing app, a POS integration, a price comparison tool, maybe just a personal finance tracker. At some point you need the current exchange rate. And in Zimbabwe, that's never simple.
The Reserve Bank of Zimbabwe publishes interbank rates on its website. But there's no official API. The data sits in HTML tables that change structure without warning. The parallel market rate lives in WhatsApp groups and word-of-mouth. And the ZiG/USD rate moves often enough that yesterday's number is genuinely dangerous to use today.
So Zimbabwean developers do what they've always done: scrape the RBZ site themselves, hardcode rates they got from a broker, or skip the feature entirely. None of those options scale. None of them are reliable. And all of them waste time that should go into building the actual product.
That's why we built ZimRate — a free REST API that serves live Zimbabwe exchange rates as clean JSON, sourced directly from the Reserve Bank of Zimbabwe, updated multiple times per day.
What ZimRate Actually Gives You
ZimRate is a straightforward REST API. No SDK to install, no webhook setup, no OAuth dance. You make an HTTP GET request, you get JSON back.
Here's what's available:
Exchange Rates
The core endpoint. Returns current RBZ interbank rates for all supported currency pairs:
- USD/ZWG — US Dollar to Zimbabwe Gold (the one you need most)
- EUR/ZWG — Euro to Zimbabwe Gold
- GBP/ZWG — British Pound to Zimbabwe Gold
- ZAR/ZWG — South African Rand to Zimbabwe Gold
Each rate includes the bid, ask, and average values, plus the day-over-day change. You can filter by currency pair or pull all of them at once.
Rate History
Need to show a chart, calculate a moving average, or check how the rate moved over the last month? The history endpoint returns daily averages for any supported pair over any date range. Useful for dashboards, trend analysis, or just giving your users context on whether a rate is unusually high or low.
Inflation Data
Zimbabwe's inflation figures matter for any app dealing with pricing, lending, or financial planning. ZimRate serves the latest published inflation statistics directly — no need to PDF-scrape the RBZ's monthly reports.
Gold Prices
The Mosi-oa-Tunya gold coin is a uniquely Zimbabwean financial instrument. ZimRate tracks its published price for developers building investment tools, portfolio trackers, or financial news apps.
Getting Started in Five Minutes
1. Create a Free Account
Head to zimrate.statotec.com and sign up with your email. No credit card. No trial period. The free tier is permanent.
2. Generate an API Key
From your dashboard, create a named API key. Keys are prefixed zr_ and you can create multiple — one per project is a good habit, since you can revoke them independently.
3. Make Your First Request
Here's the simplest possible call — get the current USD/ZWG rate:
JavaScript:
const res = await fetch(
"https://zimrate.statotec.com/api/v1/rates?pair=USD/ZWG",
{ headers: { Authorization: "Bearer zr_your_api_key_here" } }
);
const { data } = await res.json();
console.log(`USD/ZWG: ${data.rates[0].avg}`);
Python:
import requests
res = requests.get(
"https://zimrate.statotec.com/api/v1/rates",
params={"pair": "USD/ZWG"},
headers={"Authorization": "Bearer zr_your_api_key_here"},
)
rate = res.json()["data"]["rates"][0]["avg"]
print(f"USD/ZWG: {rate}")
cURL:
curl -H "Authorization: Bearer zr_your_api_key_here" \
"https://zimrate.statotec.com/api/v1/rates?pair=USD/ZWG"
That's it. You're live.
4. Authentication Options
You can pass your key two ways:
- Authorization header (recommended):
Authorization: Bearer zr_your_api_key_here - Query parameter:
?api_key=zr_your_api_key_here
The header approach keeps your key out of server access logs and is the better practice for production.
Free Tier vs Paid Plans
The free tier is designed to be genuinely useful, not a teaser:
| Tier | Requests/Minute | Requests/Day | Price |
|---|---|---|---|
| Free | 10 | 100 | $0 |
| Starter | 120 | 10,000 | — |
| Premium | 600 | Unlimited | — |
| Business | 1,200 | Unlimited | — |
100 requests per day is enough for most early-stage projects. If your app checks the rate once an hour during business hours, that's roughly 10 requests per day — you'd use 10% of your free quota. Even a small production app serving a handful of customers can often stay within the free tier.
When you do outgrow it, the upgrade path is simple — same API, same key, higher limits.
What About the Alternatives?
If you're searching for Zimbabwe exchange rate data as a developer, you'll find a few other options. Here's an honest look at how they compare:
Scraping the RBZ Website Yourself
This is the DIY approach. You write a scraper, schedule it with cron or GitHub Actions, parse the HTML, and store it somewhere. It works — until the RBZ redesigns a table, changes a CSS class, or moves a page. Then your scraper breaks at 2 AM and your app shows stale rates until you notice. If you enjoy maintaining scrapers, go for it. If you'd rather spend that time building your actual product, an API is the better path.
Open-Source GitHub Projects
There are a few open-source repos that scrape RBZ data and expose it as an API. These are solid community efforts and worth acknowledging. The trade-off is that you're depending on an individual maintainer's spare time. If they get busy, move on, or their hosting goes down, your app feels it. There's typically no SLA, no rate-limit headers, and no paid tier if you need guaranteed uptime.
International Exchange Rate APIs
Services like Open Exchange Rates, Fixer, or ExchangeRate-API are reliable and well-documented. But they focus on major world currencies. Zimbabwe's ZiG (ZWG) is either missing entirely, delayed by days, or priced based on models rather than actual RBZ interbank data. For an app that needs to show a Zimbabwean user their real exchange rate, international APIs usually aren't accurate enough.
ZimRate's Position
ZimRate is purpose-built for this specific problem: real-time Zimbabwean exchange rate data, from the source, with developer-friendly delivery. The free tier means you can validate your idea before spending anything. The paid tiers mean you won't hit a wall when your app takes off.
Real Use Cases
Here's what developers are actually building with ZimRate:
- POS and invoicing systems that auto-convert between USD and ZiG at the current interbank rate, so shopkeepers don't have to look up the rate manually every morning
- E-commerce platforms that display accurate ZiG-equivalent prices alongside USD listings
- Financial dashboards that track the ZWG rate over time with charts and alerts for significant movements
- Fintech apps that need reliable rate data for compliance, reporting, or transaction records
- Price comparison tools that normalise prices across currencies to show the real cost
- Accounting software that records transactions at the day's official rate for auditing
Handling Rate Limits and Errors Gracefully
ZimRate returns standard HTTP status codes and rate-limit headers with every response:
X-RateLimit-Remainingtells you how many requests you have left this minuteX-Daily-Remainingshows your daily quota- A
429response means you've hit a limit — check theRetry-Afterheader before retrying
Best practice: Cache the response for a reasonable interval. Exchange rates don't change every second. Caching for 15–30 minutes is perfectly safe for most apps and keeps you well within the free tier's limits.
CORS-Enabled for Frontend Apps
Every ZimRate endpoint supports CORS, which means you can call the API directly from a browser-based JavaScript app. No backend proxy needed for simple dashboards, widgets, or single-page applications. Just be mindful of exposing your API key in client-side code — for production frontend apps, route calls through your own backend.
Start Building
ZimRate exists because Zimbabwe's developers deserve the same quality of financial data infrastructure that developers in bigger markets take for granted. Exchange rate data shouldn't be a problem you solve — it should be a utility you plug in.
Get your free API key at zimrate.statotec.com and start building. The documentation covers every endpoint, parameter, and response format in detail. If you hit a wall, reach out — we're developers too, and we built this because we needed it ourselves.
Statotech Systems builds business software for Zimbabwe. ZimRate, our free exchange rate API and dashboard, is used by developers and businesses across the country to access reliable, real-time financial data. Visit zimrate.statotec.com to get started.


