Документация для разработчиков › Справочник API

Эндпоинты ваших приложений

Приложения этого рабочего пространства: позиции, конкуренты, отзывы, страница в сторе, её хронология, подборки, чарты и проверки страницы.

Аутентификация · Кредиты · Общие параметры · Коды ошибок · openapi.json

GET /apps

Список приложений, отслеживаемых в этом аккаунте Storelift (id, название, страны, ключевые слова). Вызывайте первым: остальным инструментам нужен appId отсюда.

Права
apps:read
Кредиты
1
Тариф
Free
curl "https://storelift.net/v1/apps" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/keywords

Позиции одного приложения по ключевым словам в одной стране App Store / Google Play. ТРИ СОСТОЯНИЯ РАЗЛИЧАЮТСЯ: measured=false означает, что запрос не удалось измерить, rank=null — что он измерен, но приложения нет среди верхних результатов, rank=<number> — это позиция. Никогда не сводите их к одному: если считать неизмеренный день нулём, ответ будет ложным.

Права
apps:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/keywords?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/rivals

Приложения, которые стоят ВЫШЕ этого приложения в поиске. По каждому конкуренту вы получаете ключевые слова, по которым он вас опережает, его позицию (theirRank) и вашу (ourRank); ourRank null означает, что приложение по этому ключевому слову вообще не показывается.

Права
apps:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/rivals?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/ai

Упоминания приложения в датированной выборке ответов ИИ-систем; это не воспроизводит то, что ChatGPT, Claude или Gemini показывают каждому пользователю. Нужны Studio или Enterprise и область доступа ai:read. engines содержит ответы каждой измеренной системы; providers показывает состояния measured, failed или not_measured. Недоступная система — это не нулевая оценка. Смотрите на датированную выборку и число вопросов в ней; это не универсальный рейтинг и не измерение всех ответов, которые получают пользователи.

Права
ai:read
Кредиты
1
Тариф
Studio

Также принимает: appId (обязательный) · country

curl "https://storelift.net/v1/apps/sbx-lumen/ai?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/ai-check

Запускает выборку видимости в ИИ для одного приложения в одной стране с системами, доступными для запуска. Нужны Studio или Enterprise и область доступа ai:read; лимит панели на тарифе Pro не даёт доступа к этому инструменту MCP. Расходует один запуск видимости в ИИ из тарифа или купленный; результат возвращает get_ai_visibility. Одновременно для приложения выполняется одно измерение.

Права
ai:read
Кредиты
1
Тариф
Studio
ПараметрГдеТипОписание
countryquerystringкод страны, например tr, us (пусто = первые три страны приложения)

Также принимает: appId (обязательный)

Помимо кредитов, этот вызов расходует один запуск видимости в ИИ, из тарифа или купленный, поэтому команды для копирования здесь нет.

GET /apps/{appId}/history

История позиций по ключевым словам в одной стране. Точки ряда — [день, позиция]; позиция null означает, что в этот день приложения не было среди верхних результатов, а это не то же самое, что плохая позиция. Тариф Pro.

Права
apps:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный) · country

curl "https://storelift.net/v1/apps/sbx-lumen/history?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/page

Сигналы страницы самого приложения в магазине для одной страны (без названия и подзаголовка): версия, события в приложении, редакционные размещения, блоки похожих приложений и набор скриншотов (iOS), а также страница Google Play (точное число установок, гистограмма оценок, признаки рекламы и покупок в приложении, значок чарта). ios.listingExtras содержит языки, которые поддерживает приложение, распределение оценок по звёздам (от 1★ до 5★), текущие и предстоящие события в приложении, рекламный текст и продвигаемые покупки в приложении; во Free в нём число языков, первые 5 языков и распределение по звёздам, а locked показывает, сколько остальных элементов. timeline перечисляет датированные изменения, которые мы обнаружили на странице, — самое простое объяснение сдвига позиции. measured=false означает, что страница ни разу не читалась; это не то же самое, что пустая страница.

Права
apps:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный) · country

curl "https://storelift.net/v1/apps/sbx-lumen/page?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/reviews

