Iran Official vs Free Market Rate: Why Standard Forex APIs Get IRR Wrong
Iran official vs free market rate explained: who uses each rate, why the gap exists, why global forex APIs show a different USD/IRR and which rate to display.

- Iran has an official exchange mechanism for specific trade flows and a free market where most people and businesses buy currency.
- The two rates can differ by a large margin; global data vendors usually carry the official figure.
- For pricing, consumer apps and research on real purchasing power, the free-market rate is the relevant one — but label it clearly.
A traveller converts dollars at a Tehran exchange office and gets a number that is a fraction of what a currency app on their phone promised. A developer integrates a reputable forex API and ships a converter that Iranian users immediately call broken. Both stories come from the same fact: the Iran official vs free market rate are two different numbers, and most of the world’s data feeds carry the wrong one for everyday use.
Part of the Iranian Rial exchange rate API guide.
Two markets, two prices
| Official rate | Free-market rate | |
|---|---|---|
| Who sets it | State mechanisms (e.g. the central bank’s exchange centre) | Supply and demand among exchange offices, traders, the public |
| Who can use it | Approved importers and exporters for eligible goods | Anyone, within exchange-office rules |
| Price level | Usually lower | Usually higher; reflects expectations |
| Speed | Slow, managed | Minute by minute |
| Where you see it | Official announcements, many global data vendors | Exchange offices, trading channels, EZRate |
There have historically been even more rates — preferential rates for essential goods, rates for specific trading platforms — so the more general lesson is: always name the rate you show.
Why the gap exists
- Restricted access: demand that cannot be served at the official rate moves to the free market and pushes it up.
- Policy goals: official rates may be kept lower to contain the price of essential imports.
- Expectations: the free market prices in inflation and news immediately.
- Transaction risk: free-market trades carry costs and risks that show up in the price.
Why global forex APIs get IRR wrong
Global vendors aggregate interbank and central-bank data. For most currencies that is the market rate. For IRR, the international interbank market is extremely thin and the available reference is the official rate. So the API is not “buggy” — it is measuring a different thing. The result for products is the same: a number your Iranian users do not recognise. We discuss the consumer-facing side in why global trackers misreport the Rial.

Which rate should your product use?
| Use case | Rate to use |
|---|---|
| Consumer converter or travel app | Free market, with buy/sell |
| E-commerce prices in Toman pegged to USD | Free market (replacement cost) |
| Research on purchasing power or inflation | Free market, with history |
| Compliance or accounting | Whatever your regulator or auditor requires — often an official rate |
| Importer with an official allocation | Official rate for that allocation |
In many products the honest answer is to show both, clearly labelled. EZRate publishes the free-market rate; if you also need an official figure, source it separately and label it.
Getting the free-market rate in code
import os, requests
r = requests.get(
"https://api.ezrate.me/v1/rates/usd",
headers={"X-API-Key": os.environ["EZRATE_KEY"]},
params={"quote": "IRR"}, # or IRT (Toman, default)
timeout=10,
)
r.raise_for_status()
usd = r.json()["data"]
print(usd["market"], usd["buy"], usd["sell"], usd["sources"], usd["updated_at"])The markets array in the same response shows the dollar in Herat, Sulaymaniyah, Dubai and Istanbul too. A full Python and Django walkthrough is in USD to IRR API in Python.
Labelling checklist
- Name the rate: “Tehran free market”.
- Show buy and sell, not just one number.
- Show the unit: Toman or Rial.
- Show the time of the last update.
- Link to your methodology or your data provider’s.

Related live rates: US dollar rate, 18K gold price, Emami coin price.

Comments (0)
Comments are shown after review. Sign-in is needed to send.


