API MDL.md

API REST gratuit pentru cursuri valutare, credite si depozite din Moldova.

Toate raspunsurile sunt in format JSON. API-ul este public, nu necesita cheie si poate fi apelat direct din browser sau server. Va rugam sa creditati sursa "MDL.md" cand folositi datele.

Notiuni de baza

URL de baza https://mdl.md/api/v1
Format JSON (Content-Type: application/json; charset=utf-8)
Autentificare Nu este necesara — API public.
CORS Access-Control-Allow-Origin: * · deschis pentru toate originile.
Versiune X-API-Version: v1

Fiecare raspuns contine campul boolean success. In caz de eroare, campul error descrie problema, iar codul HTTP este 4xx sau 5xx.

{
  "success": true,
  ...
}

{
  "success": false,
  "error": "Currency not found or no rates for this date"
}

Limita de cereri

Limita este de 300 cereri pe ora pentru fiecare adresa IP. Fiecare raspuns include anteturile de mai jos.

Antet Descriere
X-RateLimit-Limit Numarul maxim de cereri pe ora (300).
X-RateLimit-Remaining Cereri ramase in fereastra curenta.
X-RateLimit-Reset Timestamp Unix cand se reseteaza limita.
Retry-After Secunde de asteptare (trimis doar la codul 429).

La depasirea limitei, API-ul raspunde cu codul HTTP 429 si antetul Retry-After: 3600.

Endpoint-uri

GET /api/v1/rates

Cursul oficial BNM pentru ziua curenta sau o data specificata.

ParametruTipDescriere
datestringData, optional (YYYY-MM-DD). Implicit: ziua curenta.

Campuri in raspuns: 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"
GET /api/v1/rates/{date}

Cursul oficial BNM pentru o data anume, cu denumirile valutelor.

ParametruTipDescriere
datestringData ceruta in cale (YYYY-MM-DD)

Campuri in raspuns: 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"
GET /api/v1/rates/commercial

Cursurile comerciale ale bancilor (cumparare/vanzare) pe tip de operatiune.

ParametruTipDescriere
datestringData, optional (YYYY-MM-DD). Implicit: ziua curenta.
regionstringFiltrare dupa regiune, optional.
typestringcash | card | transfer. Implicit: cash.

Campuri in raspuns: success, date, type, count, data[].

curl "https://mdl.md/api/v1/rates/commercial?type=cash"
GET /api/v1/convert

Converteste o suma dintr-o valuta in alta la cursul BNM.

ParametruTipDescriere
fromstringValuta sursa (EUR). Implicit: EUR
tostringValuta tinta (MDL). Implicit: MDL
amountnumberSuma de convertit, trebuie sa fie pozitiva. Implicit: 1
datestringData, optional (YYYY-MM-DD). Implicit: ziua curenta.

Campuri in raspuns: success, data. Returneaza 400 daca suma nu este pozitiva si 404 daca valuta lipseste sau nu exista cursuri pentru data.

curl "https://mdl.md/api/v1/convert?from=EUR&to=MDL&amount=100"
GET /api/v1/banks

Lista bancilor si caselor de schimb active, cu coordonate pentru harta.

Fara parametri.

Campuri in raspuns: success, count, data[]id, name, slug, type, website, city, region, latitude, longitude, is_24h.

curl "https://mdl.md/api/v1/banks"
GET /api/v1/history/{currency}

Istoricul cursului BNM si media comerciala pentru o valuta.

ParametruTipDescriere
currencystringCodul valutei in cale (EUR, USD…)
daysintegerNumarul de zile (1–365). Implicit: 30

Campuri in raspuns: success, currency, days, bnm[], commercial_avg[].

curl "https://mdl.md/api/v1/history/EUR?days=30"
GET /api/v1/credits

Produse de creditare de la banci, cu filtre si sortare.

ParametruTipDescriere
typestringcredit | mortgage | auto | express | all. Implicit: all
amountintegerSuma creditului (minim 1000), optional.
termintegerTermen in luni, optional (1–360)
term_daysintegerTermen exact in zile (produse express), optional (1–365)
sortstringdae | rate | payment | overpayment. Implicit: dae
salary_cardboolean1 pentru clienti cu card salarial, optional.

Campuri in raspuns: success, count, filters, data[].

curl "https://mdl.md/api/v1/credits?type=credit&amount=100000&term=36&sort=dae"
GET /api/v1/deposits

Produse de depozit de la banci, cu filtre si sortare.

ParametruTipDescriere
currencystringMDL | USD | EUR. Implicit: MDL
typestringterm | savings | demand | accumulative | children | all. Implicit: all
amountintegerSuma depozitului (minim 100), optional.
termintegerTermen in luni, optional (1–360)
sortstringeffective | rate | term | amount | bank. Implicit: effective

Campuri in raspuns: success, count, filters, data[].

curl "https://mdl.md/api/v1/deposits?currency=MDL&type=term&sort=effective"
POST /api/v1/track-click

Inregistreaza un eveniment de click (uz intern, apelat de site).

Corp JSON (Content-Type: application/json):

ParametruTipDescriere
event_typestringObligatoriu: ad | credit_detail | credit_apply
target_idintegerOptional
target_labelstringOptional
target_urlstringOptional
page_urlstringOptional

Campuri in raspuns: 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"}'