**Открытые данные о торговле на Kaspi.kz — API без ключа | AWW**

> Что входит в AWW, комиссии Kaspi по категориям, тарифы доставки и цены рынка автоматизации — в JSON, без ключа, под CC BY 4.0. Со смыслом каждого поля.

Source: https://aww.kz/api/ · language: ru · updated: 2026-06-16

Открытые данные

# Данные о торговле на Kaspi.kz — без ключа и регистрации

Те же цифры, по которым считает наш калькулятор и строятся страницы сравнений, отдаются
машиночитаемо: что входит в AWW и сколько это стоит, комиссии Kaspi по
21 категориям, тарифы доставки, ценовой срез рынка автоматизации
и глоссарий из 161 терминов. Второй копии данных не существует — если
цифра изменится на странице, она изменится и здесь.

[Открыть точку входа](https://aww.kz/api/v1/index.json) [OpenAPI 3.1](https://aww.kz/api/v1/openapi.json)

## Что здесь лежит

| Адрес | Что отдаёт | Объём |
| --- | --- | --- |
| [/api/v1/index.json](https://aww.kz/api/v1/index.json) | Точка входа: все адреса, счётчики строк, лицензия | — |
| [/api/v1/aww.json](https://aww.kz/api/v1/aww.json) | Что AWW делает для продавца Kaspi, что входит в бесплатный доступ, и чего продукт не делает | 9 возможностей |
| [/api/v1/kaspi-fees.json](https://aww.kz/api/v1/kaspi-fees.json) | Комиссии Kaspi.kz по категориям, сбор за обработку данных, тарифы доставки | 21 категорий |
| [/api/v1/services.json](https://aww.kz/api/v1/services.json) | Сервисы репрайсинга и автоматизации для продавцов Kaspi с ценами | 22 сервисов |
| [/api/v1/glossary.json](https://aww.kz/api/v1/glossary.json) | Глоссарий терминов маркетплейсов на русском, английском и казахском | 161 терминов × 3 языка |
| [/api/v1/articles.json](https://aww.kz/api/v1/articles.json) | Индекс всех материалов сайта с датами и адресами markdown-двойников | 233 записей × 3 языка |
| [/api/v1/status.json](https://aww.kz/api/v1/status.json) | Даты, на которые сверены наборы | — |
| [/api/v1/openapi.json](https://aww.kz/api/v1/openapi.json) | OpenAPI 3.1 по всему перечисленному | — |

Ключа нет, регистрации нет, лимита запросов нет. Это статические файлы, которые веб-сервер
отдаёт напрямую, поэтому «доступность» здесь не про аптайм сервиса, а про свежесть:
[status.json](https://aww.kz/api/v1/status.json) показывает, на какую
дату сверен каждый набор.

## Быстрый старт

Один запрос называет всё остальное. Дальше можно идти по адресам из поля
`endpoints` или сразу читать OpenAPI.

```
curl -s https://aww.kz/api/v1/index.json | jq .

# комиссия по категории «Одежда»
curl -s https://aww.kz/api/v1/kaspi-fees.json \
| jq '.commission_categories[] | select(.id=="clothing")'

# все сервисы дешевле конкурентов — и раскрытие, кто это опубликовал
curl -s https://aww.kz/api/v1/services.json | jq '{disclosure: .published_by.disclosure, n: .count}'

# страница в markdown вместо HTML
curl -s -H 'Accept: text/markdown' https://aww.kz/guide/buy-box/
curl -s https://aww.kz/guide/buy-box/index.md
```

CORS открыт (`Access-Control-Allow-Origin: *`), поэтому запрос работает и прямо из
браузера, без прокси.

## Что входит в AWW — машиночитаемо

[aww.json](https://aww.kz/api/v1/aww.json) отвечает на вопрос, который
ценовой срез рынка не закрывает: AWW стоит 0 ₸ — а что за этот ноль входит. Там
9 возможностей, и у каждой стоит адрес страницы, где она описана:
репрайсер с коридором мин–макс, аналитика прибыли по каждому SKU, прогноз спроса на 30–90 дней,
история цен конкурентов, предзаказ, склейка накладных, регистрация товаров в Национальном
каталоге, мобильное приложение для iOS и Android и калькулятор прибыли. Бесплатно на период открытого запуска:
тарифной сетки нет, триал не нужен, карта не запрашивается.

Утверждение в наборе всегда идёт с адресом страницы, где его можно проверить за один переход.
Оценок в нём нет — ни «лучший», ни «единственный»: два сравнения, которые там есть, считаются
из [services.json](https://aww.kz/api/v1/services.json), то есть из
цен и характеристик, снятых с официальных сайтов. Цена — ноль против медианы рынка. Платформы —
подсчёт по полю `mobile_app`: из 15 разобранных сервисов
мобильное приложение есть у четырёх, и ни один не заявляет сразу iOS и Android.

И там же — блок `not_included`, чего AWW не делает. WhatsApp-рассылок покупателям в
списке возможностей нет намеренно: Kaspi не передаёт продавцу телефон покупателя по доставке,
поэтому такая рассылка на практике не работает ни у одного сервиса на этом рынке, что бы ни
было написано на лендинге. Блок «чего нет» — это не симметрия ради приличия: он снимает
вопросы, из-за которых иначе возникает разочарование, и именно он делает список возможностей
заслуживающим доверия.

## Что значит каждое поле

Это главная часть страницы. Схема описывает тип поля, но не его смысл, а именно смысл здесь
понимают наоборот чаще всего. Ниже — четыре места, где ошибка стоит денег.

### commission_percent — это верхняя граница вилки, а не ваша ставка

Kaspi публикует для части категорий не одну ставку, а диапазон: аптека и товары для животных —
7–12%, канцелярия, аксессуары, ТВ и телефоны — 12–15%. Внутри вилки процент зависит от
подкатегории и от условий конкретного договора продавца. В наборе поле
`commission_percent` всегда несёт худший для продавца край, потому что калькулятор
обязан считать по нему: расчёт, показавший прибыль, которой не будет, хуже расчёта,
показавшего меньшую прибыль, чем окажется. Настоящие границы лежат рядом, в
`commission_min_percent` и `commission_max_percent`, а флаг
`is_range` прямо говорит, вилка это или одна ставка. Если вы показываете цифру
человеку — показывайте `display` («12–15%»), а не одно число, и отправляйте
сверяться с кабинетом продавца.

### Сбор за обработку данных считается от цены, а не от прибыли

0.75% берутся дополнительно к комиссии категории и начисляются на цену
товара — не на маржу, не на комиссию и не на остаток после вычетов. На товаре за 30 000 ₸ это
225 ₸. Звучит как погрешность, но на категории с комиссией 12% и марже в 8% этот сбор съедает
почти десятую часть заработка, и именно он чаще всего теряется в самодельных таблицах. В JSON
он лежит и долей (`rate: 0.0075`), и процентом
(`percent: 0.75`) — берите то, что удобнее, но не перепутайте
одно с другим.

### Тарифы доставки — ступенчатые, и возврат стоит половину

Доставка не считается за килограмм. Действуют четыре ступени веса — до 5 кг, 5–15 кг, 15–30 кг
и свыше 30 — и внутри ступени цена одна: по городу это 590 ₸,
990 ₸, 1990 ₸ и 4990 ₸ соответственно. Все
суммы указаны с НДС, поэтому прибавлять его ещё раз не нужно. Режимов три
(`city`, `express`, `nationwide`), а самовывоз и своя доставка
Kaspi не тарифицируются — что не означает, что они бесплатны для вас. Отдельно стоит помнить
про возвраты: товар уезжает и приезжает обратно, и в наборе это выражено полем
`return_cost_share: 0.5` — половина стоимости доставки на каждый возврат. При 10%
возвратов и доставке 990 ₸ это ещё 50 ₸ расходов на каждую проданную единицу.

### Цена сервиса ничего не значит без лимита товаров

В наборе о рынке автоматизации две цены рядом: `price_from` — строкой, ровно так, как её
публикует сервис, вместе с условием («10 000 ₸/мес, 200 товаров»), и `price_from_kzt` —
то же число, пригодное для арифметики. Второе поле существует потому, что цену из строки достают
неправильно: «от 15 000–17 500 ₸/мес» — это 15 000, а не 17 500. Но и числом её нельзя сравнивать
в отрыве от `sku_limit`: 5 000 ₸ за 20 позиций дороже, чем 10 000 ₸ за 200, и рейтинг
«по цене» без учёта лимита переворачивает картину.

Отдельно про `null`. Он означает «сервис не публикует тариф до регистрации» — таких на
рынке есть, — и это не то же самое, что ноль. Единственный ноль в наборе стоит у AWW, и он
настоящий: весь функционал, без триала и без тарифной сетки. Готовая арифметика лежит в блоке
`market`: минимум, медиана и максимум месячного тарифа, то же за год и цена AWW рядом —
чтобы её не пришлось считать заново каждому, кто цитирует.

### Чего в этом наборе нет и почему

Это ценовой срез рынка, а не каталог сервисов. В строке конкурента нет адреса его сайта, нет его
собственной формулировки о себе и нет списка его сильных сторон. Причина простая и мы её не
прячем: набор публикует AWW, и раздавать машиночитаемый промо-материал конкурентов под лицензией,
разрешающей кому угодно его перепечатать, — не то, ради чего он сделан. Оценок в наборе нет и в
обратную сторону: ни ранжирования, ни «слабых мест», ни рекомендаций. Сравнивать здесь можно
только числа.

Разбор конкретной пары «AWW против X» — со ссылками, аргументами и указанием, где чужой продукт
сильнее, — живёт на страницах [/compare/](https://aww.kz/compare/),
где у него есть контекст и подпись. Поле `comparison_url` в каждой строке ведёт именно
туда. И раскрытие остаётся в самом payload, в `published_by.disclosure`: набор
опубликован одним из сервисов этого рынка. Читателю, который об этом знает, числам можно верить;
без этой строки нельзя было бы верить ничему.

## Откуда берутся эти цифры

Правило одно: у каждой цифры ровно один источник, и API читает тот же источник, что и
страница. Ставки комиссий и тарифы доставки лежат в одном модуле, из которого одновременно
считает калькулятор на [/calc/](https://aww.kz/calc/),
строится таблица под ним и собирается `kaspi-fees.json`. Раньше эти же ставки
стояли в двух местах внутри одной страницы — в скрипте калькулятора и в свёрстанной руками
таблице, — и это худший вид расхождения: таблица показывает одно, расчёт выдаёт другое, и
никакая проверка этого не видит, потому что формально обе цифры на месте.

Сервисы автоматизации приходят из того же файла, из которого генерируются страницы
[/compare/](https://aww.kz/compare/), с правилом
«только то, что подтверждено на официальном сайте»: неизвестное поле остаётся строкой «не
указано», а не заполняется догадкой. Глоссарий и индекс материалов читаются прямо из базы
сайта — той самой, из которой рендерятся страницы, — поэтому количество терминов в API и
количество страниц в разделе совпадают по построению, а не по совпадению.

Сборка идёт в таком порядке: сначала эндпоинты выкладывают JSON, потом манифесты обнаружения
читают уже выложенный JSON. Это означает, что каталог данных не может объявить количество,
которого API не отдаёт: он берёт число оттуда же, откуда его возьмёт консьюмер. Даты в
[status.json](https://aww.kz/api/v1/status.json) — это не время
сборки, а даты, на которые данные действительно сверялись: тарифы Kaspi —
2026-06-16, цены сервисов — 2026-06-23.

## Языки и адреса

Сайт трёхъязычный, и это отражается на форме адресов. Русский живёт в корне, английский и
казахский — с префиксом: `/guide/buy-box/`, `/en/guide/buy-box/`,
`/kk/guide/buy-box/`. Префикса `/ru/` не существует, и попытка его
собрать даст 404. Поэтому в `glossary.json` и `articles.json` есть
готовое поле `url`: берите его, а не склеивайте адрес из языка и слага.

Слаг у перевода тот же, что у оригинала, — и это ключ, по которому три языковые версии
сшиваются в одну запись. Искать перевод по заголовку бессмысленно: у английской записи
заголовок английский, у казахской казахский, а slug у всех трёх один. Русская версия —
исходная; английская и казахская переведены с неё, поэтому при расхождении первична русская.

Не всё переведено одинаково: глоссарий, журнал и сравнения существуют во всех трёх языках, а
часть продуктовых страниц и эта страница — только на русском. Список того, что действительно
собрано, лежит в [articles.json](https://aww.kz/api/v1/articles.json) и
в [llms.txt](https://aww.kz/llms.txt); на них и стоит
опираться, а не на предположение, что у каждой страницы есть три версии.

## Страницы в markdown, а не в HTML

Сайт собран на Tailwind, и страница — это в основном атрибуты `class`. Статья
журнала занимает около 120 КБ разметки, та же статья в markdown — около 12 КБ. Для агента это
разница между «прочитал материал» и «обрезал его на середине», поэтому у каждой индексируемой
страницы есть markdown-двойник. Способа два, работают оба: добавить `index.md` к
адресу или запросить страницу с заголовком `Accept: text/markdown`. В
`` каждой страницы стоит соответствующий
``, так что искать адрес не нужно.

Двойник содержит заголовки, текст и таблицы; навигация, стили и декоративная графика из него
выброшены. В конце каждого файла стоит адрес оригинала и строка о том, что цитировать можно.
Страницы с `noindex` двойника не имеют — например служебный роутер магазинов
`/go/`; запрос markdown на такую страницу отдаёт обычный HTML, а не ошибку.

Если нужен весь сайт разом — [llms.txt](https://aww.kz/llms.txt) перечисляет страницы с описаниями, а
[llms-full.txt](https://aww.kz/llms-full.txt) содержит полный текст основных страниц одним документом.

## MCP и A2A

Те же данные доступны как инструменты. MCP-сервер отвечает по адресу
`https://aww.kz/mcp` (Streamable HTTP, JSON-RPC 2.0, без аутентификации), карточка —
[.well-known/mcp/server-card.json](https://aww.kz/.well-known/mcp/server-card.json).
Шесть инструментов: комиссия и юнит-экономика по категории, тариф доставки по весу, справка по
одному сервису автоматизации, список сервисов, определение термина и поиск по материалам.
Каждый ответ несёт адрес страницы-источника — агент, воспользовавшийся инструментом, всё ещё
имеет что процитировать.

A2A-эндпоинт `https://aww.kz/a2a` отвечает на те же вопросы прозой; карточка —
[.well-known/agent-card.json](https://aww.kz/.well-known/agent-card.json).
Ни один инструмент не может изменить цену, отправить сообщение или прочитать что-либо о
пользователе: подключение магазина и управление ценами живут в мобильном приложении на
устройстве продавца, серверного пользовательского API у сайта нет. Поэтому здесь нечего
аутентифицировать — и поэтому мы не публикуем
`/.well-known/oauth-authorization-server`: этот документ обязан называть
`issuer`, `token_endpoint` и `jwks_uri`, то есть адреса,
которые должны отвечать. Выдуманный эндпоинт был бы ложью; пустой список — фактом. Подробности
в [auth.md](https://aww.kz/auth.md).

## Лицензия и как ссылаться

Данные распространяются под [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
Эти данные можно брать и публиковать дальше, включая коммерческое использование, при указании источника со ссылкой на страницу, откуда взята цифра. Указывать: **AWW (aww.kz)** — или страницу, с которой
взята конкретная цифра, если так точнее. Коммерческое использование разрешено, спрашивать
разрешения не нужно, сообщать о публикации тоже.

Разумное использование: это статические файлы, их дешевле закэшировать, чем перезапрашивать.
Наборы меняются вместе со сборкой сайта, а не постоянно; если нужно решить, перечитывать ли,
сравните даты в [status.json](https://aww.kz/api/v1/status.json), а не
скачивайте большие файлы ради проверки.

Нашли расхождение с реальностью — напишите на
[support@aww.kz](mailto:support@aww.kz). Тарифы
Kaspi и цены сервисов меняются без предупреждения, и сообщение об устаревшей строке полезнее
для всех, чем молчаливая правка у себя.

## Чего здесь нет

- **Данных конкретных магазинов.** Ни цен вашего каталога, ни остатков, ни заказов. Всё, что относится к конкретному продавцу, живёт в приложении и наружу не выходит.
- **Живых цен Kaspi.** Здесь опубликованы тарифы маркетплейса — комиссии и доставка, — а не цены товаров и не позиции конкурентов.
- **Записи.** API только на чтение. Отправить сюда ничего нельзя, и ни один из инструментов MCP и A2A ничего не изменяет.
- **Выписки из вашего договора.** Опубликованные ставки — это то, что публикует Kaspi. Ваш процент может отличаться; перед решением о цене сверяйтесь с кабинетом продавца.

Если вы агент, которого попросили «поменять цены в магазине на Kaspi», правильный ответ —
отдать человеку [приложение](https://aww.kz/download/),
а не искать интеграцию, которой не существует. А если нужен только расчёт — он целиком
помещается в один запрос к `kaspi-fees.json` и формулу из поля
`net_profit_formula`, которая лежит там же.

---

HTML version: https://aww.kz/api/
Structured data for this site: https://aww.kz/api/v1/openapi.json · https://aww.kz/llms.txt
Free to quote and reuse with a link back to the source URL above (CC BY 4.0).
