BNM API - Malaysia FX Rates, OPR, Kijang Emas & MGS Yields avatar

BNM API - Malaysia FX Rates, OPR, Kijang Emas & MGS Yields

Pricing

Pay per event

Go to Apify Store
BNM API - Malaysia FX Rates, OPR, Kijang Emas & MGS Yields

BNM API - Malaysia FX Rates, OPR, Kijang Emas & MGS Yields

Scrape Bank Negara Malaysia (BNM) Open API: daily MYR FX rates for 27 currencies, Overnight Policy Rate (OPR), bank base/lending rates (BR/BLR), kijang emas gold prices, MGS yields, and interbank rates. Date-range backfill. No auth required.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

12 hours ago

Last modified

Categories

Share

Extract data from the Bank Negara Malaysia (BNM) Open API — the official Malaysian central bank data portal. Covers MYR foreign exchange rates, Overnight Policy Rate (OPR), bank base/lending rates, kijang emas gold prices, Malaysian Government Securities (MGS) yields, interbank swap volumes, and more. No authentication required.

What you get

Each run returns clean, flat JSON records across all requested BNM endpoints:

  • Exchange Rates (exchange_rate) — Daily MYR buying, selling, and middle rates for 27 currencies (USD, EUR, SGD, CNY, AUD, JPY, GBP, CAD, CHF, AED, and more). These are the legally-recognised BNM reference rates for MYR-denominated financial reporting.
  • Kijang Emas Gold (kijang_emas) — BNM's official gold coin reference prices in RM per troy oz, half oz, and quarter oz. Used by gold dealers and jewellers across Malaysia.
  • Overnight Policy Rate (opr) — BNM's benchmark monetary policy rate. Updated after each Monetary Policy Committee (MPC) meeting.
  • Bank Base Rates (base_rate) — Published base rate (BR) and base lending rate (BLR) for 35+ Malaysian banks.
  • MGS Yields (mgs_yields) — Daily trading yields for Malaysian Government Securities (MGS), Government Investment Issues (GII), and short-term bills (BNM Monetary Notes, Treasury Bills).
  • FX Turnover (fx_turnover) — Total daily MYR foreign exchange market turnover (all deals, in billion USD).
  • Interbank Swap (interbank_swap) — Daily interbank swap volume across all published maturities (overnight through beyond one year).
  • Interest Rates (interest_rate) — Money market interest rates for overnight, 1-month, and 3-month tenors.

Use cases

  • Fintech and accounting tools — BNM rates are the legally-recognised reference for MYR-denominated financial reporting in Malaysia and Singapore
  • Gold dealers — kijang emas is BNM's official gold reference, updated daily
  • Fixed-income teams — MGS yield data for Malaysian Government Securities
  • Treasury and FX desks — Daily MYR rates against 27 currencies for hedging and exposure management
  • Corporate finance — OPR and bank base rate tracking for loan pricing analysis

Input

ParameterTypeDefaultDescription
endpointsarray["exchange_rate", "kijang_emas", "opr"]BNM endpoints to fetch. Choose from: exchange_rate, kijang_emas, base_rate, opr, mgs_yields, fx_turnover, interbank_swap, interest_rate
currenciesarray[] (all)ISO 4217 currency codes to filter for the exchange_rate endpoint. Empty = return all 27 currencies.
dateModestring"latest""latest" (current day), "specific_date" (one historical period), or "date_range" (multi-period backfill)
startDatestringRequired for specific_date and date_range. Format: YYYY-MM-DD
endDatestringRequired for date_range. Format: YYYY-MM-DD
maxItemsinteger200Maximum number of records to return

Output

Each record includes:

{
"endpoint": "exchange_rate",
"currency_code": "USD",
"unit": 1,
"buying_rate": 4.42,
"selling_rate": 4.4255,
"middle_rate": 4.4227,
"date": "2026-05-15",
"source_endpoint": "https://api.bnm.gov.my/public/exchange-rate",
"scraped_at": "2026-05-16T10:00:00.000Z"
}

Gold (kijang emas) records:

{
"endpoint": "kijang_emas",
"date": "2026-05-15",
"gold_buying_per_oz": 18660,
"gold_selling_per_oz": 19434,
"gold_buying_per_half_oz": 9330,
"gold_selling_per_half_oz": 9900,
"gold_buying_per_quarter_oz": 4665,
"gold_selling_per_quarter_oz": 5042,
"source_endpoint": "https://api.bnm.gov.my/public/kijang-emas",
"scraped_at": "2026-05-16T10:00:00.000Z"
}

OPR records:

{
"endpoint": "opr",
"date": "2026-05-07",
"opr_rate": 2.75,
"source_endpoint": "https://api.bnm.gov.my/public/opr",
"scraped_at": "2026-05-16T10:00:00.000Z"
}

FX turnover records:

{
"endpoint": "fx_turnover",
"date": "2026-08-18",
"fx_turnover_total_usd_bn": 23.69,
"source_endpoint": "https://api.bnm.gov.my/public/fx-turn-over",
"scraped_at": "2026-08-18T10:00:00.000Z"
}

MGS yield records (one row per security; mgs_security_type distinguishes MGS / GII / short-term bills):

{
"endpoint": "mgs_yields",
"date": "2026-08-18",
"mgs_security_type": "mgs",
"mgs_tenure": "10Y",
"mgs_coupon_pct": 3.476,
"mgs_yield_close_pct": 3.74,
"mgs_volume_rm_million": 5.07,
"source_endpoint": "https://api.bnm.gov.my/public/gov-sec-yield",
"scraped_at": "2026-08-18T10:00:00.000Z"
}

Data source

All data is sourced from the BNM Open API — Bank Negara Malaysia's publicly documented API with no authentication required. Data is official and updated daily by BNM.

Notes

  • Rate limit: 60 requests per minute (handled automatically with built-in throttling)
  • Date-range backfill mode generates one API call per calendar month for most endpoints; mgs_yields backfills one call per calendar day, since BNM does not publish a monthly batch for it
  • mgs_yields reflects real trading activity and can return no rows for a given day (e.g. a non-trading day) — that is expected, not an error