API App Store

App Store Поиск API

Search the App Store for iOS apps by keyword, in any storefront country: app ID, title, developer, rating, ratings count, price, version, and more for each result.

POST/v1/run/appstore.search
Доступность
100,00%
30d · 1 вызов
Запросы
1
30d
Ответ
1,8s
медиана · 30d

Цены и поставщики

Цена API App Store Поиск: один API, поставщиков 3, и любой может заменить другого

Первым обслуживает самый дешёвый поставщик. Если он не отвечает, его заменяет следующий в том же вызове.

Вы платите
8,50 USD
0,85 USD/1 тыс. запросов, только за то, чем пользуетесь. Без ежемесячного тарифа.
Ваши первые запросы (117) бесплатны за счёт стартового баланса 0,10 USD.

Попробовать

Получите App Store Поиск одним запросом

requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `sizeBytes` or `updatedUtc`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on an app that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.
Открыть в
Пример ответа
Бесплатные запуски возвращают только первые результаты: 3. Пополните ключ, чтобы получить полный ответ.
{
  "data": {
    "items": [
      {
        "appId": "a1b2c3d4",
        "bundleId": "a1b2c3d4",
        "contentRating": "A short example description of this item.",
        "currency": "USD",
        "description": "A short example description of this item.",
        "developer": "example",
        "developerId": "a1b2c3d4",
        "genres": [
          "general"
        ],
        "image": "https://example.com/image.jpg",
        "languages": [
          "en"
        ],
        "minimumOsVersion": "example",
        "price": 19.99,
        "rating": 4.6,
        "ratingCount": 5,
        "releasedUtc": 12.5,
        "screenshots": [
          "example"
        ],
        "sizeBytes": 42,
        "title": "Example title",
        "updatedUtc": 12.5,
        "url": "https://example.com/page",
        "version": "example"
      }
    ]
  },
  "found": true,
  "reason": "not_found"
}

Полный справочник по параметрам и ответу: каждое поле, тип и пример для этого эндпоинта.

Справочник

Один запрос, один формат ответа.

Каждое поле, которое вы отправляете, и каждое поле, которое получаете, с реальным примером.

Проверено 2026-10-16 · доступность и задержка измерены за 30d

Тело запроса

JSON, отправляется на этот эндпоинт.

  • querystring

    minecraft

    Search keywords, as typed into the App Store search box (e.g. budget tracker).

  • countrystring

    us

    Two-letter App Store storefront country code to search (e.g. gb); results, prices, and currency follow that storefront.

  • limitinteger

    10

    Maximum number of apps to return (1-50, default 20).

  • requireFieldsarray

    Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `sizeBytes` or `updatedUtc`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on an app that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.

Вы отправляете. Небольшое тело JSON. Показанные значения это примеры, замените их своими.

Ответ

JSON, по одному примеру значения на поле.

each itemdata.items[]

Matching apps in App Store search order. Populated whenever the provider has data for the entity.

  • appIdstring

    Numeric App Store app ID; pass it to appstore.app for the full listing. Populated whenever the provider has data for the entity.

  • bundleIdstringможет потребовать

    The app's bundle identifier.

  • contentRatingstring

    Age rating (e.g. 4+). Populated whenever the provider has data for the entity.

  • currencystring

    ISO 4217 currency code of the price (e.g. USD).

  • descriptionstring

    App description. Populated whenever the provider has data for the entity.

  • developerstring

    Developer name. Populated whenever the provider has data for the entity.

  • developerIdstring

    Numeric App Store developer ID. Populated whenever the provider has data for the entity.

  • genresstring[]

    App Store categories, primary first. Populated whenever the provider has data for the entity.

  • imagestring

    App icon image URL. Populated whenever the provider has data for the entity.

  • languagesstring[]

    Two-letter codes of the languages the app supports. Populated whenever the provider has data for the entity.

  • minimumOsVersionstring

    Minimum iOS version required. Populated whenever the provider has data for the entity.

  • pricenumber

    Price to download in the storefront's currency; 0 for a free app.

  • ratingnumber

    Average star rating, 0 to 5. Populated whenever the provider has data for the entity.

  • ratingCountinteger

    Number of star ratings (ratings, not written reviews). Populated whenever the provider has data for the entity.

  • releasedUtcnumber

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the app was first released. Populated whenever the provider has data for the entity.

  • screenshotsstring[]может потребовать

    iPhone screenshot image URLs.

  • sizeBytesintegerможет потребовать

    Download size in bytes.

  • titlestring

    App name. Populated whenever the provider has data for the entity.

  • updatedUtcnumberможет потребовать

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the current version was released.

  • urlstring

    App Store page URL. Populated whenever the provider has data for the entity.

  • versionstring

    Current version number. Populated whenever the provider has data for the entity.

