Apple App Store Batch API
Look up up to 200 apps in one request and get one typed row per unique reference, in the order you sent them.
GET /v1/apple-app-store/apps1 credit per app reference Up to 200 app references per request Max 200 credits Failed requests are free
About this endpoint
GET /v1/apple-app-store/apps takes a repeated url parameter of up to 200 app references. Each url can be a numeric id such as 284882215, a bundle id such as com.google.ios.youtube, or an App Store link. Every app is looked up in the country storefront you pass, and a storefront inside a pasted link is ignored. language changes the language of the text.
The answer is data.storefront, data.results and data.summary. Each row has input, requestedAs (id or bundle_id), lookupStatus and app, which is null when that app is not in the storefront. The rows stay in request order with repeats of the same reference dropped, and summary counts the unique requested, found and notFound references. The route is billed one credit per unique reference, so a batch of 20 references costs 20 credits. An id and its bundle id are separate references.
Apple App Store Batch API FAQ
How do I send multiple apps?
Repeat the url query parameter, for example url=284882215&url=com.google.ios.youtube, or send an App Store link and the id inside it is used. Up to 200 unique references are accepted in one request; sending the same app id or bundle id twice, in any form, keeps one row and charges once. An id and its bundle id are different references.
Is the storefront inside a link used?
No. Every app is looked up in the country storefront you pass, and a gb or jp segment inside a pasted link is ignored. Pass country when you want a storefront other than the default us.
How is a batch billed?
One credit per unique requested reference. A batch of 20 references charges 20 credits, and a row that comes back not_found is still a requested app. Repeating the same app id or bundle id in any form keeps one row and charges once. An id and its bundle id are different references. meta.creditsCharged is the billing source of truth.
How do I know which app a row belongs to?
results[].input is the reference as you sent it, and requestedAs says whether it was taken as an id or a bundle id. The rows keep request order, so a missing app does not shift the rest. Repeats of one reference are dropped.
What happens when an app is missing?
lookupStatus is not_found and app is null for that row. The rest of the batch is still returned, and summary.notFound counts the misses.
How many credits does a batch cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
Other Apple App Store endpoints
- AppGET /v1/apple-app-store/apps/{appId}
- App detailsGET /v1/apple-app-store/apps/{appId}/details
- ReviewsGET /v1/apple-app-store/apps/{appId}/reviews
- In-app purchasesGET /v1/apple-app-store/apps/{appId}/in-app-purchases
- SearchGET /v1/apple-app-store/apps/search
- ChartsGET /v1/apple-app-store/charts
- DeveloperGET /v1/apple-app-store/developers/{developerId}