Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

API App Store Сведения

POST

Состояние API

Состояние за 24 ч
Норма
Среднее время за 24 ч
—
  • Стабильно / норма
  • Доступно
  • Ограничено
  • Почти недоступно
Норма

Получите страницу одного приложения в 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 время и повторите попытку.

Прежде чем писать код, спросите меня, какие цели мне нужны, сколько их будет, какие поля мне нужны и в каком формате вывести результат; затем согласуйте со мной план и примерную стоимость.

Параметры запроса

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
platformbodystringДаapp_storeИдентификатор платформы, фиксированное значение.
actionbodystringДаprofileИдентификатор возможности, фиксированное значение.
app_idbody.paramsstringДа-Задаёт числовой идентификатор приложения Apple, например цифры после id в ссылке на приложение. Можно также передать полный URL приложения в App Store, и платформа извлечёт числовой ID. Не передавайте Bundle ID в формате com.example.app.
countrybody.paramsstringНет-Выбирает витрину App Store для search, profile и reviews по двухбуквенному коду страны в нижнем регистре, например us, cn или jp. По умолчанию us. Параметр меняет запрашиваемую витрину, а не регион аккаунта или оплату в EveryInfra.

Примеры кода

bash
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 меняются при каждом вызове, поэтому показана только их структура.

json
{
  "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.