Skip to content

Reference

Macro Education

FXMacroData vs OpenDOSM API: Malaysian Macro Data for MYR Traders

A buyer-guide comparison of the official OpenDOSM / data.gov.my API, the Bank Negara Malaysia OpenAPI, and FXMacroData for MYR traders and developers who need Malaysian CPI, OPR, and macro data in an FX workflow.

Share article X LinkedIn Email
Pip, the FXMacroData robot mascot, sits at a small wooden loom, winding two thin glowing threads into a single ribbon.
OpenDOSM and Bank Negara Malaysia publish the official Malaysian numbers. FXMacroData weaves them into one timestamped MYR feed beside 21 other currencies.

This comparison is for FX traders, quant developers, and analysts who need Malaysian macro data in a programmatic workflow and are deciding between the official OpenDOSM / data.gov.my API and FXMacroData. It also covers the Bank Negara Malaysia OpenAPI, because anyone trading the ringgit needs both the statistics office and the central bank.

The core finding: the Department of Statistics Malaysia (DOSM) runs one of the cleaner official open-data APIs in Asia. It is free, needs no API token, publishes under CC BY 4.0, and offers CSV and Parquet downloads for full history. It is also throttled to 4 requests per minute, covers Malaysia only, and dates releases by reference month rather than publication instant. FXMacroData reads the same official DOSM and BNM releases and adds what an FX workflow needs: second-level announcement timestamps, one schema across 22 currencies, a release calendar, USD/MYR pair context, and MCP access for AI agents.

Decision snapshot

Choose OpenDOSM / data.gov.my when

You research Malaysia in depth, want every CPI division, state, and sub-index, need full history as Parquet, and can live with 4 requests per minute.

Choose FXMacroData when

You trade MYR against other currencies and need publication-time stamps, a calendar, cross-country comparisons, pair dashboards, and one API for 22 currencies.

Entry access

data.gov.my: free, no token, CC BY 4.0.* FXMacroData: Always Free USD tier; MYR data on the $50/month Individual plan with a 14-day trial.

Takeaway: use the official API as the source of record for deep Malaysian research; use FXMacroData when Malaysian data has to sit inside a multi-currency, release-timed FX workflow.

* Access terms retrieved from the official data.gov.my developer documentation in October 2026.

Pricing And Access

This is not a price war. The Malaysian Government's Open API at api.data.gov.my is free, and its quickstart guide states that it does not require an API token. The FAQ and every catalogue page state that the data is open under the Creative Commons Attribution 4.0 International License, so it can be reused commercially with attribution. Bank Negara Malaysia's public OpenAPI is also free to call; it asks for a versioned Accept header rather than a key.

FXMacroData is a paid workflow product. The Always Free tier covers USD data only, with no key, 100 requests per day, and USD announcements delayed 15 minutes. MYR data needs a paid plan: Individual at $50/month or $500/year with a 14-day trial and 1,000,000 requests per month, or Business at $250/month for companies and teams of up to 10 people. What the money buys is not the Malaysian numbers themselves, which are public, but the release timing, normalisation, and cross-currency layer around them.

OpenDOSM / data.gov.my API

Free, no token*

CC BY 4.0 data, JSON API, CSV and Parquet file downloads, 4 requests per minute per API.

Bank Negara Malaysia OpenAPI

Free*

Overnight Policy Rate, exchange rates, and other BNM series; requests send the versioned BNM Accept header.

FXMacroData Individual

$50/month

22 currencies including MYR, 1,000,000 requests/month, bursts of 300/min, 14-day trial.

Takeaway: if all you need is Malaysian data and you can schedule around the throttle, the official API costs nothing; FXMacroData earns its fee when MYR is one leg of a multi-currency, release-driven process.

* Access terms retrieved from the official data.gov.my developer documentation and the BNM OpenAPI page in October 2026. Neither lists a paid tier.

Malaysia CPI Straight From The Official API

