CurrencyRateAPI
Инструмент за бързо стартиране
Трябва да тествате API-то, без да преглеждате пълната документация? Отидете в контролния панел, където ще намерите инструмента за бързо стартиране – лесен начин да изпробвате всички налични крайни точки с едно щракване.
Кликнете върху бутона по-долу, за да се регистрирате безплатно и да започнете да използвате инструмента за бързо стартиране.
Първи стъпки
Ключови термини и понятия, които ще ви трябват, за да започнете работа с Currency Rate API:
| Определение | Описание |
|---|---|
| Символ | Трибуквен код на валутата (напр. USD, EUR). Поддържаме стандартни кодове по ISO 4217 за фиатни валути и различни кодове за криптовалути . |
| Базова валута | Валутата, от която започва конвертирането. Например, ако 1 USD = X EUR, тогава USD е базовата валута. Базовата валута по подразбиране е EUR. |
| Целева валута | Валутата, в която се конвертира базовата валута. Използвайки същия пример, EUR е целевата валута. |
| Криптовалути | В допълнение към традиционните фиатни валути, нашият API обработва и предоставя обменни курсове за широк спектър от популярни криптовалути. |
| Базов URL адрес | Основният URL адрес, използван за всички крайни точки на API. Всички заявки се изпращат към този основен път. |
Отговор на API
Валутните курсове, предоставени от CurrencyRateAPI, са по подразбиране в евро. Всички данни се връщат в стандартен JSON формат и могат лесно да бъдат анализирани с помощта на всеки език за програмиране.
Примерен отговор:
По-долу ще намерите примерен API отговор, съдържащ набор от често срещани световни валути, всички спрямо еврото и с времева маркировка, в която са получени.
{
"success": true,
"base": "eur",
"date": "2025-08-25",
"rates": {
"usd": "1.1697",
"gbp": "0.8659",
"cad": "1.6171"
},
"last_update_unix": "1769067006"
}
Както е показано по-горе, отговорът на API за валутни курсове в реално време включва няколко ключови полета:
- success показва дали заявката е била успешна.
- base връща 3-буквения код на базовата валута, използвана за тази заявка.
- date връща действителната дата, за която са предоставени валутните курсове (формат ГГГГ-ММ-ДД).
- rates съдържа списък с исканите валути и техните текущи обменни курсове.
- last_update_unix показва времевия печат (в Unix формат) на последните налични данни в системата.
Налични крайни точки
CurrencyRateAPI включва няколко крайни точки на API, всяка от които предлага специфична функционалност. Наличността на определени крайни точки зависи от вашия абонаментен план.
- Крайна точка на списъка с валути. Тази крайна точка връща пълния списък с всички поддържани валути.
/api/codes(Алтернатива:/api/currencies) - Крайна точка на най-новите цени. Тази крайна точка връща данни за обменния курс в реално време за всички поддържани валути.
/api/latest - Крайна точка на историческите лихвени проценти. Тази крайна точка връща исторически данни за валутния курс за конкретна дата.
/api/YYYY-MM-DD(Алтернатива:/api/history?date=YYYY-MM-DD). Историческите данни са налични от 4 януари 1999 г.
Методология на валутния курс
За да се гарантира точност и последователност на данните, CurrencyRateAPI следва стриктна методология за управление и предоставяне на валутни курсове:
- Средни пазарни цени: По подразбиране API връща
midцени. Те представляват средноаритметичната стойност между пазарните цени купуване (bid) и продажба (ask) или официалните референтни цени от централните банки. - Финализиране в края на деня (EOD): Историческите цени, предоставени от API, са финализирани към края на деня в UTC (координирано универсално време).
- Изчисляване на кръстосания курс: За валутни двойки, които не са директно достъпни от нашите източници, системата автоматично изчислява високоточни кръстосани курсове, използвайки основните световни валути като мост (опорна точка).
- Интелигентен резервен механизъм: Ако данните за заявената дата не са налични (например поради затваряне на пазара през уикендите или празниците), системата автоматично търси най-актуалния валиден курс в рамките на плъзгащ се 8-дневен прозорец .
- Висока прецизност: За да се предотвратят грешки от закръгляване във финансовите изчисления, валутните курсове се съхраняват и обработват с до 18 знака след десетичната запетая .
Крайни точки
Поддържани символи Крайна точка
https://currencyrateapi.com/api/codes
Тази крайна точка връща пълния списък с всички поддържани валути. Можете също да използвате псевдонима /api/currencies.
На нашата страница „Поддържани валути“ е наличен и списък с всички поддържани валути, който може да се чете от човек.
Основни валути: По подразбиране някои други крайни точки (като /latest и /{YYYY-MM-DD}) връщат ограничен набор от основни световни валути, за да се минимизира трафикът. Тези „основни“ валути са:
USD, EUR, GBP, CHF, JPY, CAD, AUD, NZD, SEK, NOK, DKK, ISK, PLN, CZK, HUF, RON, HRK, RSD,
MKD, MDL, TRY, SGD, HKD, KRW, TWD, ILS, AED, SAR, QAR, KWD, BHD, OMR, ZAR
Отговор на API:
{
"success": true,
"currencies": {
"EUR": {
"entity": "EUROPEAN UNION",
"currency": "Euro",
"alphabetic_code": "EUR",
"numeric_code": 978,
"minor_unit": 2,
"title": "Euro",
"symbol": "€",
"data_from": "1999-01-04"
},
"BTC": {
"entity": "CRYPTOCURRENCY",
"currency": "Bitcoin",
"alphabetic_code": "BTC",
"title": "Bitcoin",
"symbol": "₿",
"is_crypto": true,
"data_from": "2024-03-02"
},
[...]
}
}
Обекти за отговор:
| Ключ | Описание |
|---|---|
| success | Връща true за успешна заявка. Ако е false, в отговора ще бъде включен обект за грешка. |
| currencies | Връща всички поддържани валути с подробна информация за всяка от тях. |
| entity | Държава или регион, където се използва валутата, или „КРИПТОВАЛУТА“ за цифрови активи. |
| currency | Пълното официално наименование на валутата. |
| alphabetic_code | Стандартен 3-буквен азбучен код (ISO 4217 за фиатни валути). |
| numeric_code | Цифров код по ISO 4217, ако е приложимо. |
| minor_unit | Брой десетични знаци, използвани за валутата. |
| withdrawal_date | Датата, на която валутата е била изтеглена от обращение, ако е приложимо. |
| title | Кратко показвано заглавие за валутата. |
| symbol | Графичен символ на валутата (напр. $, €, ₿). |
| is_crypto | Флаг ( true ), ако валутата е криптовалута. |
| data_from | Най-ранната дата, за която са налични данни за обменния курс за тази валута. |
Последна точка за най-новите цени
https://currencyrateapi.com/api/latest?
base=USD&
quote=GBP,JPY,EUR
Параметри на заявката:
| Параметър | Описание |
|---|---|
| base | [По избор] Въведете 3-буквен ISO код на валутата, за да зададете основната валута за конвертиране. Стойността по подразбиране е EUR. |
| quote | [По избор] Въведете списък с валутни кодове, разделени със запетаи, за да ограничите отговора до конкретни валути. (Алтернатива: codes) |
| extended_list | [По избор] Ако е зададено на 1, API връща пълния списък с налични валути. По подразбиране се връща само минимален списък, за да се намали трафикът. |
| precision | [По избор] Задава броя на десетичните знаци в изходните скорости (0-18). По подразбиране връща пълната налична точност без научна нотация. |
Отговор на API:
{
"success": true,
"base": "usd",
"date": "2026-01-22",
"rates": {
"gbp": "0.74350935478637",
"jpy": "158.00358051914",
"eur": "0.8518613169776"
},
"last_update_unix": "1769067006"
}
Обекти за отговор:
| Ключ | Описание |
|---|---|
| success | Връща true за успешна заявка. Ако е false, в отговора ще бъде включен обект за грешка. |
| base | Връща 3-буквения код на базовата валута. |
| date | Връща действителната дата, за която са предоставени валутните курсове. |
| rates | Връща данни за валутния курс за валутите, посочени в заявката. |
| last_update_unix | Връща Unix времева маркировка, показваща кога върнатите данни са били актуализирани за последно. |
Крайна точка на историческите лихви
https://currencyrateapi.com/api/2025-08-25?
base=EUR&
quote=USD,GBP,CAD
Алтернативен формат: /api/history?date=2025-08-25...
Параметри на заявката:
| Параметър | Описание |
|---|---|
| date | [Задължително] Историческата дата, за която се изискват валутни курсове. Формат: ГГГГ-ММ-ДД. Може да бъде предоставена в URL пътя (напр. /api/2025-08-25) или като параметър на заявката (напр. /api/history?date=2025-08-25). |
| base | [По избор] Въведете 3-буквен код на валутата, за да зададете основната валута за конвертирането. Стойността по подразбиране е EUR. |
| quote | [По избор] Въведете списък с валутни кодове, разделени със запетаи, за да ограничите отговора до конкретни валути. (Алтернатива: codes) |
| extended_list | [По избор] Ако е зададено на 1, API връща пълния списък с налични валути. По подразбиране се връща само минимален списък, за да се намали трафикът. |
| precision | [По избор] Задава броя на десетичните знаци в изходните скорости (0-18). По подразбиране връща пълната налична точност без научна нотация. |
Отговор на API:
{
"success": true,
"base": "eur",
"date": "2025-08-25",
"rates": {
"usd": "1.1697",
"gbp": "0.8659",
"cad": "1.6171"
},
"last_update_unix": "1769067006"
}
Обекти за отговор:
| Ключ | Описание |
|---|---|
| success | Връща true за успешна заявка. Ако е false, в отговора ще бъде включен обект за грешка. |
| base | Връща 3-буквения код на базовата валута. |
| date | Връща действителната дата, за която са предоставени валутните курсове. |
| rates | Връща данни за обменния курс на валутите към датата, посочена в заявката. |
| last_update_unix | Връща Unix времева маркировка, показваща кога върнатите данни са били актуализирани за последно. |
Примерен код
PHP (cURL)
// Set API Endpoint (can be 'latest' or a date 'YYYY-MM-DD')
$endpoint = 'latest';
// Initialize CURL:
$ch = curl_init('https://currencyrateapi.com/api/'.$endpoint.'?base=USD"e=GBP,JPY');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
// Decode JSON response:
$exchangeRates = json_decode($json, true);
// Access the exchange rate values, e.g. GBP:
echo $exchangeRates['rates']['GBP'];
JavaScript (извличане)
// Set endpoint (can be 'latest' or a date 'YYYY-MM-DD')
const endpoint = 'latest';
const params = '?base=USD"e=GBP,JPY';
// Get exchange rates via the selected endpoint:
fetch('https://currencyrateapi.com/api/' + endpoint + params)
.then(response => {
return response.json();
})
.then(json => {
// Exchange rate data is stored in json.rates
console.log(json.rates.GBP);
// Timestamp can be accessed in json.last_update_unix
console.log(json.last_update_unix);
})
.catch(error => {
console.error('Fetch error:', error);
});