Начало работы

API Finexly предоставляет актуальные и исторические курсы обмена для более чем 170 валют. Начать просто:

  1. Зарегистрируйтесь для бесплатного аккаунта
  2. Получите ключ доступа API на панели управления
  3. Сделайте свой первый 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

GET /v1/currencies

Получить список всех поддерживаемых кодов валют.

Параметры

Имя Тип Обязательно Описание

Пример

GET https://api.finexly.com/v1/currencies

// Ответ
[
    "AED",
    "ANG",
    "AUD",
    "EUR",
    "GBP",
    "USD"
]
GET /v1/rate

Получить курс обмена для конкретной валютной пары.

Параметры

Имя Тип Обязательно Описание
from string Да Код базовой валюты (заглавные буквы)
to string Да Код котируемой валюты (заглавные буквы)

Пример

GET https://api.finexly.com/v1/rate?from=USD&to=EUR

// Ответ
{
    "pair": "USD_EUR",
    "rate": 0.9215
}
GET /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
    }
}
GET /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 Произошла внутренняя ошибка сервера. Пожалуйста, попробуйте снова.