To show what the official API returns, the chart below plots the last 12 monthly prints of headline Malaysian CPI inflation from the cpi_headline_inflation dataset, filtered to the overall index. A single request with filter=overall@division&sort=-date&limit=12 returns these rows as plain JSON with date, division, inflation_yoy, and inflation_mom fields.

Malaysia headline CPI inflation, % year on year

Overall index, September 2025 to August 2026. Hover a point for the exact print.

Takeaway: headline inflation drifted up from 1.3% in October 2025 to a 2.0% peak in May 2026 and held near 1.9% through August, a gentle trend that matters for MYR mostly through what it implies for the Overnight Policy Rate.

Source: Department of Statistics Malaysia via the data.gov.my Data Catalogue API, dataset cpi_headline_inflation (CC BY 4.0), retrieved October 2026.

The same rows exist in FXMacroData as MYR inflation announcements. The difference is not the value; it is the metadata attached to each print. The official catalogue dates the August reading as 2026-08-01, the reference month. An FX workflow also needs to know that the figure became public at noon Malaysia time on 18 September, so that a backtest does not use it in early August.

Side-By-Side Comparison

Attribute OpenDOSM / data.gov.my API FXMacroData
Core job Official open-data distribution for DOSM and other Malaysian government datasets. FX macro data API, release calendar, pair dashboards, and MCP for 22 currencies.
Entry pricing Free, no API token.* Always Free (USD only); $50/month Individual; $250/month Business.
Free tier Entire API is free.* USD data, no key, 100 requests/day, 15-minute delay on USD announcements; 14-day trial on paid plans.
Coverage Malaysia only, in depth: CPI by division and state, labour force, trade, industrial production, GDP, and many non-economic datasets. 700+ indicator series across 22 currencies, MYR included: CPI, core CPI, PPI, GDP, labour, trade, current account, OPR, money supply, bond yields.
Release timing DOSM disseminates at 12:00 MYT; the catalogue records a last-updated time and next-update time per dataset; rows are dated by reference month.* Second-level announcement_datetime on every row; typically available within seconds of official publication, measured publicly.
API format REST JSON with id, filter, sort, date_start, limit, include; CSV and Parquet files.* REST JSON with OpenAPI, header auth, SSE streaming, GraphQL, Python/JS SDKs.
Rate limits 4 requests per minute per API; excess returns HTTP 429.* 1,000,000 requests/month, bursts of 300/min and 5,000/hour, 20 concurrent.
History Full official history; headline CPI index from January 1980.* Long official history per series with source metadata and point-in-time announcement records.
AI / MCP No official MCP server listed; an AI helper is linked from the developer docs.* Official MCP server for Claude, ChatGPT, Cursor, and other clients.
Licence for programmatic or commercial use CC BY 4.0: free reuse, including commercial, with attribution.* Individual plan for personal and internal use; Business for teams; Commercial Redistribution add-on from $10/month per 100 measured users.
Best fit Malaysia-focused research, official citation, bulk history, granular sub-indices. MYR trading alongside USD, CNY, regional Asian currencies, and G10 pairs; event studies and automation.

* Access terms, limits, and licence retrieved from the official data.gov.my developer documentation and OpenDOSM catalogue pages in October 2026.

What OpenDOSM And data.gov.my Do Well

The Malaysian open-data stack is well designed for an official service. The developer documentation lists two static APIs relevant here: the Data Catalogue API at /data-catalogue for the national catalogue, and the OpenDOSM API at /opendosm for DOSM-specific datasets such as cpi_core. Each dataset page on the OpenDOSM catalogue shows a sample API query, the field definitions, methodology notes, the last-updated and next-update times, and direct links to CSV and Parquet files on DOSM storage.

The query language is more capable than many statistics-office APIs. Beyond id and limit, the request-query page documents exact and case-insensitive filters, partial matches, numeric ranges, sorting, date and timestamp windows, and column include/exclude. For a researcher who wants every CPI division across every state, that granularity is something a cross-currency product will not replicate.