top level
  • foundboolean

    True when at least one app was returned.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

Вы получаете. Именованные типизированные поля в одном формате, какой бы источник ни ответил.

Вопросы и ответы

Об API App Store Поиск

AnyAPI App Store Поиск API возвращает данные App Store в виде нормализованного JSON одним вызовом POST к /v1/run/appstore.search. Search the App Store for iOS apps by keyword, in any storefront country: app ID, title, developer, rating, ratings count, price, version, and more for each result. AnyAPI направляет каждый запрос по источникам (их 3) и автоматически переключается, если один из них отказывает. Это стоит от 0,85 USD за 1000 запросов, в долларах США, без подписки и без ежемесячного минимума. За последние 30 дней 100,0% вызовов App Store Поиск через AnyAPI завершились успешно, медианное время ответа 1,8 с, измерено вызовов: 1.

Это стоит от 0,85 USD за 1000 запросов, в долларах США, без подписки и без ежемесячного минимума. Вы пополняете один кошелёк в долларах США, и каждый вызов списывает с него. По некоторым неудавшимся запросам, оплаченным из кошелька, возникают расходы на обработку; мы передаём их по себестоимости, без наценки, а сумма списания указана в ответе с ошибкой.

Search the App Store for iOS apps by keyword, in any storefront country: app ID, title, developer, rating, ratings count, price, version, and more for each result. Ответ это нормализованный JSON с тем же конвертом, что возвращает каждый эндпоинт AnyAPI, поэтому разбор второго эндпоинта это смена URL и ничего больше.

За последние 30 дней 100,0% вызовов App Store Поиск через AnyAPI завершились успешно, медианное время ответа 1,8 с, измерено вызовов: 1. Это собственные измерения AnyAPI по трафику через шлюз, пересчитываемые непрерывно, а не опубликованный целевой уровень обслуживания.

Да. Новый аккаунт AnyAPI стартует с бесплатным балансом 0,10 USD, карта не нужна. Этого хватает на 117 вызовов App Store Поиск по 0,00085 USD за каждый.

AnyAPI в том же запросе обращается к следующему из источников (их 3), начиная с самого дешёвого, поэтому отказ одного источника не ломает ваш вызов.

Отправьте запрос POST на https://api.getanyapi.com/v1/run/appstore.search с вашим ключом AnyAPI в заголовке "Authorization: Bearer" и входными данными в теле JSON. Один и тот же ключ и один и тот же кошелёк работают на каждом эндпоинте AnyAPI.

Нет. Вы пополняете один предоплаченный баланс AnyAPI в долларах США, и каждый запрос списывает с него. Ежемесячного тарифа и минимума нет, а один и тот же баланс оплачивает каждый эндпоинт AnyAPI.

Да. Установите @getanyapi/sdk из npm для TypeScript или getanyapi из pip для Python. Оба вызывают любой эндпоинт AnyAPI с одним и тем же ключом, а ещё подойдёт любой HTTP-клиент.

Да. Агент может подключиться к MCP-серверу AnyAPI по адресу https://api.getanyapi.com/mcp или создать собственный бесплатный пробный ключ одним POST без аутентификации на https://api.getanyapi.com/agent/signup и вызывать этот эндпоинт по HTTP.