Недавние отзывы по одной стране: list — отзывы App Store, android — отзывы Google Play (окно короче), каждый с текстом, оценкой и датой. newCount — сколько отзывов пришло с предыдущего измерения; в старой записи приходит null, поэтому читайте его как «неизвестно», а не как ноль. android: null означает, что эта страница Play ждёт первого измерения, а пустой список — что на странице нет отзывов.

Права
reviews:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный) · country

curl "https://storelift.net/v1/apps/sbx-lumen/reviews?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/charts

Позиция в чартах App Store для одной страны: текущие позиции по спискам (бесплатные / платные / кассовые, общий и в категории) и их история. Google Play отсутствует намеренно: у него нет публичного топа, и цифра здесь была бы выдуманной.

Права
apps:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный) · country

curl "https://storelift.net/v1/apps/sbx-lumen/charts?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/reviews/search

Поиск по отзывам одного приложения в одной витрине: по тексту, оценке в звёздах, версии приложения и диапазону дат, сначала новые — до 1000 строк из полного архива отзывов в пределах окна отзывов вашего тарифа. total — число совпадений; truncated сообщает, что совпало больше строк, чем вы запросили.

Права
reviews:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
qquerystringтекст для поиска в заголовке или тексте отзыва
ratingquerystringоценки в звёздах через запятую, например 1,2
versionquerystringверсия приложения, на которой написан отзыв, например 2.4.0
fromquerystringпервый день, YYYY-MM-DD
toquerystringпоследний день, YYYY-MM-DD
limitquerynumberстроки, до 1000 (по умолчанию 100)

Также принимает: appId (обязательный) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/reviews/search?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/reviews/stats

Распределение оценок в звёздах, среднее и доля отзывов с 1–2 звёздами для одного приложения в одной витрине, а также кривая по дням (количество и среднее за день) и разбивка по версиям — чтобы падение можно было связать с релизом, который его вызвал. По умолчанию последние 90 дней.

Права
reviews:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
daysquerynumberпоследние N дней, до 365 (по умолчанию 90)
fromquerystringпервый день, YYYY-MM-DD (имеет приоритет над days)
toquerystringпоследний день, YYYY-MM-DD

Также принимает: appId (обязательный) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/reviews/stats?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/reviews/summary

ИИ для отзывов по одному приложению в одной витрине: сводка недавних отзывов и тем в них — жалобы, просьбы, похвала — с отзывами, процитированными как подтверждение. В тот же день и для того же набора отзывов сохранённая сводка возвращается без расхода лимита; новая сводка расходует один кредит ИИ для отзывов из месячного лимита (все тарифы; на Free — небольшой объём). Отвечает state: "too_few" с количеством, пока отзывов слишком мало для сводки.

Права
reviews:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
storequeryios | androidпо умолчанию ios
langqueryen | tr | de | es | fr | pt | ru | ja | ko | zhязык сводки (по умолчанию en)

Также принимает: appId (обязательный) · country

Помимо кредитов, этот вызов расходует один запуск ИИ для отзывов из месячной квоты, поэтому команды для копирования здесь нет.

GET /apps/{appId}/reviews/reply-draft

Черновик ответа разработчика на один отзыв на языке витрины. Оценка и текст берутся из отзыва, сохранённого у нас, поэтому черновик отвечает на то, что автор действительно написал; note добавляет то, что вы хотите сказать в ответе (вышло исправление, какую настройку попробовать). Возвращается только черновик: ответ публикует reply_review после вашего подтверждения. Расходует один кредит ИИ для отзывов.

Права
reviews:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
storequeryios | androidпо умолчанию ios
reviewIdобязательныйquerystringid отзыва из get_reviews или search_reviews
notequerystringчто должно быть в ответе, например «исправлено в 2.4.1»

Также принимает: appId (обязательный) · country

Помимо кредитов, этот вызов расходует один запуск ИИ для отзывов, поэтому команды для копирования здесь нет.

GET /apps/{appId}/timeline

Датированные изменения страницы одного приложения в магазине — новая версия, скриншоты, события в приложении, фичеринг со страницы магазина и правки поля ключевых слов из App Store Connect — и для каждого движение позиций по ключевым словам вокруг него: запросы, которые выросли, упали, вошли или выпали между последним измерением до изменения и последним в пределах window дней после, а также пять самых крупных сдвигов.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
windowquerynumberсколько дней после каждого изменения читать позиции, до 30 (по умолчанию 7)