Official-source strength map

Authority

DOSM is the publisher. Citing data.gov.my is citing the source of record.

Bulk files

Parquet and CSV downloads load full history in one call, which sidesteps the API throttle.

Granularity

CPI by division and state, core CPI, labour, trade, and production detail beyond any FX headline set.

Open licence

CC BY 4.0 allows commercial reuse with attribution, with no account or token.

Takeaway: for depth on Malaysia alone, the official stack is the reference, and its Parquet files make bulk history easy.

Bank Negara Malaysia OpenAPI

DOSM publishes the statistics; Bank Negara Malaysia sets policy. The BNM OpenAPI exposes the Overnight Policy Rate, daily exchange rates, and other central-bank series as JSON. Calls go to api.bnm.gov.my/public with the header Accept: application/vnd.BNM.API.v1+json; the /opr route returns the latest decision date, the change, and the new level, which was held at 2.75% at the 3 September 2026 meeting. For how the OPR, Malaysian government bond yields, and MYR interact, see the Bank Negara Malaysia guide.

The practical consequence for a ringgit trader is two official APIs with two schemas, two authentication patterns, and two timing conventions, before any other currency is added. FXMacroData folds both into one MYR namespace next to the other 21 currencies.

Release Timing And Point-In-Time Data

DOSM disseminates its releases at 12:00 MYT under embargo, with the schedule published in its Advance Release Calendar. The catalogue metadata is transparent: the headline inflation page listed its last update as 18 September 2026 at 12:25 and its next update as 19 October 2026 at 12:30. That is a refresh record for the dataset, not a publication timestamp on each observation; the rows themselves carry only the reference month.

For a monthly research database, that is fine. For FX, the release instant is the event. FXMacroData records every MYR print with a second-level announcement_datetime anchored to the official publication, makes it available typically within seconds, and publishes its measured record by source at /release-speed. Upcoming DOSM and BNM events also appear in the release calendar.

One CPI release, two views of time

1. Scheduled

The release date appears in DOSM's Advance Release Calendar and in the FXMacroData calendar.

2. 12:00 MYT embargo lifts

DOSM publishes the statement. This is the moment USD/MYR can react.

3. Catalogue refresh

data.gov.my updates the dataset; the new row is dated by reference month.

4. FXMacroData row

The print carries announcement_datetime at publication, plus prior and change, in the same shape as every other currency.

Takeaway: the official API answers "what was CPI for August"; FXMacroData also answers "when could a trader first know it", which is what a no-lookahead backtest needs.

API Ergonomics And Rate Limits

A data.gov.my call is simple: GET https://api.data.gov.my/data-catalogue?id=cpi_headline_inflation&filter=overall@division&limit=12. No key, no signup. The limit is the constraint. At 4 requests per minute per API, a job that refreshes 30 Malaysian series one by one needs at least seven and a half minutes, and any burst at 12:00 MYT will hit HTTP 429. The documented way around this is to pull the Parquet or CSV file, which is efficient for history but not designed for polling a release.

FXMacroData uses one request shape for every currency. MYR inflation is the same call as US inflation with a different path segment:

curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/myr/inflation"

Example response (abridged, illustrative)

{
  "currency": "MYR",
  "indicator": "inflation",
  "data": [
    {
      "date": "2026-08-01",
      "val": 1.9,
      "prior": 1.8,
      "announcement_datetime": 1789704000
    }
  ]
}

Fields that matter

date is the reference month, matching DOSM. announcement_datetime is the publication instant in epoch seconds, here 12:00 MYT on 18 September 2026.

Why it matters

Join the row to USD/MYR ticks on the timestamp, compare it with US CPI on the same schema, and keep the backtest free of lookahead.

Takeaway: the official API gives you the number; the FXMacroData row gives you the number plus the moment, in a shape shared by all 22 currencies.

A USD/MYR Workflow Example

