Перейти к основному содержимому

RuStore AppDownload API

RuStore AppDownload API позволяет авторизованным партнёрам получать информацию о приложениях Android, доступных в RuStore, по packageName.

С помощью API можно:

  • получить список доступных приложений;
  • получить подробные метаданные приложения;
  • получить ссылку на скачивание приложения в формате universal APK.
примечание

Некоторые приложения могут быть недоступны через API.

Общая информация

Base URL

https://api.rustore.ru/partners/v1/public-api

Ограничение запросов

  • 20 запросов в минуту с одного IP-адреса.

Получить список приложений

Возвращает список доступных приложений.

GET
/apps

Полный путь

https://api.rustore.ru/partners/v1/public-api/apps

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

ПараметрТипОбязательныйОписание
limitStringнетМаксимальное количество приложений в ответе. Допустимые значения: от 1 до 200. По умолчанию — 100.
continuationStringнетТокен для получения следующей страницы результатов.

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

curl -X GET "https://api.rustore.ru/partners/v1/public-api/apps?limit=50" \
-H "Content-Type: application/json"

Поля ответа

ПолеТипОписание
apps[].packageNameStringИмя пакета приложения.
apps[].nameStringПолное название приложения.
apps[].verNameStringТекущая версия приложения.
apps[].versionUpdatedAtLocalDateTimeДата и время публикации текущей версии.
continuationStringТокен для получения следующей страницы результатов.

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

200 OK
{
"apps": [
{
"packageName": "skyeng.words.prod",
"name": "Skyeng: английский, репетиторы",
"verName": "10.4.1",
"versionUpdatedAt": "2026-02-20T14:30:00.307"
}
],
"continuation": 123456
}
400 Bad Request — некорректный limit
{
"code": "ERROR",
"message": "Incorrect parameter limit",
"body": null,
"timestamp": "2026-03-04T12:45:04.754+03:00"
}
400 Bad Request — невалидный continuation token
{
"code": "ERROR",
"message": "Invalid continuation token: 123654",
"body": null,
"timestamp": "2026-03-04T09:45:45.576Z"
}

Получить метаданные приложения

Возвращает подробную информацию о приложении по его packageName.

GET
/apps/{packageName}/metadata

Полный путь

https://api.rustore.ru/partners/v1/public-api/apps/{packageName}/metadata

Path-параметры

ПараметрТипОбязательныйОписание
packageNameStringдаИмя пакета приложения.

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

curl -X GET "https://api.rustore.ru/partners/v1/public-api/apps/com.vk.vkvideo/metadata" \
-H "Content-Type: application/json"

Поля ответа

ПолеТипОписание
body.packageNameStringИмя пакета приложения.
body.nameStringПолное название приложения.
body.versionNameStringТекущая версия приложения.
body.verCodeStringКод текущей версии приложения.
body.versionUpdatedAtLocalDateTimeДата и время публикации текущей версии (UTC).
body.ageLegalStringВозрастное ограничение.
body.categoryStringКатегория приложения в RuStore.
body.shortDescriptionStringКраткое описание приложения.
body.fullDescriptionStringПолное описание приложения.
body.iconUrlStringURL иконки приложения.
body.screenshotUrlsList<String>Список URL скриншотов приложения.
body.whatsNewStringСписок изменений текущей версии.
body.fileSizeLongРазмер APK-файла в байтах.
timestampStringДата и время формирования ответа.

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

