Дані безстрокових ф'ючерсів з 19 бірж: як запит або як інструмент асистента
Фандинг зараз і за кожне збережене нарахування, спреди між майданчиками з урахуванням реальної глибини стакана, календар лістингів. Один ключ для програм, одне підключення для Claude, ChatGPT і Cursor. Кожна відповідь називає сторінку, з якої взято дані.
- Біржі
- 19
- Монети зі сторінкою фандингу
- 987
- Затримка даних на платних планах
- 0 s
curl https://arbitron.app/api/v1/funding/BTC \ -H "Authorization: Bearer $ARBITRON_KEY"
{
"data": {
"coin": "BTC",
"venue_count": 18,
"spread_pct": 0.016532,
"best_short_exchange": "Blofin",
"best_long_exchange": "GateIo",
"rates": [
{ "exchange": "Blofin", "symbol": "BTC-USDT", "rate_pct": 0.016532,
"interval_hours": 8, "next_funding_at": "2026-09-21T00:00:00Z" },
{ "exchange": "Htx", "symbol": "BTC-USDT", "rate_pct": 0.01,
"interval_hours": 8, "next_funding_at": "2026-09-21T00:00:00Z" },
{ "exchange": "Poloniex", "symbol": "BTC-USDT", "rate_pct": 0.01,
"interval_hours": 8, "next_funding_at": "2026-09-21T00:00:00Z" },
... решта рядків: 15
]
},
"meta": {
"as_of": "2026-09-20T17:41:31Z",
"delayed_seconds": 0,
"source": "arbitron.app",
"url": "https://arbitron.app/funding-rates/coin/btc?utm_source=api"
}
}
Дві хвилини від ключа до першої відповіді
- Створіть ключ. У налаштуваннях, розділ «API-ключі». Ключ показується один раз і починається з
arb_live_. - Викличте будь-який ендпоінт. Передайте ключ як bearer-токен. Відповідь у верхній частині цієї сторінки і є те, що повернеться.
- Прочитайте заголовок RateLimit. Кожна відповідь повідомляє, скільки лишилося від хвилини й від місяця, тож клієнт може сам тримати темп і ніколи не побачити 429.
- Підключіть асистента. На вкладці MCP лежить блок конфігурації для Claude Desktop, Cursor і ChatGPT.
curl "https://arbitron.app/api/v1/spreads?size_usd=100&limit=3" \ -H "Authorization: Bearer $ARBITRON_KEY"
import os, requests
r = requests.get(
"https://arbitron.app/api/v1/spreads",
params={"size_usd": 100, "limit": 3},
headers={"Authorization": f"Bearer {os.environ['ARBITRON_KEY']}"},
timeout=10,
)
r.raise_for_status()
body = r.json()
print(body["meta"]["as_of"])
for row in body["data"]["spreads"]:
print(row["coin"], row["exchange_a"], row["exchange_b"], row["est_profit_pct"])
const res = await fetch(
"https://arbitron.app/api/v1/spreads?size_usd=100&limit=3",
{ headers: { Authorization: `Bearer ${process.env.ARBITRON_KEY}` } },
);
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const { data, meta } = await res.json();
console.log(meta.as_of, data.spreads.map((r) => r.coin));
{
"mcpServers": {
"arbitron": {
"url": "https://arbitron.app/mcp",
"headers": { "Authorization": "Bearer arb_live_..." }
}
}
}
Вісім ендпоінтів, один конверт
JSON лише для читання по HTTPS на https://arbitron.app/api/v1. Відсотки закінчуються на _pct і задані у відсотках, час в UTC за ISO 8601, списки гортаються курсором. Повний довідник параметрів і схем генерується з документа OpenAPI.
| Метод | Шлях | Scope | Повертає |
|---|---|---|---|
| GET | /api/v1/funding | funding:read | Поточний фандинг по кожній біржі та символу, за спаданням модуля ставки. Фільтр за монетою або біржею. |
| GET | /api/v1/funding/{coin} | funding:read | Одна монета на всіх біржах: кожна ставка, спред між максимальною і мінімальною, і де зараз вигідніше шорт, а де лонг. |
| GET | /api/v1/funding/history | history:read | Історія фандингу: одна річна точка на день по кожній біржі або кожне нарахування по одній біржі. Глибина залежить від плану. |
| GET | /api/v1/spreads | spreads:read | Виконувані спреди між майданчиками з публічного сканера, пораховані за реальною глибиною стакана для ордера розміром size_usd. |
| GET | /api/v1/listings | listings:read | Оголошені лістинги та делістинги: що оголосила біржа, коли набирає чинності і де саме оголошення. |
| GET | /api/v1/exchanges | — | Біржі: кількість відстежуваних інструментів, максимальне плече, комісія тейкера та посилання на специфікації і сторінки фандингу. |
| GET | /api/v1/coins | — | Пошук тікера: q збігається з початком тікера. У кожної монети кількість бірж і обсяг за 24 години. |
| GET | /api/v1/usage | usage:read | План цього ключа, вікна місяця та хвилини і що план включає. |
Кожна відповідь запакована в конверт: data, потім meta з полями meta.as_of, meta.delayed_seconds, meta.url, meta.next_cursor.
Анонімний документ виявлення перелічує все це в JSON: GET /api/v1 · /api/v1/openapi.json
Ті самі дані як інструменти асистента
Вісім інструментів лише для читання поверх чотирьох наборів даних, для Claude, ChatGPT, Cursor і будь-якого іншого MCP-клієнта. Асистент із підключенням звертається до них, коли питання про фандинг, спреди чи лістинги, і кожен результат закінчується сторінкою для цитування.
| Інструмент | Відповідає на |
|---|---|
| arbitron_get_funding_rates | Поточний фандинг по кожній біржі та символу, з фільтром за монетою або біржею. |
| arbitron_get_coin_funding | Одна монета на всіх біржах, з найкращим майданчиком для шорту і найкращим для лонгу. |
| arbitron_get_funding_history | Історія фандингу по днях або по нарахуваннях, на глибину плану. |
| arbitron_get_spreads | Виконувані спреди для заданого розміру ордера, найкращі першими. |
| arbitron_get_listings | Що ліститься або деліститься у заданому вікні, по біржах. |
| arbitron_get_exchanges | Список бірж зі специфікаціями контрактів і посиланнями. |
| arbitron_get_usage | Залишок квоти цього підключення, щоб асистент міг пояснити ліміт. |
- Адреса
- https://arbitron.app/mcp
- Транспорт
- Streamable HTTP без стану: сесій немає, кожен виклик самостійний. Один виклик інструмента рахується як один запит у тих самих квотах, що й REST API.
- Автентифікація
- API-ключ у заголовку bearer для клієнтів зі статичним заголовком, або OAuth 2.1 з PKCE: асистент входить під вашим акаунтом Arbitron, а ви підтверджуєте права на екрані згоди.
- Цитування
- Кожен результат несе meta.url, сторінку для людей з тими самими цифрами. Саме її асистент цитує, і дані на ній ті самі.
Безкоштовне демо, потім три розміри одного продукту
Помісячно, оплата як у будь-якого плану Arbitron. Квоти жорсткі: коли вікно вичерпано, ви отримуєте 429, а не рахунок. MCP-сервер входить у кожен рівень.
Демо
У кожного акаунта. Форма даних, із затримкою.
- Запитів на місяць
- 3,000
- На хвилину
- 20
- API-ключів
- 1
- Глибина історії
- 7 днів
- Затримка даних
- 15 хв
- Комерційне використання
- Ні
- MCP-сервер
- Так
Developer
Популярний вибірЖивий фандинг, спреди та лістинги для власних скриптів і дашбордів.
- Запитів на місяць
- 100,000
- На хвилину
- 120
- API-ключів
- 3
- Глибина історії
- 90 днів
- Затримка даних
- Без затримки
- Комерційне використання
- Ні
- MCP-сервер
- Так
Pro
Глибша історія та комерційна ліцензія для продуктів, які ви випускаєте.
- Запитів на місяць
- 500,000
- На хвилину
- 300
- API-ключів
- 10
- Глибина історії
- 730 днів
- Затримка даних
- Без затримки
- Комерційне використання
- Так
- MCP-сервер
- Так
Business
Увесь архів, максимальні ліміти та ключі на всю команду.
- Запитів на місяць
- 2,000,000
- На хвилину
- 600
- API-ключів
- 25
- Глибина історії
- Уся історія
- Затримка даних
- Без затримки
- Комерційне використання
- Так
- MCP-сервер
- Так
Prime включає Developer без доплати, тож старший торговий план теж відкриває API. Ціни
Дані демо потрібно супроводжувати згадкою Arbitron і посиланням на сторінку, з якої їх узято.
Два вікна, обидва в кожній відповіді
У кожного ключа є вікно хвилини та вікно місяця. Обидва оголошуються в кожній відповіді у стандартних полях RateLimit-Policy і RateLimit, тож клієнт може тримати темп і жодного разу не впертися в ліміт.
- Коли вікно вичерпано, приходить 429 з Retry-After у секундах і тілом помилки, що називає вікно.
- Кожна відповідь з даними несе ETag. Поверніть його в If-None-Match, і на незмінене тіло прийде 304, який повертається в обидва вікна.
- Cache-Control дорівнює private, max-age=15 для живих даних і max-age=300 для відкладених, за частотою оновлення знімка за ними.
- Місяць обнуляється 1-го числа о 00:00 UTC. Перевитрата не виставляється.
- Один запит є один запит: історія, спреди і фандинг коштують однаково, а виклик інструмента MCP рахується як виклик REST.
RateLimit-Policy: "minute";q=120;w=60, "month";q=100000;w=2592000 RateLimit: "minute";r=118;t=41, "month";r=99871;t=1209600
Retry-After: 19 RateLimit: "minute";r=0;t=19, "month";r=99870;t=1209581 { "type": "https://arbitron.app/developers/errors#rate-limited", "title": "Too many requests this minute", "status": 429, "detail": "The api-developer plan allows 120 requests per minute; the window resets in 19 s. Cache responses (they carry ETag) or upgrade." }
Помилки, за якими можна розгалужуватися
Помилки оформлені за RFC 9457: стабільний type, що веде на рядок цієї таблиці, title, HTTP-статус, detail з тим, що виправити, id запиту в instance і suggestions там, де є близькі збіги.
HTTP/1.1 404 Not Found
Content-Type: application/problem+json
{
"type": "https://arbitron.app/developers/errors#unknown-coin",
"title": "Unknown coin",
"status": 404,
"detail": "No venue quotes a perpetual on 'ETHEREUM'. GET /api/v1/coins?q=ETHEREUM lists close matches.",
"instance": "0HN7Q2K3J9R4P:00000001",
"code": "unknown-coin",
"docs": "https://arbitron.app/developers",
"suggestions": ["ETH", "ETC", "ETHFI"]
}| Статус | Код | Що виправити |
|---|---|---|
| 400 | invalid-parameter | Значення параметра поза діапазоном або не тієї форми. detail називає параметр і допустимі значення. |
| 401 | unauthenticated | Ключа немає, або він з помилкою, відкликаний, прострочений чи виведений ротацією. Передайте Authorization: Bearer з ключем із налаштувань, розділ «API-ключі». |
| 403 | scope-missing | Ключ створено без scope, який потрібен цьому ендпоінту; detail перелічує його scope. Створіть ключ із потрібним scope. |
| 403 | plan-limit | Запит виходить за план: вікно історії глибше, ніж він включає, або сторінка більша, ніж віддає демо. Звузьте запит або перейдіть на вищий план. |
| 404 | unknown-coin | Жодна біржа не котирує перп з таким тікером. У suggestions близькі збіги, а GET /api/v1/coins?q= шукає. |
| 404 | unknown-exchange | Такої біржі API не обслуговує. У suggestions список бірж, його ж віддає GET /api/v1/exchanges. |
| 404 | not-found | За цим шляхом під /api/v1 немає ендпоінту. GET /api/v1 перелічує наявні. |
| 429 | rate-limited | Вікно хвилини вичерпано, або з однієї адреси надійшло забагато відхилених ключів. Зачекайте Retry-After секунд або тримайте темп за заголовком RateLimit. |
| 429 | quota-exhausted | Запити місяця витрачено. Квота обнуляється 1-го числа о 00:00 UTC; у вищого плану запитів більше. |
| 503 | snapshot-unavailable | Знімок за ендпоінтом ще прогрівається після перезапуску. Повторіть за хвилину. |
| 503 | api-disabled | API не ввімкнено на цьому хості. З вашого боку міняти нічого, це помилка конфігурації з нашого. |
v1 і є контракт
/api/v1 і є контракт. Поля, ендпоінти, значення переліків і необов'язкові параметри додаються без зміни версії. Видалення чи перейменування будь-чого, зміна типу або значення за замовчуванням означають v2, а v1 працює ще дванадцять місяців після виходу v2.
Застарілий ендпоінт або поле повідомляє про це у відповіді заголовками Deprecation і Sunset та посиланням Link на запис у списку змін із заміною. Версія MCP-сервера йде за тим самим номером, а імена інструментів у межах мажорної версії не змінюються.
Документ OpenAPI версіонується разом з API; його диф входить у кожен опис релізу. /api/v1/openapi.json
Deprecation: @1789500000 Sunset: Mon, 20 Sep 2027 00:00:00 GMT Link: <https://arbitron.app/developers#versioning>; rel="deprecation"
Список змін
- 2026-09-20
- Опубліковано v1: фандинг, історія фандингу, спреди, лістинги, біржі, монети та usage. MCP-сервер із сімома інструментами, вхід за ключем або OAuth.
Часті запитання
Чи є безкоштовний рівень?
Чому дані демо затримані?
Чи можна використовувати дані комерційно?
Як зберігаються ключі?
Як змінити ключ?
Чи потрібен ключ асистентам?
Чи рахуються відповіді 304 у квоту?
Що стається при досягненні ліміту?
Почніть із безкоштовного ключа
Перший запит займає дві хвилини. У довіднику є панель для пробних викликів із вашим ключем.