API для разработчиков

API документация для получения биржевых данных, котировок акций, курсов валют и любых других данных из каталога LookAPI. Поддерживает Bearer-токен, форматы JSON и XML. Полный список запросов — в каталоге.

Для чего нужен этот API? Если вы разрабатываете приложение, сервис или скрипт, которому требуется получать данные из нашего каталога, — этот API для вас. LookAPI предоставляет простой API с авторизацией через Bearer-токен, поддержкой форматов JSON и XML и лимитом 100 запросов в минуту. Ниже — полная документация с примерами для cURL, JavaScript и Python.

💡 Все запросы строятся по единому шаблону. Выберите нужный эндпоинт в каталоге и используйте его в своём приложении.

Структура запроса

  • • API доступно по адресу https://go.lookapi.ru
  • • Все запросы должны отправляться по протоколу HTTPS.
  • • В скобках {...} параметры которые меняются в зависитмости от запроса.

Формат пути:

https:// go.lookapi.ru /{market} /{basicstocks} /{ваш_токен}
Протокол
Базовый URL
Эндпоинт
Ресурс
Токен

Xml  Json  Формат возвращаемых данных не задаётся при запросах. Его можно выбрать в личном кабинете приложения. Для каждого запроса формат можно установить отдельно.

Аутентификация

API поддерживает два способа аутентификации.

🔐 Bearer Token (межсерверное API)

Рекомендуемый способ для серверных приложений

Authorization: Bearer {ваш_токен}

Токен передается в заголовке запроса.

🔑 GET-параметр (Excel / простые запросы)

Для использования в Excel и простых GET-запросах

/{ваш_токен}

Токен передается в GET-параметре.

Пример запроса

GET /market/basicstocks
При использовании запросов меняется только эндпоинт и ресурс { /market/basicstocks }, эти параметры вы найдете в описании к каждому запросу. Токен передается в заголовке.
Параметры запроса
curl -X GET \ 'https://go.lookapi.ru/market/basicstocks' \ -H 'Authorization: Bearer YOUR_TOKEN_HERE'
Возможные ответы
200 Успешный запрос. Возвращает список акций с котировками.
401 Токен не передан, пустой или имеет неверный формат.
403 Токен недействителен, просрочен или нет доступа к запрошенному ресурсу.
429 Превышен лимит запросов (100 в минуту).

Формат ответа

API возвращает данные в формате JSON или XML (в зависимости от настроек токена).

// Успешный ответ (200 OK) — JSON { "status": "success", "data": { // запрошенные данные } }

Коды ошибок

INVALID_ARGUMENT 400 Неверные параметры запроса. Код относится ко всем ошибкам валидации. Детали для конкретного случая будут в поле message.
UNAUTHORIZED_FORMAT 401 Неверный формат заголовка Authorization. Ожидается: Bearer {token}
UNAUTHORIZED_REQUIRED 401 Токен не передан (ни в заголовке, ни в GET-параметре)
UNAUTHORIZED_EMPTY 401 Передан пустой токен
INVALID_TOKEN 403 Недействительный или просроченный токен
ACCESS_DENIED 403 У токена нет доступа к запрошенному эндпоинту или ресурсу
NOT_FOUND_REQUEST 404 Некорректный запрос
RATE_LIMIT_EXCEEDED 429 Превышен лимит запросов
INTERNAL_SERVER_ERROR 500 Внутренняя ошибка сервера

Лимиты и ограничения

Базовый лимит запросов 100 запросов в минуту

Как работает rate limiting:

При превышении лимита:

  • Возвращается HTTP-статус 429 Too Many Requests
  • В заголовке ответа Retry-After указывается количество секунд до снятия блокировки
  • В теле ответа присутствует поле retry_after с тем же значением
// Пример ответа при превышении лимита { "status": "fail", "error": "RATE_LIMIT_EXCEEDED", "message": "Превышен лимит запросов. Повторите попытку позже.", "retry_after": 45 }

Период сброса: Блокировка действует до конца текущего минутного окна (максимум 60 секунд).

Рекомендации: При получении ошибки 429 используйте exponential backoff (повторные запросы с увеличивающейся задержкой) или кэшируйте ответы на клиентской стороне.

Что нужно знать о Лайт-токене:

  • • Токен полностью бесплатный
  • • Адаптирован для Excel
  • • Поддержка форматов Xml и Json - доступен для Google Таблиц
  • • Период действия токена (одна генерация) 30 дней
  • • Лайт-токен можно генерировать неограниченное число раз после окончания его срока действия
  • • Лимиты запросов такие же, как и у других токенов, но данные на сервере обновляются по расписанию