Битрикс24 REST API: Выгрузить все сделки на нужной стадии

Сценарий из mcp-everything. Актуально на 2026-10-24.

Забрать сделки из Битрикс24 в свою аналитику или учётную систему.

  1. Запроси список: crm.item.list с entityTypeId = 2, filter (например, по stageId или по дате изменения) и select с нужными полями — так ответ будет легче.
  2. Страница всегда содержит 50 записей. Следующую получай с параметром start = 50, 100 и так далее, пока в ответе есть next.
  3. Для больших выгрузок собирай до 50 вызовов crm.item.list с разными start в один batch — это в десятки раз быстрее отдельных запросов.
  4. Учитывай лимит частоты: на обычных тарифах — примерно 2 запроса в секунду. При превышении приходит HTTP 503 с QUERY_LIMIT_EXCEEDED — подожди и повтори.
curl -X POST "$HOOK/crm.item.list.json" \
  -H 'Content-Type: application/json' \
  -d '{
        "entityTypeId": 2,
        "select": ["id", "title", "stageId", "opportunity", "currencyId", "contactIds", "updatedTime"],
        "filter": {"stageId": "WON", ">=updatedTime": "2026-01-01T00:00:00+03:00"},
        "order": {"id": "ASC"},
        "start": 0
      }'

Базовые URL

Авторизация

Тип: Другое

Два способа:

Без данных авторизации запрос отклоняется с ошибкой NO_AUTH_FOUND.

curl -X POST \
-H "Content-Type: application/json" \
-d '{
	"entityTypeId": 2,
	"fields": {
		"title": "New Deal",
		"typeId": "SALE",
		"stageId": "NEW"
	}
}' \
https://your-domain.bitrix24.com/rest/1/8g9l071eismy9q2l/crm.item.add.json

Методы сценария

crm.item.list — Список элементов

Возвращает только элементы, на которые у пользователя есть право чтения. Размер страницы всегда 50 записей.

Пример ответа (сокращён):

Параметр Где Тип Обяз. Описание
entityTypeId body integer да Тип объекта CRM
select body array нет Поля для выборки или '*'
filter body object нет Фильтр вида {поле: значение}, допускает вложенность и логику
order body object нет Сортировка вида {поле: "ASC" | "DESC"}
start body integer нет Смещение для пагинации: 50 — вторая страница
useOriginalUfNames body boolean нет Формат имён пользовательских полей

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

{
    "result": {
        "items": [
            {
                "id": 253,
                "assignedById": 6,
                "stageId": "NEW",
                "opportunity": 19000,
                "sourceId": "WEB",
                "title": "Lead #253",
                "name": "Admin",
                "lastName": null,
                "isManualOpportunity": "Y"
            }
        ]
    }
}

batch — Пакетный запрос

Выполняет несколько вызовов за один HTTP-запрос — независимых или связанных (результат одного передаётся в следующий). Скоуп basic. В одном batch — не больше 50 команд.

Параметр Где Тип Обяз. Описание
cmd body array да Подзапросы: ключ — идентификатор, значение — строка method?parameter=value
halt body boolean нет Прерывать последовательность при ошибке

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://apidocs.bitrix24.ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/bitrix24.md