200 OK
{
"code": "OK",
"message": null,
"body": {
"packageName": "com.vk.vkvideo",
"versionName": "1.136",
"verCode": "40673",
"versionUpdatedAt": "2026-03-18T08:59:20.550",
"name": "VK Видео: кино, сериалы, ТВ и мультфильмы",
"ageLegal": "12+",
"category": "entertainment",
"shortDescription": "Смотри шоу, мультики, ТВ, сериалы, спортивные трансляции и фильмы бесплатно.",
"fullDescription": "Смотри кино, мультики, сериалы, ТВ онлайн, спортивные трансляции и фильмы бесплатно на всех устройствах...",
"iconUrl": "https://static.rustore.ru/apk/2027823295/content/ICON/97486018-5785-424d-9cab-4fe496d27c76.png",
"screenshotUrls": [
"https://static.rustore.ru/2026/1/14/21/apk/2027823295/content/SCREENSHOT/e97d2644-80a1-4330-bcb3-a04dbb35214c.png"
],
"whatsNew": "Мы как опытный монтажёр — вырезали баги, чтобы пользоваться приложением было приятнее.",
"fileSize": 149174099
},
"timestamp": "2026-03-19T10:20:51.718Z"
}
404 Not Found — приложение не найдено или недоступно
{
"code": "ERROR",
"message": "Package name: com.example not found",
"body": null,
"timestamp": "2026-03-19T10:20:51.718Z"
}

Получить ссылку на скачивание APK

Возвращает ссылку на скачивание universal APK приложения по его packageName.

GET
/app-apk?packageName=com.example

Полный путь

https://api.rustore.ru/partners/v1/public-api/app-apk?packageName=com.example

Авторизация

Для вызова метода требуется токен.

Формат заголовка:

External-Token: YOUR_UNIQUE_TOKEN

Чтобы получить токен, свяжитесь с командой RuStore.

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

ПараметрТипОбязательныйОписание
packageNameStringдаИмя пакета приложения.

Ограничения

Из-за временных ограничений метод сейчас поддерживает только ограниченный набор packageName:

  • org.telegram.messenger.web
  • com.rlk.weathers
  • com.spotify.music
  • com.lemon.lvoverseas
  • com.transsion.phonemaster
  • us.zoom.videomeetings
  • com.realmecomm.app
  • com.smartlife.nebula
  • com.booking
  • drug.vokrug
  • com.deepseek.chat

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

curl -X GET "https://api.rustore.ru/partners/v1/public-api/app-apk?packageName=com.deepseek.chat" \
-H "External-Token: YOUR_UNIQUE_TOKEN" \
-H "Content-Type: application/json"

Поля ответа

ПолеТипОписание
body.urlStringПрямая ссылка на скачивание APK-файла.

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

200 OK
{
"code": "OK",
"message": null,
"body": {
"url": "https://static.rustore.ru/2026/3/18/45/b8d52053-4fa0-445a-8766-74ba0763348c.apk"
},
"timestamp": "2026-03-19T10:35:29.403Z"
}
400 Bad Request — packageName пустой
{
"code": "ERROR",
"message": "packageName не должно быть пустым",
"body": [
{
"fieldName": "packageName",
"code": "NotBlank.appApkFilesControllerV1#getUniversalApkUrl.packageName; NotBlank.packageName; NotBlank.java.lang.String; NotBlank",
"detailMessage": "не должно быть пустым"
}
],
"timestamp": "2026-03-16T16:50:57.919+03:00"
}
400 Bad Request — параметр packageName не передан
{
"code": "ERROR",
"message": "An error has occurred: /v1/public-api/app-apk. Parameter not specified: packageName",
"body": null,
"timestamp": "2026-03-16T16:52:38.293+03:00"
}
404 Not Found — приложение недоступно
{
"code": "ERROR",
"message": "No suitable app found for package: com.example",
"body": null,
"timestamp": "2026-03-16T13:53:58.827Z"
}
404 Not Found — файл для скачивания недоступен
{
"code": "ERROR",
"message": "Universal apk not found for package: com.example",
"body": null,
"timestamp": "2026-03-16T13:57:40.439Z"
}

Дополнительная информация

  • Все URL в ответах используют HTTPS и доступны публично.
  • URL изображений могут содержать заголовки кеширования. Учитывайте это при отображении изображений.
  • API соответствует REST-подходу.
  • Значение packageName чувствительно к регистру.