Также принимает: appId (обязательный) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/timeline?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/today

День одного приложения в одном ответе — экран «Сегодня»: покупки, пробные периоды и продления из подключённых источников, новые отзывы, сдвиги позиций и категории относительно вчера, новые приложения выше вас, новые события в приложении и вчерашние цифры App Store, Google Play, чистого дохода и рекламы — каждая с пометкой источника. tz делает «сегодня» собственным днём пользователя.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
tzquerystringчасовой пояс IANA, например Europe/Istanbul (по умолчанию UTC)
dayquerystringдругой день для чтения, YYYY-MM-DD

Также принимает: appId (обязательный)

curl "https://storelift.net/v1/apps/sbx-lumen/today" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/competition

Сколько приложений конкурирует по каждому ключевому слову в одной витрине; возвращается для запросов, замеченных у двух и более приложений. По умолчанию берутся отслеживаемые ключевые слова приложения; передайте terms, чтобы посчитать кандидатов до начала отслеживания. corpus — размер набора, по которому сделан подсчёт.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
termsquerystringдо 100 запросов через запятую (по умолчанию отслеживаемые ключевые слова)

Также принимает: appId (обязательный) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/competition?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/rivals/{rivalId}

Один конкурент вашего приложения в одной витрине: название, рейтинг и число оценок с их историей за 90 дней (смена названия показывает, что страницу переписали) и ключевые слова, по которым он ранжируется, с позицией по каждому. Список ключевых слов расходует одно использование шпиона ключевых слов из месячного лимита и остаётся открытым 30 дней; когда лимит исчерпан, ответ содержит собственные показатели конкурента и locked: true.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
rivalIdобязательныйpathstringid конкурента из get_rivals

Также принимает: appId (обязательный) · country · platform

Помимо кредитов, этот вызов расходует один запрос шпиона из месячной квоты, поэтому команды для копирования здесь нет.

GET /apps/{appId}/rivals/{rivalId}/adnetworks

Как конкурент зарабатывает на рекламе: рекламные сети, с которыми он работает, каждая с пометкой DIRECT или RESELLER. Состояние различает случаи: найденные сети, разработчик, который не указывает рекламных сетей (no_file), проверка, которую на этот раз не удалось завершить (unreachable), или страница в магазине без сайта разработчика (no_site). Хранится 14 дней.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
rivalIdобязательныйpathstringid конкурента из get_rivals

Также принимает: appId (обязательный) · platform

curl "https://storelift.net/v1/apps/sbx-lumen/rivals/1000000001/adnetworks" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/rivals/{rivalId}/market

Рынок конкурента в одной витрине: в Google Play — точное число установок и диапазон цен покупок в приложении, и установки между двумя измерениями, когда их уже два; в App Store — цена, число оценок, дата выпуска и наличие покупок в приложении. Измеряется по запросу и хранится 7 дней.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
rivalIdобязательныйpathstringid конкурента из get_rivals

Также принимает: appId (обязательный) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/rivals/1000000001/market?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/storefront-audit

Ваша страница iOS во всех витринах App Store: где продаётся приложение, какие витрины показывают резервный текст или резервные скриншоты вместо своих языковых, и вторая локаль, которую индексирует каждая витрина. Возвращает последнюю проверку; refresh: true запускает новую, если последней больше 12 часов, и отвечает 202 с eta в секундах — после этого вызовите ещё раз. Полная таблица доступна на Pro и выше; на Free — предпросмотр.

Права
apps:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный)

curl "https://storelift.net/v1/apps/sbx-lumen/storefront-audit" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/suggest

Новые идеи ключевых слов для одного приложения в одной витрине, написанные на языке поиска этой витрины: запросы из 1–3 слов, которые люди вводят в поиске магазина, каждый с пояснением в одну строку — кто его ищет и почему приложение отвечает на эту потребность. Отслеживаемые ключевые слова, скрытые вами слова и названия брендов в список не попадают. Расходует один кредит текстов с ИИ из месячного лимита (Pro и выше); измерьте идеи через get_keyword_metrics, прежде чем отслеживать их.

