API Документация
(в разработке)
Полное руководство по интеграции с платформой Arbitutor
v1.0Введение
Arbitutor API предоставляет программный доступ к функциям платформы обучения криптоарбитражу. С помощью API вы можете:
- Получать данные сканера арбитражных связок в реальном времени
- Управлять профилем пользователя и прогрессом обучения
- Получать аналитику и статистику по сделкам
- Интегрировать ИИ-наставника в сторонние приложения
- Автоматизировать торговые стратегии
https://api.arbitutor.ru/v2
🔒 Протокол: HTTPS only
⚡ Rate Limit: 100 запросов в минуту
Аутентификация
Все запросы к API требуют аутентификации с использованием API-ключа. Ключ передается в заголовке Authorization.
Получение API-ключа
1. Войдите в личный кабинет на платформе Arbitutor
2. Перейдите в раздел "Настройки" → "API"
3. Нажмите "Создать новый ключ"
4. Скопируйте ключ и сохраните в безопасном месте
Использование ключа
Authorization: Bearer YOUR_API_KEY_HERE
Пример запроса с аутентификацией
curl -X GET "https://api.arbitutor.ru/v2/user/profile" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
import requests
api_key = "YOUR_API_KEY"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.get(
"https://api.arbitutor.ru/v2/user/profile",
headers=headers
)
print(response.json())
const apiKey = 'YOUR_API_KEY';
fetch('https://api.arbitutor.ru/v2/user/profile', {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
Быстрый старт
Пример получения актуальных арбитражных связок за 5 минут:
Шаг 1: Получите API-ключ
Создайте ключ в личном кабинете (см. раздел "Аутентификация")
Шаг 2: Установите библиотеку (для Python)
pip install arbitutor-api
Шаг 3: Получите связки
from bcs_api import ArbitutorClient
# Инициализация клиента
client = ArbitutorClient(api_key="YOUR_API_KEY")
# Получение топ-10 связок
opportunities = client.scanner.get_opportunities(
min_profit=2.0, # минимальная доходность 2%
limit=10
)
for opp in opportunities:
print(f"{opp['pair']}: {opp['profit']}% прибыли")
print(f"Биржи: {opp['buy_exchange']} → {opp['sell_exchange']}")
Основные Endpoints
Сканер арбитражных связок
Получить список актуальных арбитражных возможностей
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
min_profit |
float | Минимальная доходность в % (по умолчанию: 1.0) |
exchanges |
array | Список бирж для фильтрации (опционально) |
limit |
integer | Количество результатов (1-100, по умолчанию: 20) |
Пример запроса
GET /v2/scanner/opportunities?min_profit=2.5&limit=10
Host: api.arbitutor.ru
Authorization: Bearer YOUR_API_KEY
Пример ответа
{
"success": true,
"data": [
{
"id": "opp_123456",
"pair": "BTC/USDT",
"buy_exchange": "Binance",
"sell_exchange": "Bybit",
"buy_price": 43250.50,
"sell_price": 44380.20,
"profit_percent": 2.61,
"profit_usdt": 1129.70,
"volume_available": 0.5,
"timestamp": "2025-10-23T14:30:00Z",
"estimated_time": 180
}
],
"meta": {
"total": 47,
"page": 1,
"per_page": 10
}
}
Получить список поддерживаемых бирж и их статус
Пример ответа
{
"success": true,
"data": [
{
"name": "Binance",
"status": "online",
"last_update": "2025-10-23T14:35:12Z",
"supported_pairs": 450,
"p2p_available": true
},
{
"name": "Bybit",
"status": "online",
"last_update": "2025-10-23T14:35:08Z",
"supported_pairs": 320,
"p2p_available": true
}
]
}
Управление профилем
Получить информацию о текущем пользователе
Пример ответа
{
"success": true,
"data": {
"id": "user_789012",
"email": "user@example.com",
"name": "Иван Иванов",
"subscription": {
"plan": "Pro",
"expires_at": "2025-11-23T00:00:00Z"
},
"learning_progress": {
"completed_modules": 3,
"total_modules": 4,
"current_level": "Advanced"
},
"created_at": "2025-09-15T10:00:00Z"
}
}
Создать новый API-ключ
Тело запроса
{
"name": "Production Key",
"permissions": ["read", "write"]
}
Аналитика
Получить статистику по сделкам пользователя
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
period |
string | Период: 7d, 30d, 90d, all (по умолчанию: 30d) |
Пример ответа
{
"success": true,
"data": {
"total_trades": 145,
"profitable_trades": 138,
"total_profit_usdt": 2847.50,
"average_profit_percent": 2.35,
"win_rate": 95.17,
"best_trade": {
"profit_percent": 5.8,
"date": "2025-10-20"
}
}
}
Коды ошибок
API использует стандартные HTTP коды состояния для индикации успеха или неудачи запроса.
| Код | Значение | Описание |
|---|---|---|
200 |
OK | Запрос выполнен успешно |
201 |
Created | Ресурс успешно создан |
400 |
Bad Request | Неверные параметры запроса |
401 |
Unauthorized | Отсутствует или неверный API-ключ |
403 |
Forbidden | Недостаточно прав для выполнения операции |
404 |
Not Found | Ресурс не найден |
429 |
Too Many Requests | Превышен лимит запросов |
500 |
Internal Server Error | Внутренняя ошибка сервера |
Формат сообщения об ошибке
{
"success": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Предоставленный API-ключ недействителен",
"details": "Проверьте правильность ключа в настройках"
}
}
Rate Limiting
Для обеспечения стабильности API установлены следующие лимиты:
| Тарифный план | Запросов в минуту | Запросов в день |
|---|---|---|
| Free | 30 | 1,000 |
| Basic | 100 | 10,000 |
| Pro | 300 | 50,000 |
| Enterprise | 1,000 | Без ограничений |
Заголовки ответа
В каждом ответе API возвращает заголовки с информацией о лимитах:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1698067200
429. Повторите запрос после времени, указанного в X-RateLimit-Reset.
Webhooks
Настройте webhooks для получения уведомлений о важных событиях в реальном времени.
Поддерживаемые события
opportunity.new- Новая арбитражная связкаopportunity.expired- Связка больше не актуальнаuser.subscription.updated- Изменение подпискиanalytics.milestone- Достижение порога прибыли
Настройка webhook
{
"url": "https://your-server.com/webhook",
"events": ["opportunity.new"],
"secret": "your_webhook_secret"
}
Формат уведомления
{
"event": "opportunity.new",
"timestamp": "2025-10-23T14:30:00Z",
"data": {
"id": "opp_123456",
"pair": "BTC/USDT",
"profit_percent": 2.61
}
}
Примеры использования
Автоматический мониторинг связок
import time
from bcs_api import ArbitutorClient
client = ArbitutorClient(api_key="YOUR_API_KEY")
def monitor_opportunities():
while True:
# Получаем связки с доходностью > 3%
opportunities = client.scanner.get_opportunities(
min_profit=3.0,
limit=5
)
for opp in opportunities:
profit = opp['profit_percent']
pair = opp['pair']
if profit > 5.0:
print(f"🚀 Высокая прибыль! {pair}: {profit}%")
# Отправить уведомление
send_notification(opp)
else:
print(f"✓ {pair}: {profit}%")
# Проверка каждые 30 секунд
time.sleep(30)
monitor_opportunities()
Интеграция с торговым ботом
const ArbitutorClient = require('arbitutor-api');
const TradingBot = require('./trading-bot');
const client = new ArbitutorClient({ apiKey: 'YOUR_API_KEY' });
const bot = new TradingBot();
async function executeArbitrage() {
const opportunities = await client.scanner.getOpportunities({
minProfit: 2.5,
exchanges: ['Binance', 'Bybit']
});
for (const opp of opportunities) {
// Проверяем ликвидность
if (opp.volume_available >= 0.1) {
// Выполняем сделку
const result = await bot.executeTrade({
pair: opp.pair,
buyExchange: opp.buy_exchange,
sellExchange: opp.sell_exchange,
amount: 0.1
});
console.log(`Trade executed: ${result.profit} USDT profit`);
}
}
}
setInterval(executeArbitrage, 60000); // Каждую минуту