Exchange Rates API
The same data behind the dashboard, as JSON. Read-only, no key required.
Quick start
One endpoint, GET only, per country. Dominican Republic is do.
GET https://cmsp.cloud/api/exchange-rate/do
Without parameters you get the latest sell rates of USD and EUR for the six main banks:
curl "https://cmsp.cloud/api/exchange-rate/do"
Request builder
Set the filters, copy the code, or run the request right here.
Parameters
All optional, all in the query string. Lists are comma separated.
| Name | Default | Description |
|---|---|---|
banks |
bc,bsc,bpd,apap,res,pro |
Bank codes, see Bank codes. The InfoDolar average and its entities are not in the default list: ask for them by code. |
currency |
USD,EUR |
ISO 4217 codes, case insensitive. Only currencies a bank publishes are returned. |
operation_type |
sell |
buy: the price the bank pays you for the currency. sell: the price the bank charges you. One value per request. |
date |
all dates | Exact day, formatted DD-MM-YYYY (for example 05-11-2026). |
fields |
currency,rate,operation_type,bank,date |
Fields to return per record. id is always included. |
Response
Newest first. One record per bank, currency and operation per day.
{
"status": "success",
"data": [
{
"id": 4821,
"currency": [2, "USD"],
"rate": 59.85,
"operation_type": "sell",
"bank": "bpd",
"date": "2026-11-05"
}
]
}
currency is an Odoo record reference: [id, code]. Read the code from index 1.
rate is Dominican pesos (DOP) per one unit of the foreign currency.
Errors
| Status | When | Body |
|---|---|---|
400 | Malformed date or list parameter | {"status": "error", "data": "Invalid date format, expected DD-MM-YYYY"} |
404 | Nothing matches the filters | {"error": "No rates found for this bank"} |
500 | Invalid country code or other server error | {"error": "..."} |
Error bodies are not uniform yet: check the HTTP status first, then read error or data.
Bank codes
bc Banco Centralbsc Banco Santa Cruzbpd Banco Popularapap Asosciación Popularres Banco de Reservaspro Banco Promericainfodolar InfoDolar (Promedio)bhd Banco BHDlafise Banco Lafisebanesco Banescobonanza Bonanza Bancocibao Asociación Cibaonacional Asociación La Nacionalperavia Asociación Peraviaromana Asociación Romanacambio_extranjero Cambio Extranjerogamelin Gamelinmoneycorps Moneycorpsmotor_credito Motor Créditopanora Panora Exchangerm RMsct SCTtaveras Taverascapla CaplaGood to know
- Rates are collected from the banks' public pages, and each bank keeps one record per day: the first rate captured that day. It is a daily snapshot, not a live quote.
bc(Banco Central) is the official reference rate, not a retail quote.- If a bank could not be fetched on a given day, that day is simply missing for it: do not assume a continuous series.
- Since the data is a daily snapshot, polling more than a few times a day gains you nothing.