API MDL.md
Бесплатный REST API курсов валют, кредитов и депозитов Молдовы.
Основные сведения
| Базовый URL | https://mdl.md/api/v1 |
|---|---|
| Формат | JSON (Content-Type: application/json; charset=utf-8) |
| Аутентификация | Не требуется — публичный API. |
| CORS | Access-Control-Allow-Origin: * · открыт для всех источников. |
| Версия | X-API-Version: v1 |
Каждый ответ содержит булево поле success. При ошибке поле error описывает проблему, а HTTP-код равен 4xx или 5xx.
{
"success": true,
...
}
{
"success": false,
"error": "Currency not found or no rates for this date"
}
Ограничение запросов
Лимит составляет 300 запросов в час на один IP-адрес. Каждый ответ содержит заголовки ниже.
| Заголовок | Описание |
|---|---|
X-RateLimit-Limit |
Максимум запросов в час (300). |
X-RateLimit-Remaining |
Осталось запросов в текущем окне. |
X-RateLimit-Reset |
Unix-время сброса лимита. |
Retry-After |
Секунды ожидания (отправляется только при коде 429). |
При превышении лимита API отвечает кодом HTTP 429 и заголовком Retry-After: 3600.
Эндпоинты
/api/v1/rates
Официальный курс НБМ на сегодня или указанную дату.
| Параметр | Тип | Описание |
|---|---|---|
date | string | Дата, необязательно (YYYY-MM-DD). По умолчанию: сегодня. |
Поля ответа: success, date, source (BNM), rates[] → currency, rate, nominal, change, change_percent.
curl "https://mdl.md/api/v1/rates"
curl "https://mdl.md/api/v1/rates?date=2026-07-01"
/api/v1/rates/{date}
Официальный курс НБМ на конкретную дату, с названиями валют.
| Параметр | Тип | Описание |
|---|---|---|
date | string | Дата в пути запроса (YYYY-MM-DD) |
Поля ответа: success, date, source, rates[] → currency, rate, nominal, change_value, change_percent, name_ro, name_ru, name_en.
curl "https://mdl.md/api/v1/rates/2026-07-01"
/api/v1/rates/commercial
Коммерческие курсы банков (покупка/продажа) по типу операции.
| Параметр | Тип | Описание |
|---|---|---|
date | string | Дата, необязательно (YYYY-MM-DD). По умолчанию: сегодня. |
region | string | Фильтр по региону, необязательно. |
type | string | cash | card | transfer. По умолчанию: cash. |
Поля ответа: success, date, type, count, data[].
curl "https://mdl.md/api/v1/rates/commercial?type=cash"
/api/v1/convert
Конвертирует сумму из одной валюты в другую по курсу НБМ.
| Параметр | Тип | Описание |
|---|---|---|
from | string | Исходная валюта (EUR). По умолчанию: EUR |
to | string | Целевая валюта (MDL). По умолчанию: MDL |
amount | number | Сумма для конвертации, должна быть положительной. По умолчанию: 1 |
date | string | Дата, необязательно (YYYY-MM-DD). По умолчанию: сегодня. |
Поля ответа: success, data. Возвращает 400, если сумма не положительна, и 404, если валюта не найдена или нет курсов на дату.
curl "https://mdl.md/api/v1/convert?from=EUR&to=MDL&amount=100"
/api/v1/banks
Список активных банков и обменных касс с координатами для карты.
Без параметров.
Поля ответа: success, count, data[] → id, name, slug, type, website, city, region, latitude, longitude, is_24h.
curl "https://mdl.md/api/v1/banks"
/api/v1/history/{currency}
История курса НБМ и коммерческое среднее по валюте.
| Параметр | Тип | Описание |
|---|---|---|
currency | string | Код валюты в пути запроса (EUR, USD…) |
days | integer | Количество дней (1–365). По умолчанию: 30 |
Поля ответа: success, currency, days, bnm[], commercial_avg[].
curl "https://mdl.md/api/v1/history/EUR?days=30"
/api/v1/credits
Кредитные продукты банков с фильтрами и сортировкой.
| Параметр | Тип | Описание |
|---|---|---|
type | string | credit | mortgage | auto | express | all. По умолчанию: all |
amount | integer | Сумма кредита (минимум 1000), необязательно. |
term | integer | Срок в месяцах, необязательно (1–360) |
term_days | integer | Точный срок в днях (экспресс-продукты), необязательно (1–365) |
sort | string | dae | rate | payment | overpayment. По умолчанию: dae |
salary_card | boolean | 1 для клиентов с зарплатной картой, необязательно. |
Поля ответа: success, count, filters, data[].
curl "https://mdl.md/api/v1/credits?type=credit&amount=100000&term=36&sort=dae"
/api/v1/deposits
Депозитные продукты банков с фильтрами и сортировкой.
| Параметр | Тип | Описание |
|---|---|---|
currency | string | MDL | USD | EUR. По умолчанию: MDL |
type | string | term | savings | demand | accumulative | children | all. По умолчанию: all |
amount | integer | Сумма депозита (минимум 100), необязательно. |
term | integer | Срок в месяцах, необязательно (1–360) |
sort | string | effective | rate | term | amount | bank. По умолчанию: effective |
Поля ответа: success, count, filters, data[].
curl "https://mdl.md/api/v1/deposits?currency=MDL&type=term&sort=effective"
/api/v1/track-click
Регистрирует событие клика (внутреннее использование, вызывается сайтом).
Тело JSON (Content-Type: application/json):
| Параметр | Тип | Описание |
|---|---|---|
event_type | string | Обязательно: ad | credit_detail | credit_apply |
target_id | integer | Необязательно |
target_label | string | Необязательно |
target_url | string | Необязательно |
page_url | string | Необязательно |
Поля ответа: success.
curl -X POST "https://mdl.md/api/v1/track-click" \
-H "Content-Type: application/json" \
-d '{"event_type":"ad","target_label":"leaderboard","page_url":"/ro"}'