Consider a trader positioning around Malaysian CPI while the market also prices the Federal Reserve. Using the official route, they would pull DOSM CPI from data.gov.my, the OPR from the BNM OpenAPI, US CPI from the BLS, and a Fed path from elsewhere, then reconcile four schemas and four timing conventions. Using FXMacroData, the same picture is four calls on one API.

USD/MYR release storyboard

Week before

Calendar shows Malaysian CPI at 12:00 MYT and the next BNM policy meeting; check the latest OPR and core inflation trend.

Release minute

The new print arrives with its announcement timestamp; an alert compares it with the prior reading.

Same afternoon

Compare Malaysian and US real rates, check Malaysian bond yields, and review the move on the USD/MYR dashboard.

In an AI assistant

Ask an MCP-connected assistant whether the print changes the OPR outlook, with source-labelled rows behind the answer.

Takeaway: the official APIs are where each number originates; the trading workflow needs them combined, timed, and set beside the other side of the pair.

Where OpenDOSM Is Genuinely Stronger

  • Depth on Malaysia. CPI by division and by state, detailed labour-force tables, trade by product and partner, and many datasets that have no FX relevance but matter to a Malaysia economist.
  • Cost and licence. Free, no token, and CC BY 4.0. For a redistributor or a public dashboard, attribution is the only obligation.
  • Bulk history. One Parquet file loads decades of a series into pandas or DuckDB without any request budget.
  • Source of record. When a figure is disputed or revised, the official catalogue and DOSM release are the reference that FXMacroData itself follows.
  • Methodology on the page. Each catalogue page carries definitions, methodology notes, and update times next to the data.

Where FXMacroData Is Stronger

  • Publication timestamps. Every MYR row records when it became public, to the second, so event studies and backtests line up with price data.
  • One schema across 22 currencies. MYR sits next to USD, EUR, JPY, CNY, KRW, THB, TWD, and others with identical field names and request shapes.
  • Throughput. 1,000,000 requests per month with bursts of 300 per minute versus 4 per minute on the official API.
  • Both Malaysian publishers in one place. DOSM statistics and BNM policy rate, money supply, and bond yields under one key.
  • FX context. Release calendar, USD/MYR dashboard, FX spot rates, commodities, and central-bank press releases.
  • AI readiness. An official MCP server, OpenAPI spec, and SDKs for agent and notebook workflows.

OpenDOSM tradeoffs

  • 4 requests per minute per API.
  • Malaysia only; BNM data is a separate API.
  • Rows dated by reference month, not publication instant.
  • No release-event stream or pair context.

FXMacroData tradeoffs

  • Not the original publisher.
  • Headline and FX-relevant series, not every sub-index or state table.
  • MYR data needs a paid plan.
  • Redistribution needs the add-on rather than an open licence.

Takeaway: the tradeoffs mirror each other: official breadth and openness against FX timing, throughput, and cross-currency consistency.

Decision Matrix

Reader Better fit Reason
Malaysia economist or academic OpenDOSM / data.gov.my Full official detail, methodology, bulk files, and an open licence.
Public dashboard or open-data app OpenDOSM / data.gov.my CC BY 4.0 reuse with attribution and no cost.
USD/MYR or Asia FX trader FXMacroData Release timestamps, calendar, OPR, and the US side of the pair in one place.
Quant running cross-country event studies FXMacroData One schema across 22 currencies and point-in-time publication stamps.
AI or automation builder FXMacroData MCP, OpenAPI, and request budgets that suit agents and scheduled jobs.
Data team building a Malaysia warehouse plus FX signals Both Load official history from Parquet; use FXMacroData for live, timed release rows.

Recommendation

Use OpenDOSM and data.gov.my when the work is about Malaysia itself: detailed price indices, regional breakdowns, official citation, or a free public product. Pair it with the BNM OpenAPI for policy-rate and exchange-rate history. Plan around the 4-requests-per-minute limit by leaning on Parquet downloads.

