West Africa FX Rates — Official Central Bank Exchange Rates API avatar

West Africa FX Rates — Official Central Bank Exchange Rates API

Pricing

from $0.10 / full market snapshot

Go to Apify Store
West Africa FX Rates — Official Central Bank Exchange Rates API

West Africa FX Rates — Official Central Bank Exchange Rates API

The only API pulling official daily FX rates directly from West African central banks — not World Bank annual releases. 11 countries, 4 currencies, history back to 1996. CBN, Bank of Ghana, BCEAO. Every record source-attributed with legal basis.

Pricing

from $0.10 / full market snapshot

Rating

0.0

(0)

Developer

Simon M

Simon M

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

West African FX Rates — Daily Central Bank Exchange Rates

Official USD exchange rates published daily by West African central banks, normalised into one consistent schema. Covers Nigeria (CBN), Ghana (BoG), the 8 WAEMU states (Benin, Burkina Faso, Côte d'Ivoire, Guinea-Bissau, Mali, Niger, Senegal, Togo), and Cape Verde (BCV) — 11 countries in total.

Unlike the World Bank, IMF, or ECB datasets already on Apify — which publish African macro data annually with a 6–12 month lag — this actor pulls fresh, daily rates straight from the issuing institutions.

Part of a regional family: West African FX Rates (this actor), with East, Southern, and North African actors in the same normalised schema.


Modes

Choose a mode to match your use case:

ModeWhat you getWhen to use it
usd-core (default)One USD rate per country, latest available dateDaily monitoring, dashboards, FX baskets
all-currenciesEvery currency each central bank publishes, latest dateMulti-currency exposure, FX desks
historicalUSD rate per country, every trading day in a date rangeBacktesting, time-series analysis, academic research

Input

FieldTypeDefaultDescription
modestringusd-coreSee modes table above.
countriesarrayall 11ISO 3166-1 alpha-2 codes to include. Nigeria: NG. Ghana: GH. Cape Verde: CV. WAEMU: BJ BF CI GW ML NE SN TG.
dateFromstringStart date (YYYY-MM-DD). Required in historical mode.
dateTostringEnd date (YYYY-MM-DD). Required in historical mode. All three sources support history: Nigeria back to ~2010, Ghana back to 1996, WAEMU back to 1999.
maxItemsinteger5000Hard cap on output rows.

Output

One record per country per run (in usd-core), per country-currency (in all-currencies), or per country-day (in historical).

Nigeria example:

{
"id": "NG:USD:2026-06-02:official",
"country": "NG",
"centralBank": "CBN",
"baseCurrency": "USD",
"quoteCurrency": "NGN",
"pair": "USD/NGN",
"date": "2026-06-02",
"buying": 1360.0497,
"selling": 1361.0497,
"mid": 1360.5497,
"midMethod": "published",
"inverseMid": 0.00073499,
"rateType": "official",
"warnings": [],
"source": {
"name": "Central Bank of Nigeria",
"url": "https://www.cbn.gov.ng/rates/ExchRateByCurrency.html",
"retrievedAt": "2026-06-02T15:00:00.000Z",
"asOfDate": "2026-06-02",
"licenseNote": "Reproduced with attribution per the CBN website Legal Disclaimer."
}
}

Read it as: 1 USD = 1360.55 NGN (buying rate: 1360.05, selling rate: 1361.05).

WAEMU/XOF example (Senegal):

{
"id": "SN:USD:2026-06-02:derived",
"country": "SN",
"centralBank": "BCEAO",
"baseCurrency": "USD",
"quoteCurrency": "XOF",
"pair": "USD/XOF",
"date": "2026-06-02",
"buying": null,
"selling": null,
"mid": 563.1016,
"midMethod": "published",
"inverseMid": 0.001776,
"rateType": "derived",
"sharedRate": true,
"warnings": [],
"source": {
"name": "BCEAO / ECB (derived daily)",
"url": "https://data-api.ecb.europa.eu/service/data/EXR/D.USD.EUR.SP00.A",
"retrievedAt": "2026-06-02T15:00:00.000Z",
"asOfDate": "2026-06-02",
"licenseNote": "EUR/USD source: ECB Statistical Data Warehouse (free reuse with attribution). USD/XOF derived using the fixed EUR/XOF peg of 655.957.",
"derivationNote": "USD/XOF = 655.957 ÷ ECB daily EUR/USD reference rate. The EUR/XOF peg is fixed by the French Treasury / EU treaty; derivation is exact, not estimated."
}
}

Field reference

FieldMeaning
country / centralBankISO 3166-1 alpha-2 country code + issuing bank abbreviation
baseCurrency / quoteCurrency / pairISO 4217 codes. pair = base/quote. Read as: "price of 1 baseCurrency in quoteCurrency."
dateThe rate's as-of date (ISO 8601, YYYY-MM-DD)
buying / selling / midRates as published. null where the source doesn't publish that leg. CBN (NG) and BoG (GH) publish all three. WAEMU and Cape Verde rates are derived from a fixed peg — no bid/ask spread exists, so buying and selling are always null for those rows; use mid.
midMethodHow the mid was obtained: published (bank's own figure), midpoint (computed as (buy+sell)/2), or unavailable
inverseMid1/mid — units of base per 1 quote (e.g. NGN per USD)
rateTypeofficial (CBN NFEM rate), interbank (BoG), derived (WAEMU/XOF — see below). Rates of different types are not directly comparable.
sharedRatetrue on WAEMU/XOF rows. All 8 states share one rate — see below.
warningsData-quality flags from the source, e.g. buying_gt_selling, mid_out_of_range
idDeterministic natural key (country:baseCurrency:date:rateType) — safe to use for upsert/dedup
sourceFull attribution and provenance block: bank name, URL, retrieval timestamp, as-of date, licence note

Coverage and source notes

Country / RegionBankRate typebuying / sellingHistorical
Nigeria (NG)Central Bank of Nigeriaofficial — NFEM daily closing rate✓ publishedAvailable; arbitrary date range via CBN API
Ghana (GH)Bank of Ghanainterbank — daily interbank mid, buying, selling✓ publishedAvailable back to 1996-01-02
8 WAEMU states (BJ BF CI GW ML NE SN TG)BCEAO / ECBderived — see notenull (peg, no spread)Available back to 1999-01-04 (ECB EUR/USD series start)
Cape Verde (CV)BCV / ECBderived — see notenull (peg, no spread)Available back to 1999-01-04 (ECB EUR/USD series start)

Why are WAEMU and Cape Verde rows derived? Both currencies are permanently pegged to the EUR by treaty:

  • XOF (8 WAEMU states): pegged at 655.957 since 1999 (French Treasury / EU treaty)
  • CVE (Cape Verde escudo): pegged at 110.265 since 1998 (Portugal, continued with the euro)

There is no independent USD rate for either currency — it is derived mathematically: USD/local = peg ÷ ECB daily EUR/USD. The derivation is exact, not estimated. Each row carries sharedRate: true and rateType: "derived". For billing, all 8 WAEMU rows count as one chargeable event per day (they share a single ECB data point); Cape Verde is a separate event.

Delayed data. Rates are scraped from each institution's published page — not a real-time feed. Expect a few hours' lag after a central bank publishes its daily figure.


Cost

Pay-per-event pricing:

ModeChargeTypical cost
usd-coreOne fx-snapshot per run$0.10 per run
all-currenciesOne fx-country-day per unique (currency, country, date) row$0.015 per row
historicalOne fx-country-day per unique (currency, country, date) — WAEMU 8 states count as 1$0.015 per country-day

Examples:

  • Daily usd-core for all 11 countries: $0.10/day (~$2.20/month)
  • 1 year of historical for Nigeria + Ghana: 2 × ~252 trading days = 504 events → **$7.56**
  • 1 year of historical for all 11 countries: Nigeria + Ghana + 1 WAEMU data point + Cape Verde = 4 × ~252 = 1,008 chargeable events → **$15**

Legality & disclaimers

Is the data real-time? No — it is delayed. We scrape each bank's published web page; publishing lag varies by institution.

Legal basis. Official exchange rates are factual data. Copyright protects creative expression, not facts. These central-bank sites carry only a general copyright notice with no contractual restriction on reusing the published rate figures. The Central Bank of Nigeria additionally grants explicit permission to copy material "provided that CBN is stated expressly as the source." Every output record carries the issuing bank's name, URL, and a licence note — we reproduce values exactly as published without alteration.

Accuracy. Values are reproduced as published. If a bank revises a figure, re-run to pick up the change; use asOfDate and retrievedAt to track versions.

Resilience. Each source is fetched independently. If one central bank's site is down, the run still returns data from the others and logs a per-source summary.

Issues / feedback: use the Issues tab on the actor page.

This is not legal or financial advice. Verify rates against the issuing central bank before acting on them.