Документація API v1

REST/JSON API з P2P-даними USDT шести бірж. Усі запити потребують ключа в заголовку X-API-Key.

Автентифікація

Базовий URL: https://metarates.online/api/v1

Передавайте ключ у заголовку X-API-Key (або Authorization: Bearer <ключ>). Ключ можна створити безкоштовно на сторінці API.

Швидкий старт

curl -H "X-API-Key: YOUR_KEY" \
  "https://metarates.online/api/v1/rates?fiat=UAH"
const res = await fetch("https://metarates.online/api/v1/rates?fiat=UAH", {
  headers: { "X-API-Key": "YOUR_KEY" },
});
const data = await res.json();
console.log(data.best_buy);
import requests

r = requests.get(
    "https://metarates.online/api/v1/rates",
    params={"fiat": "UAH"},
    headers={"X-API-Key": "YOUR_KEY"},
    timeout=10,
)
print(r.json()["best_buy"])

GET /api/v1/markets

Біржі, валюти й можливості вашого тарифу. Доступно з тарифу: Free

Приклад відповіді
{
  "asset": "USDT",
  "exchanges": ["Binance", "Bybit", "OKX", "HTX", "KuCoin", "Bitget"],
  "fiats": [{"code": "UAH", "name": "Ukrainian hryvnia"}, ...],
  "plan": {"name": "Pro", "monthly_quota": 2000000, "requests_per_minute": 300,
           "orderbook_rows": 20, "history_hours": 720, "features": ["arbitrage", "history", "markets", "orderbook", "rates", "stats"]}
}

GET /api/v1/rates

Найкраща надійна ціна купівлі й продажу по кожній біржі та загалом, спред між біржами. Доступно з тарифу: Free

ПараметрЗа замовчуваннямОпис
fiatUAHКод валюти зі списку markets.
Приклад відповіді
{
  "asset": "USDT", "fiat": "UAH", "updated_at": "2026-10-06T14:23:17Z",
  "best_buy": {"price": 45.1, "exchange": "Binance"},
  "best_sell": {"price": 47.6, "exchange": "Binance"},
  "cross_exchange_spread_pct": null,
  "exchanges": [
    {"exchange": "Binance", "buy": 45.1, "sell": 47.6, "buy_ads": 18, "sell_ads": 16},
    {"exchange": "Bybit", "buy": 46.06, "sell": 45.65, "buy_ads": 10, "sell_ads": 16}
  ]
}

GET /api/v1/orderbook

Живі оголошення біржі в єдиному форматі з прапорцем trusted. Доступно з тарифу: Free

ПараметрЗа замовчуваннямОпис
exchangeобов'язковоБіржа: Binance, Bybit, OKX, HTX, KuCoin або Bitget.
fiatUAHКод валюти.
sideBUYBUY: ціни продавців, SELL: ціни покупців.
rows10Кількість оголошень, максимум залежить від тарифу.
payment_methodпорожньоПідрядок назви методу оплати, наприклад monobank.
Приклад відповіді
{
  "asset": "USDT", "exchange": "Binance", "fiat": "UAH", "side": "BUY", "payment_method": null, "count": 1,
  "ads": [{
    "price": 45.19, "min_amount": 900, "max_amount": 900,
    "payment_methods": ["Monobank (Card)", "A-Bank (Card)"],
    "completed_orders": 8093, "completion_rate": 100.0, "nickname": "trader", "trusted": true
  }]
}

GET /api/v1/stats

Середні за 24 год і 7 днів, мінімум, вердикт і найдешевші години доби за Києвом. Доступно з тарифу: Starter

ПараметрЗа замовчуваннямОпис
fiatUAHКод валюти.
Приклад відповіді
{
  "asset": "USDT", "fiat": "UAH", "best_buy_now": 45.1, "avg_24h": 44.6541, "avg_7d": 44.6302, "min_24h": 44.17,
  "delta_vs_24h_pct": 1.0, "delta_vs_7d_pct": 1.05, "verdict": "high",
  "cheapest_hours_kyiv": [{"hour": 6, "delta_pct": -0.82}, {"hour": 7, "delta_pct": -0.74}],
  "data_points": 2019
}