Права
apps:read
Кредиты
1
Тариф
Pro
ПараметрГдеТипОписание
ccquerystringкод витрины, например tr, us (по умолчанию первая страна приложения)
langqueryen | tr | de | es | fr | pt | ru | ja | ko | zhязык пояснений (по умолчанию en)

Также принимает: appId (обязательный)

Помимо кредитов, этот вызов расходует один ИИ-текст из месячной квоты, поэтому команды для копирования здесь нет.

POST /apps/{appId}/validate-listing

Проверяет черновик страницы App Store до отправки в App Store Connect. Сообщает о лимитах символов по полям, о месте в поле ключевых слов, потерянном на пробелы, о повторах, о словах, которые уже есть в названии или подзаголовке, о бренде и словах-заполнителях, о повторах между названием и подзаголовком, о названиях продуктов Apple и словах о цене, о том, написан ли текст на языке и в письменности локали, и о том, какие отслеживаемые ключевые слова приложения не вошли в черновик. Ничего не записывает; передавайте только те поля, которые нужно проверить.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
localebodystringлокаль страницы, например en-US, de-DE, ja
countrybodystringстрана, по отслеживаемым ключевым словам которой проверяется покрытие, например us (по умолчанию первая страна приложения)
namebodystringназвание приложения, до 30 символов
subtitlebodystringподзаголовок, до 30 символов
keywordsbodystringполе ключевых слов, через запятую, до 100 символов
promotionalTextbodystringрекламный текст, до 170 символов
descriptionbodystringописание, до 4000 символов

Также принимает: appId (обязательный)

curl -X POST "https://storelift.net/v1/apps/sbx-lumen/validate-listing" \
  -H "Authorization: Bearer $STORELIFT_API_KEY" \
  -H "content-type: application/json" \
  -d '{"locale":"en-US","name":"Lumen: Sleep Sounds","subtitle":"White noise and rain for sleep","keywords":"calm,relax,nap,baby,fan,ocean,lullaby"}'

GET /apps/{appId}/draft

Черновик страницы в магазине — заголовок, подзаголовок, рекламный текст и описание — на основе ключевых слов, измеренных для этого приложения в одной витрине, в порядке спроса. К каждому полю прилагается число символов относительно лимита магазина и две проверки для модерации: название продукта Apple в заголовке или подзаголовке (только App Store) и формулировки о цене. termsUsed перечисляет измеренные запросы, на которых построен черновик; excluded — отслеживаемые запросы, которые ещё предстоит измерить. В магазин ничего не записывается — это делает update_listing. Расходует один кредит текстов с ИИ (Pro и выше).

Права
apps:read
Кредиты
1
Тариф
Pro
ПараметрГдеТипОписание
ccquerystringкод витрины, например tr, us (по умолчанию первая страна приложения)

Также принимает: appId (обязательный) · platform

Помимо кредитов, этот вызов расходует один ИИ-текст, поэтому команды для копирования здесь нет.

GET /apps/{appId}/localize

Пишет полную страницу App Store для новой локали — название, подзаголовок, поле ключевых слов и описание — на основе исходной страницы приложения, предварительно измерив каждое ключевое слово в этой витрине. Первый вызов запускает работу и отвечает pending (расходуется одно написание страницы из тарифа: Free — 1 всего, Pro — 20, Studio — 75 в месяц); вызывайте снова с poll=true, пока страница не вернётся. С shots=true подписи к скриншотам тоже возвращаются на том же языке. Нужно, чтобы для приложения уже был выполнен get_storefront_audit. В App Store Connect ничего не записывает — это делает update_listing.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
localeобязательныйquerystringцелевая локаль, например de_de, pt_br, ja_jp (de-DE тоже подходит)

Также принимает: appId (обязательный)

Помимо кредитов, этот вызов расходует одну запись страницы из тарифа, поэтому команды для копирования здесь нет.

GET /apps/{appId}/shot-text

