API App Store

App Store Recherche 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
Disponibilité
100,00%
30d · 1 appel
Requêtes
1
30d
Réponse
1,8s
médiane · 30d

Tarifs et fournisseurs

Tarifs de l’API App Store Recherche : une API, 3 fournisseurs interchangeables

Le fournisseur le moins cher répond en premier. S’il échoue, le suivant prend le relais dans le même appel.

Vous payez
8,50 $US
0,85 $US/1k req, seulement pour ce que vous utilisez. Aucun forfait mensuel.
Vos 117 premières requêtes sont gratuites avec le solde de départ de 0,10 $US.

Essayer

Obtenez App Store Recherche en une requête

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.
Ouvrir dans
Obtenir une clé gratuite
Exemple de réponse
Les exécutions gratuites ne renvoient que les 3 premiers résultats. Alimentez une clé pour obtenir la réponse complète.
{
  "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"
}

Référence complète des paramètres et de la réponse : chaque champ, type et exemple de cet endpoint.

Référence

Une requête, une seule forme de réponse.

Chaque champ que vous envoyez et chaque champ que vous recevez, avec un vrai exemple.

Dernière vérification : 2026-10-16 · disponibilité et latence mesurées sur 30d

Corps de la requête

JSON, envoyé à cet endpoint.

  • 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.

Vous envoyez. Un petit corps JSON. Les valeurs affichées sont des exemples à remplacer par les vôtres.

Réponse

JSON, une valeur d’exemple par champ.

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.

  • bundleIdstringpeut exiger

    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[]peut exiger

    iPhone screenshot image URLs.

  • sizeBytesintegerpeut exiger

    Download size in bytes.

  • titlestring

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

  • updatedUtcnumberpeut exiger

    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.

Vous recevez. Des champs nommés et typés, dans la même forme quelle que soit la source qui répond.

FAQ

À propos de l’API App Store Recherche

L’API App Store Recherche d’AnyAPI renvoie des données App Store en JSON normalisé à partir d’un appel 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 route chaque requête sur 3 sources et bascule automatiquement quand l’une échoue. Elle coûte à partir de 0,85 $US pour 1 000 requêtes, en dollars US, sans abonnement et sans minimum mensuel. Ces 30 derniers jours, 100,0% des appels App Store Recherche passés par AnyAPI ont réussi, avec un temps de réponse médian de 1,8 secondes, sur 1 appels mesurés.

Elle coûte à partir de 0,85 $US pour 1 000 requêtes, en dollars US, sans abonnement et sans minimum mensuel. Vous alimentez un portefeuille en USD et chaque appel le débite. Certaines requêtes échouées financées par le portefeuille entraînent des frais de traitement que nous répercutons au prix coûtant, sans marge ; la réponse d’erreur indique le montant facturé.

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. La réponse est du JSON normalisé avec la même enveloppe que celle de tous les endpoints AnyAPI, donc analyser un second endpoint revient à changer l’URL et rien d’autre.

Ces 30 derniers jours, 100,0% des appels App Store Recherche passés par AnyAPI ont réussi, avec un temps de réponse médian de 1,8 secondes, sur 1 appels mesurés. Ce sont les propres mesures d’AnyAPI du trafic passant par la passerelle, recalculées en continu, et non un objectif de niveau de service publié.

Oui. Un nouveau compte AnyAPI démarre avec 0,10 $US de solde gratuit, sans carte, ce qui couvre 117 appels App Store Recherche à 0,00085 $US chacun.

AnyAPI interroge la suivante de ses 3 sources dans la même requête, la moins chère d’abord, donc la panne d’une source ne fait pas échouer votre appel.

Envoyez une requête POST à https://api.getanyapi.com/v1/run/appstore.search avec votre clé AnyAPI dans un en-tête « Authorization: Bearer » et l’entrée en corps JSON. La même clé et le même portefeuille fonctionnent sur tous les endpoints AnyAPI.

Non. Vous ajoutez des dollars US à un solde AnyAPI prépayé unique et chaque requête le débite. Il n’y a ni forfait mensuel ni minimum, et le même solde paie tous les endpoints AnyAPI.

Oui. Installez @getanyapi/sdk depuis npm pour TypeScript ou getanyapi depuis pip pour Python. Les deux appellent chaque endpoint AnyAPI avec la même clé, et n’importe quel client HTTP fonctionne aussi.

Oui. Un agent peut se connecter au serveur MCP d’AnyAPI à https://api.getanyapi.com/mcp, ou créer sa propre clé d’essai gratuit avec un seul POST non authentifié vers https://api.getanyapi.com/agent/signup et appeler cet endpoint en HTTP.