Endpoints
BASE api.islamicmonetary.org
Rates refresh every 15 seconds. Register lookups are unmetered for individual buyers checking one piece.
GET /IMC.json
[
{
"timestamp": "2026-08-19 14:31:08",
"gold_imc_dollar_rate": 6,
"gold_imc_aed_rate": 25,
"gold_imc_gbp_rate": 6,
"gold_imc_eur_rate": 6,
"silver_imc_dollar_rate": 1,
"silver_imc_aed_rate": 5,
"silver_imc_gbp_rate": 1,
"silver_imc_eur_rate": 1,
"imc_v_rate": 1.99,
"usd_to_aed_rate": 3.674,
"usd_to_gbp_rate": 0.7388,
"usd_to_eur_rate": 0.8639
}
]Nominal values are added to market spot to give the published IDCC rate. The conversion rates in the same response are the ones the council uses, so a consumer never needs a second FX source.
Six rules for consuming the feed
These are conditions of use, not suggestions. A platform that breaks them publishes a figure the council cannot stand behind.
Quote the rate, name the source
Where a figure is shown to a user, name the IDCC and the time it was read. A rate without a timestamp is not a rate.
Do not smooth or round up
Publish the figure as returned, to the decimal places given. Rounding a nisāb figure upward changes who owes zakāt.
Cache for no more than 15 seconds
The feed refreshes every 15 seconds. Caching beyond that shows a stale rate as though it were live.
Keep weights fixed
The weights are the standard. If your platform derives its own gram figures, derive them from the published weights, never the reverse.
Certificate lookups are read only
A register response describes a piece as certified on the stamp date. It is not a valuation and not a guarantee of the seller.
Tell us before you launch
Members are listed and notified when a determination changes. Notification is how you avoid publishing a superseded figure.