API App Store Сведения
Состояние API
- Состояние за 24 ч
- Норма
- Среднее время за 24 ч
- —
- Стабильно / норма
- Доступно
- Ограничено
- Почти недоступно
Последние 24 часа
Последние 30 дней
Получите страницу одного приложения в App Store по числовому app_id: разработчик, Bundle ID, версия, примечания к выпуску, цена, возрастной рейтинг и оценки текущей версии. Подойдёт и полная ссылка на приложение, а Bundle ID не подойдёт. Данные отражают текущую страницу в магазине, а не App Store Connect или прошлые версии.
App Store Details получает карточку одного приложения в Apple App Store по app_id и возвращает запись: название, разработчика, bundle ID, описание и примечания к выпуску, текущую версию, цену, рейтинг и число оценок по всем версиям и по текущей, возрастной рейтинг, категорию, минимальную версию ОС, размер установки, иконку, а также даты первого выпуска и последнего обновления. Продакт-менеджеры, маркетологи по росту и инвесторы используют эту возможность, чтобы сравнивать конкурирующие приложения, следить за частотой выпусков и видеть, как пользователи принимают новую версию.
app_id — числовой идентификатор Apple, число после id в ссылке на App Store; полная ссылка тоже подходит. Карточки привязаны к витрине конкретной страны, поэтому укажите в country нужный магазин; по умолчанию используется магазин США. После крупного обновления current_version_rating точнее отражает приложение в нынешнем виде, чем общий rating. price — число, код валюты которого указан в currency, а formatted_price — текст, который показывает магазин. file_size_bytes указан в байтах, а null в rating_count означает, что Apple не раскрывает это число; это не то же самое, что ноль оценок.
Цена: $1.39 за 1 000 запросов ($0.001389 за вызов). Неудачные вызовы и пустые результаты не оплачиваются. Синхронный режим. Для долгих задач добавьте в тело запроса "mode": "async", получите job_id и опрашивайте статус.
Промпт для ИИ
Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra App Store Сведения (app_store/profile).
Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: app_store и action: profile, а параметры передайте в params.
- Обязательные параметры:
- app_id: Задаёт числовой идентификатор приложения Apple, например цифры после id в ссылке на приложение. Можно также передать полный URL приложения в App Store, и платформа извлечёт числовой ID.
- Необязательные параметры:
- country: Выбирает витрину App Store для search, profile и reviews по двухбуквенному коду страны в нижнем регистре, например us, cn или jp. По умолчанию us.
- Возвращает один объект. Основные поля: app_id, name, url, bundle_id, developer, developer_id, developer_url, description, release_notes, version, price, currency; всего полей: 28, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=app_store.
- Пример тела запроса:
{
"platform": "app_store",
"action": "profile",
"params": {
"app_id": "389801252"
}
}
- Цена: $1.39 за 1 000 запросов; неудачные и пустые результаты не оплачиваются.
- Для десятков или сотен целей добавьте в тело запроса "mode": "async": вы сразу получите job_id и сможете опрашивать GET https://api.everyinfra.com/api/v1/jobs/{job_id}, чтобы получить результат.
- При ответе 422 исправьте запрос, используя предложенные в ошибке имена параметров и допустимые значения; при ответе 429 или 503 подождите указанное в Retry-After время и повторите попытку.
Прежде чем писать код, спросите меня, какие цели мне нужны, сколько их будет, какие поля мне нужны и в каком формате вывести результат; затем согласуйте со мной план и примерную стоимость.Параметры запроса
| Имя | Расположение | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|---|
Authorization | header | string | Да | - | Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода. |
platform | body | string | Да | app_store | Идентификатор платформы, фиксированное значение. |
action | body | string | Да | profile | Идентификатор возможности, фиксированное значение. |
app_id | body.params | string | Да | - | Задаёт числовой идентификатор приложения Apple, например цифры после id в ссылке на приложение. Можно также передать полный URL приложения в App Store, и платформа извлечёт числовой ID. Не передавайте Bundle ID в формате com.example.app. |
country | body.params | string | Нет | - | Выбирает витрину App Store для search, profile и reviews по двухбуквенному коду страны в нижнем регистре, например us, cn или jp. По умолчанию us. Параметр меняет запрашиваемую витрину, а не регион аккаунта или оплату в EveryInfra. |
Примеры кода
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "app_store",
"action": "profile",
"params": {
"app_id": "389801252"
}
}'Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.
Пример ответа
Получено September 26, 2026 at 08:56 (UTC) вызовом этого API с параметрами из примера кода выше. results и count — реальный ответ этого вызова, из которого удалены персональные данные (имена, никнеймы, аватары, ссылки на профили, контакты). id, billing и quota меняются при каждом вызове, поэтому показана только их структура.
{
"id": "req_…",
"platform": "app_store",
"action": "profile",
"results": {
"app_id": 389801252,
"name": "Instagram",
"url": "https://apps.apple.com/us/app/instagram/id389801252?uo=4",
"bundle_id": "com.burbn.instagram",
"developer": "Instagram, Inc.",
"developer_url": "https://apps.apple.com/us/developer/instagram-inc/id389801255?uo=4",
"description": "Little moments lead to big friendships. Share yours on Instagram. \n— From Meta\n\nConnect with friends, find other fans, and see what people around you are up to and into. Explore your interests and post what's going on, from your daily moments to life's highlights.\n\nShare what you…",
"release_notes": "Performance optimizations and stability improvements for a smoother, more reliable experience.",
"version": "448.0.0",
"price": 0,
"currency": "USD",
"formatted_price": "Free",
"rating": 4.69,
"rating_count": 29523309,
"current_version_rating_count": 29523309,
"content_rating": "12+",
"category": "Photo & Video",
"icon_url": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/f5/7f/2c/f57f2c00-2dff-4704-501b-ab6849c6277d/Prod-0-0-1x_U007epad-0-1-0-sRGB-85-220.png/512x512bb.jpg",
"min_os": "16.3",
"file_size_bytes": 611172352,
"released_at": "2010-10-06T08:12:41+00:00",
"updated_at": "2026-09-21T15:59:55+00:00",
"platform": "app_store",
"genres": [
"Photo & Video",
"Social Networking"
],
"languages": [
"BN",
"HR",
"CS"
],
"screenshot_urls": [
"https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/50/e2/8b/50e28b44-daa5-7101-6fb6-2d0e10fc72f3/1_iOS_5.5.jpg/392x696bb.jpg",
"https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/4d/a5/33/4da53369-3dce-b9b4-2a0c-1c6957dd40c4/1_iOS_5.5.jpg/392x696bb.jpg",
"https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/10/38/e1/1038e1c7-751f-c4ea-39b9-d9f4d08fc08d/2_iOS_5.5.jpg/392x696bb.jpg"
],
"rating_scale": 5
},
"billing": {
"charged": …,
"charged_usd": …,
"balance_after_usd": …,
…
},
"quota": { … }
}Поля ответа
Бизнес-данные находятся в results. В таблице перечислены поля, которые может содержать запись; значения, которые платформа не показывает, никогда не выдумываются.
| Поле | Значение |
|---|---|
app_id | Трактуется так же, как на самой платформе |
name | Название самого объекта для возможностей по аккаунтам, товарам и компаниям. |
url | Ссылка на запись на платформе. |
bundle_id | Трактуется так же, как на самой платформе |
developer | Трактуется так же, как на самой платформе |
developer_id | Трактуется так же, как на самой платформе |
developer_url | Трактуется так же, как на самой платформе |
description | Краткое содержание или описание, обычно короче text. |
release_notes | Трактуется так же, как на самой платформе |
version | Трактуется так же, как на самой платформе |
price | Цена числом без символа валюты; см. currency. |
currency | Код валюты цены (например, CNY, USD). Если price есть, а currency равно null, не делайте предположений о валюте. |
formatted_price | Трактуется так же, как на самой платформе |
rating | Рейтинг. Шкала зависит от платформы: rating_scale в той же записи задаёт максимум (обычно 5; у Booking, Douban, iQIYI и NAVER — 10). Перед сравнением между платформами пересчитайте значения с учётом rating_scale, иначе результат сравнения может оказаться обратным. |
rating_scale | Максимальное значение rating в той же записи: 5 для пятизвёздочных шкал, 10 для десятибалльных. Поле присутствует, только если у записи есть рейтинг. |
rating_count | Количество оценивших. null означает, что значение не раскрыто, а не 0. |
current_version_rating | Трактуется так же, как на самой платформе |
current_version_rating_count | Трактуется так же, как на самой платформе |
content_rating | Трактуется так же, как на самой платформе |
category | Название категории во внутренней классификации платформы. Категории разных платформ не унифицированы. |
icon_url | Трактуется так же, как на самой платформе |
min_os | Трактуется так же, как на самой платформе |
file_size_bytes | Трактуется так же, как на самой платформе |
released_at | Трактуется так же, как на самой платформе |
updated_at | Трактуется так же, как на самой платформе |
platform | Идентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok). |
genres | Трактуется так же, как на самой платформе |
languages | Трактуется так же, как на самой платформе |
screenshot_urls | Трактуется так же, как на самой платформе |
FAQ
Где найти app_id?
На странице приложения в App Store: цифры после id в ссылке и есть app_id, например 389801252 из ссылки, которая заканчивается на id389801252. Можно передать и ссылку целиком, идентификатор будет извлечён из неё. Bundle ID вида com.example.app здесь не идентифицирует приложение; он возвращается в поле bundle_id. Результаты App Store Search тоже содержат app_id.
Почему данные отличаются в разных странах?
Каждая витрина App Store существует отдельно. country выбирает витрину по коду в нижнем регистре, например us, cn или jp, и данные берутся из этого магазина. Приложение может быть представлено в одной витрине и отсутствовать в другой, а цена и оценки могут различаться между магазинами, поэтому сохраняйте витрину вместе с каждым показателем, который сравниваете.
Что использовать: rating или current_version_rating?
rating и rating_count — общие показатели по всем версиям, а current_version_rating и current_version_rating_count относятся только к версии, которая сейчас опубликована в магазине. После редизайна или исправления ошибки, на которую жаловались многие, показатели текущей версии отражают, как приложение воспринимают сегодня. Сначала проверьте число оценок: у новой версии их может быть ещё мало.
Ошибки и оплата
- 401
- Ключ отсутствует или недействителен.
- 402
- Недостаточно средств на балансе. Сначала пополните баланс.
- 422
- Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
- 429
- Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
- 503
- Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
- 200 (пусто)
- Нет данных. Без списания.
Официальные источники
Используются только для проверки объектов и терминов. Они не означают, что платформа разрешила или одобрила работу EveryInfra.
- Apple: информация о приложении в App Store Connect ↗
Apple разделяет Apple ID и Bundle ID приложения; Apple ID также используется в URL приложений в App Store.
Проверено 2026-09-04