API gratuit curs valutar BNR
Oferim un API JSON gratuit cu cursurile valutare oficiale publicate de Banca Națională a României. Nu necesită autentificare, nu are limită de request-uri și suportă CORS pentru acces din browser.
Vrei doar să afișezi cursul pe site, fără să scrii cod? Folosește widget-ul gratuit de preluare curs — copy-paste, gata în 30 de secunde.
Endpoint
GET https://cursul-valutar.ro/api/rates.json Răspuns
Răspunsul este un obiect JSON cu structura de mai jos. Cursurile reflectă ultima publicare a BNR (de regulă din ziua curentă, după ora 13:00, în zilele bancare).
{
"base": "RON",
"source": "BNR",
"date": "2026-08-14",
"rates": [
{
"currency": "EUR",
"name": "Euro",
"value": 4.977,
"multiplier": 1,
"perUnit": 4.977,
"change": 0.0005,
"changePct": 0.01
},
{
"currency": "USD",
"name": "Dolar american",
"value": 4.521,
"multiplier": 1,
"perUnit": 4.521,
"change": -0.012,
"changePct": -0.27
}
]
} Câmpuri
| Câmp | Tip | Descriere |
|---|---|---|
base | string | Moneda de bază (întotdeauna "RON") |
source | string | Sursa datelor ("BNR") |
date | string | null | Data publicării (YYYY-MM-DD) sau null |
rates | array | Lista de cursuri (vezi mai jos) |
Fiecare element din rates:
| Câmp | Tip | Descriere |
|---|---|---|
currency | string | Codul ISO al valutei (ex: "EUR") |
name | string | Numele valutei în română |
value | number | Valoarea publicată de BNR pentru multiplier unități |
multiplier | number | Numărul de unități (1 pentru EUR/USD, 100 pentru HUF/JPY) |
perUnit | number | Valoarea per unitate (value / multiplier) |
change | number | null | Variație absolută față de ziua anterioară |
changePct | number | null | Variație procentuală față de ziua anterioară |
Exemple de utilizare
JavaScript / Node.js
const res = await fetch("https://cursul-valutar.ro/api/rates.json");
const data = await res.json();
const eur = data.rates.find(r => r.currency === "EUR");
console.log(`Curs EUR: ${eur.perUnit} RON`); Python
import requests
data = requests.get("https://cursul-valutar.ro/api/rates.json").json()
eur = next(r for r in data["rates"] if r["currency"] == "EUR")
print(f"Curs EUR: {eur['perUnit']} RON") cURL
curl -s https://cursul-valutar.ro/api/rates.json | python3 -m json.tool CORS și cache
API-ul permite acces cross-origin (Access-Control-Allow-Origin: *),
deci poate fi apelat direct din browser, fără proxy. Răspunsul este
cache-at public pentru 5 minute (max-age=300).
Condiții de utilizare
Datele provin din sursele oficiale publicate de BNR și sunt oferite „ca atare" (as is), fără garanții. Folosirea API-ului este gratuită atât pentru proiecte personale, cât și comerciale. Singurul lucru pe care vi-l cerem: un link de atribuire către cursul-valutar.ro dacă datele sunt afișate public.