Use FXMacroData when the ringgit is one currency in a trading or research process: you need to know when each Malaysian print became public, compare it with US, Chinese, or regional data on the same schema, watch the calendar, and hand the result to a model or an AI assistant. Check the API reference for the MYR indicator list, review the measured release speed record, and compare plans, including the 14-day trial.

Bottom line: OpenDOSM is the authoritative, free, openly licensed home of Malaysian statistics and the right choice for Malaysia-only depth. FXMacroData reads the same DOSM and BNM releases and adds publication-time stamps, higher throughput, one schema across 22 currencies, and MCP access, which is what MYR traders and multi-currency developers need.

Sources Checked

Evidence checked - October 2026

FXMacroData API data

Data endpoints used in this article

No FXMacroData API data endpoint is attributed to this article. Its evidence base is identified in the article and source links.

Explore the FXMacroData API reference

Frequently asked

Questions about this topic

Is the OpenDOSM API or FXMacroData better for Malaysian macro data?

OpenDOSM and data.gov.my are better for Malaysia-only depth: every CPI division and state, bulk Parquet history, and free CC BY 4.0 reuse. FXMacroData is better when MYR is part of an FX workflow that needs second-level release timestamps, a calendar, the BNM policy rate, and one schema across 22 currencies.

Does the data.gov.my / OpenDOSM API need an API key?

No. The official quickstart guide reviewed in October 2026 states that the Open API does not require an API token. Requests are throttled instead.

What is the rate limit on the data.gov.my API?

The official rate-limit page lists 4 requests per minute for each API, including the Data Catalogue and OpenDOSM APIs. Requests above the limit receive HTTP 429 Too Many Requests. Bulk history is better pulled from the CSV or Parquet files linked on each dataset page.

What time does DOSM release Malaysia CPI?

DOSM disseminates its statistical releases, including CPI, at 12:00 Malaysia time under embargo, following its Advance Release Calendar. FXMacroData records each MYR print with a second-level announcement timestamp at publication.

Can I use OpenDOSM data commercially?

The data is published under the Creative Commons Attribution 4.0 International License, which allows commercial reuse with attribution. FXMacroData plans are licensed for personal, internal, or team use, with a separate Commercial Redistribution add-on for redistribution.

Where does FXMacroData get its Malaysian data?

FXMacroData reads the same official releases from the Department of Statistics Malaysia and Bank Negara Malaysia, then adds publication timestamps, a release calendar, and a consistent schema shared with 21 other currencies.

Keep reading

Blogroll

AI Answer-Ready

Key Facts

Page
FXMacroData vs OpenDOSM API: Malaysian Macro Data for MYR Traders
Section
Articles
Canonical URL
https://fxmacrodata.com/articles/fxmacrodata-vs-opendosm-api
Source
FXMacroData editorial and official publisher references
Last Updated
2026-10-05 15:01 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

Is the OpenDOSM API or FXMacroData better for Malaysian macro data? OpenDOSM and data.gov.my are better for Malaysia-only depth: every CPI division and state, bulk Parquet history, and free CC BY 4.0 reuse. FXMacroData is better when MYR is part of an FX workflow that needs second-level release timestamps, a calendar, the BNM policy rate, and one schema across 22 currencies.

Does the data.gov.my / OpenDOSM API need an API key? No. The official quickstart guide reviewed in October 2026 states that the Open API does not require an API token. Requests are throttled instead.

What is the rate limit on the data.gov.my API? The official rate-limit page lists 4 requests per minute for each API, including the Data Catalogue and OpenDOSM APIs. Requests above the limit receive HTTP 429 Too Many Requests. Bulk history is better pulled from the CSV or Parquet files linked on each dataset page.

What time does DOSM release Malaysia CPI? DOSM disseminates its statistical releases, including CPI, at 12:00 Malaysia time under embargo, following its Advance Release Calendar. FXMacroData records each MYR print with a second-level announcement timestamp at publication.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.

Share page X LinkedIn Email