Начало работы
API Finexly предоставляет актуальные и исторические курсы обмена для более чем 170 валют. Начать просто:
- Зарегистрируйтесь для бесплатного аккаунта
- Получите ключ доступа API на панели управления
- Сделайте свой первый API-запрос
Базовый URL
https://api.finexly.com/v1/
Аутентификация
Все запросы к API требуют аутентификации через Bearer-токен. Включите ваш API-ключ в заголовок Authorization:
Заголовок авторизации (обязательно)
Authorization: Bearer YOUR_API_KEY
Ограничение скорости: Проверьте заголовки ответа для текущего использования:
X-RateLimit-Limit,
X-RateLimit-Used,
X-RateLimit-Units
Конечные точки API
/v1/currencies
Получить список всех поддерживаемых кодов валют.
Параметры
| Имя | Тип | Обязательно | Описание |
|---|
Пример
GET https://api.finexly.com/v1/currencies
// Ответ
[
"AED",
"ANG",
"AUD",
"EUR",
"GBP",
"USD"
]
/v1/rate
Получить курс обмена для конкретной валютной пары.
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| from | string | Да | Код базовой валюты (заглавные буквы) |
| to | string | Да | Код котируемой валюты (заглавные буквы) |
Пример
GET https://api.finexly.com/v1/rate?from=USD&to=EUR
// Ответ
{
"pair": "USD_EUR",
"rate": 0.9215
}
/v1/convert
Получить курсы обмена для нескольких валютных пар в одном запросе.
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| q | string | Да | Пары через запятую в формате БАЗА_КОТИРОВКА |
Пример
GET https://api.finexly.com/v1/convert?q=USD_EUR,USD_GBP
// Ответ
{
"USD_EUR": {
"rate": 0.9215
},
"USD_GBP": {
"rate": 0.7892
}
}
/v1/convert-amount
Конвертировать определенную сумму из одной валюты в другую.
Параметры
| Имя | Тип | Обязательно | Описание |
|---|---|---|---|
| from | string | Да | Код исходной валюты (заглавные буквы) |
| to | string | Да | Код целевой валюты (заглавные буквы) |
| amount | number | Да | Сумма для конвертации |
Пример
GET https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100
// Ответ
{
"pair": "USD_EUR",
"rate": 0.9215,
"amount": 100,
"result": 92.15
}
Примеры кода
# Get single rate
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.finexly.com/v1/rate?from=USD&to=EUR"
# Get multiple rates
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.finexly.com/v1/convert?q=USD_EUR,USD_GBP,BTC_USD"
# Convert amount
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100"
<?php
$apiKey = 'YOUR_API_KEY';
// Using cURL
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.finexly.com/v1/rate?from=USD&to=EUR',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
],
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo "USD/EUR Rate: " . $data['rate'];
const apiKey = 'YOUR_API_KEY';
// Get single rate
const response = await fetch('https://api.finexly.com/v1/rate?from=USD&to=EUR', {
headers: {
'Authorization': `Bearer ${apiKey}`
}
});
const data = await response.json();
console.log(`USD/EUR Rate: ${data.rate}`);
// Convert amount
const convertResponse = await fetch(
'https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100',
{ headers: { 'Authorization': `Bearer ${apiKey}` } }
);
const result = await convertResponse.json();
console.log(`100 USD = ${result.result} EUR`);
import requests
api_key = 'YOUR_API_KEY'
headers = {'Authorization': f'Bearer {api_key}'}
# Get single rate
response = requests.get(
'https://api.finexly.com/v1/rate',
params={'from': 'USD', 'to': 'EUR'},
headers=headers
)
data = response.json()
print(f"USD/EUR Rate: {data['rate']}")
# Convert amount
response = requests.get(
'https://api.finexly.com/v1/convert-amount',
params={'from': 'USD', 'to': 'EUR', 'amount': 100},
headers=headers
)
result = response.json()
print(f"100 USD = {result['result']} EUR")
Коды ошибок
| Код | Тип | Описание |
|---|---|---|
| 400 | BAD_REQUEST | Неверные параметры запроса или отсутствуют обязательные поля. |
| 401 | UNAUTHORIZED | API-токен отсутствует или недействителен. |
| 403 | FORBIDDEN | Доступ запрещен. Ваш аккаунт может быть неактивен. |
| 413 | PAYLOAD_TOO_LARGE | Размер запроса превышает максимально допустимый. |
| 429 | RATE_LIMIT_EXCEEDED | Вы превысили лимит запросов. Проверьте заголовки X-RateLimit. |
| 500 | INTERNAL_ERROR | Произошла внутренняя ошибка сервера. Пожалуйста, попробуйте снова. |