GET /api/v1/history

Історія найкращої надійної ціни з кроком близько 5 хвилин. Доступно з тарифу: Pro

ПараметрЗа замовчуваннямОпис
fiatUAHКод валюти.
exchangebestНазва біржі або best для найкращої серед усіх.
hours24Глибина історії в годинах, обмежена тарифом.
max_points300Максимум точок у відповіді, до 1000.
Приклад відповіді
{
  "asset": "USDT", "fiat": "PLN", "exchange": "best", "hours": 24,
  "points": [{"t": "2026-10-06T13:00:00Z", "buy": 3.71, "sell": 3.78}, ...]
}

GET /api/v1/arbitrage

Зв'язки купівля→продаж між біржами з урахуванням лімітів, комісії переказу й методів оплати. Доступно з тарифу: Pro

ПараметрЗа замовчуваннямОпис
fiatUAHКод валюти.
amount1000Сума обміну у вибраній валюті.
transfer_fee_usdt1.0Комісія переказу між біржами в USDT.
Приклад відповіді
{
  "asset": "USDT", "fiat": "UAH", "amount": 10000.0, "transfer_fee_usdt": 1.0,
  "opportunities": [{
    "buy_exchange": "Bitget", "sell_exchange": "Binance", "buy_price": 45.2, "sell_price": 47.6,
    "gross_spread_pct": 5.31, "net_profit_pct": 4.83, "net_profit": 483.37,
    "buy_limits": [4000, 18000], "sell_limits": [8000, 22000],
    "buy_methods": ["Monobank"], "sell_methods": ["OTP BANK"]
  }]
}

GET /api/v1/me

Ваш тариф і використання за поточний місяць. Доступно з тарифу: Free

Приклад відповіді
{
  "key_prefix": "mr_live_RfzXOE", "plan": "Free", "monthly_quota": 5000,
  "used_this_month": 4, "requests_per_minute": 10
}

Ліміти й заголовки

Кожна відповідь містить заголовки з використанням ліміту. Перевищення повертає 429.

X-Plan: Pro
X-RateLimit-Limit-Minute: 300
X-RateLimit-Remaining-Minute: 299
X-Quota-Limit: 2000000
X-Quota-Remaining: 1999990
Retry-After: 12   (429)

Помилки

Помилки мають єдиний формат: HTTP-статус і JSON з полем detail, у якому code та message.

{"detail": {"code": "plan_required", "message": "The 'history' endpoint requires the Pro plan or above."}}
КодHTTPКоли
missing_key401Ключ не передано.
invalid_key401Ключ недійсний або відкликаний.
plan_required403Ендпоінт недоступний на вашому тарифі.
unsupported_fiat400Невідома валюта.
unsupported_exchange400Невідома біржа.
rate_limited429Перевищено ліміт за хвилину.
quota_exceeded429Вичерпано місячну квоту.
data_unavailable503Свіжих даних для цього ринку поки немає.

Важливо знати

  • BUY означає ціну, за якою ви купуєте USDT (оголошення продавців). SELL означає ціну, за якою ви продаєте USDT (оголошення покупців).
  • Ціни rates і history беруться з найкращих надійних оголошень без урахування методу оплати. Для конкретного способу оплати використовуйте orderbook із payment_method.
  • Ціни й ліміти змінюються щосекунди. Перед угодою завжди перевіряйте оголошення на біржі. Дані не є фінансовою порадою.

Історія змін: v1 Перший випуск: markets, rates, orderbook, stats, history, arbitrage, me.

Дані походять із публічних P2P-оголошень сторонніх бірж і надаються «як є». Це не фінансова порада.

До сторінки API