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.

Banks (none selected = default six)

Parameters

All optional, all in the query string. Lists are comma separated.

NameDefaultDescription
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

StatusWhenBody
400Malformed date or list parameter{"status": "error", "data": "Invalid date format, expected DD-MM-YYYY"}
404Nothing matches the filters{"error": "No rates found for this bank"}
500Invalid 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 Central
bsc Banco Santa Cruz
bpd Banco Popular
apap Asosciación Popular
res Banco de Reservas
pro Banco Promerica
infodolar InfoDolar (Promedio)
bhd Banco BHD
lafise Banco Lafise
banesco Banesco
bonanza Bonanza Banco
cibao Asociación Cibao
nacional Asociación La Nacional
peravia Asociación Peravia
romana Asociación Romana
cambio_extranjero Cambio Extranjero
gamelin Gamelin
moneycorps Moneycorps
motor_credito Motor Crédito
panora Panora Exchange
rm RM
sct SCT
taveras Taveras
capla Capla

Good 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.