Текст подписей на первых четырёх скриншотах вашего приложения в App Store в одной витрине. Apple индексирует текст страницы, поэтому этот текст влияет на конверсию, а не на позицию в поиске — в ответе это отмечено как indexed: false. Хранится, пока скриншоты не изменятся; новое чтение расходует один кредит текстов с ИИ (Pro и выше).

Права
apps:read
Кредиты
1
Тариф
Pro
ПараметрГдеТипОписание
ccquerystringкод витрины, например tr, us (по умолчанию первая страна приложения)

Также принимает: appId (обязательный)

Помимо кредитов, этот вызов расходует один ИИ-текст, поэтому команды для копирования здесь нет.

GET /apps/{appId}/chart-movers

Кто сдвинулся в чарте категории приложения: выросшие и упавшие (на 3 и более мест), новички и выбывшие, с названиями, а также места самого приложения и выбранных конкурентов в оба дня. Категория берётся из записи чартов приложения; передайте genre, чтобы посмотреть другую. Тариф Pro.

Права
apps:read
Кредиты
1
Тариф
Pro
ПараметрГдеТипОписание
kindqueryfree | paid | grossingчарт (по умолчанию free)
genrequerystringid жанра App Store, например 6013 (по умолчанию категория самого приложения)
daysquerynumberсравнить с данными столько дней назад, 1-90 (по умолчанию 1)
limitquerynumberстрок на группу, до 100 (по умолчанию 25)

Также принимает: appId (обязательный) · country

curl "https://storelift.net/v1/apps/sbx-lumen/chart-movers?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/featuring

Где Apple показывает приложение сегодня, по странам: редакционные карточки (dedicated: true, когда материал посвящён этому приложению, false — когда оно входит в подборку), текущие и запланированные события в приложении, блок Apple You Might Also Like и датированная история фичеринга и новых событий. Оставьте country пустым, чтобы получить все страны, которые отслеживает приложение.

Права
apps:read
Кредиты
1
Тариф
Free
ПараметрГдеТипОписание
countryquerystringкод страны, например tr, us (пусто = все страны, которые отслеживает приложение)

Также принимает: appId (обязательный)

curl "https://storelift.net/v1/apps/sbx-lumen/featuring?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}

Одно отслеживаемое приложение с id платформ, странами, отслеживаемыми ключевыми словами по странам и последним снимком измерений (таблицы ключевых слов по странам). Сначала получите appId через list_apps.

Права
apps:read
Кредиты
1
Тариф
Free

Также принимает: appId (обязательный)

curl "https://storelift.net/v1/apps/sbx-lumen" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Открыть в песочнице

Пример ответа

GET /apps/{appId}/weekly-plan

Предложения этой недели по странице приложения — тот же список, что в карточке «На этой неделе» в панели, сначала лучшие. Предложение появляется, только если проходит строгие проверки: ключевое слово попадает в заголовок или подзаголовок, только если это основной запрос ниши приложения с высоким спросом, приложение уже занимает по нему места 4–15, приложения конкурентов выше содержат его в названии и оно помещается без потери бренда и всего, что уже ранжируется; нишевые и низкочастотные ключевые слова идут максимум в поле ключевых слов и только при наличии места; другие категории, другие языки и ключевые слова, от которых пользователь отказался, не появляются никогда; ничего не предлагается, пока недавнее изменение страницы ещё не устоялось (settling сообщает, до какого дня). В каждой задаче есть формулировка, текущий и предлагаемый текст, добавляемые и удаляемые слова, причины (измеренные факты), компромисс и уровень уверенности. Без country все витрины объединяются, и одно и то же изменение становится одной задачей со списком стран. Часто список пуст — так и задумано. Тариф Pro.

Права
apps:read
Кредиты
1
Тариф
Pro
ПараметрГдеТипОписание
countryquerystringодна витрина, например tr, us (не указывайте, чтобы объединить все витрины)
goalquerydownloads | rank | revenueпринимается для совместимости; предложения упорядочены по ожидаемой ценности
platformqueryios | androidмагазин (по умолчанию ios)
limitqueryintegerсколько задач вернуть, 1–10 (по умолчанию 5)

Также принимает: appId (обязательный)

curl "https://storelift.net/v1/apps/sbx-lumen/weekly-plan?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"