---
title: "Scrape Apple App Store app details, search and reviews"
method: POST
path: "/apps/app-store"
tags: ["Plugins"]
---

# Scrape Apple App Store app details, search and reviews

`POST /apps/app-store`

## Request

- Base URL: `https://api.scrapeunblocker.com`
- URL: `https://api.scrapeunblocker.com/apps/app-store`
- Auth: API key in header `x-scrapeunblocker-key`

Scrapes the Apple App Store. `mode=app` with `app_id` (numeric id, `id310633997`, an apps.apple.com URL or a bundle id) returns one app's full detail: title, `subtitle`, developer (id, store page, website), price / currency / `free`, `rating`, `ratingsCount` and the star `histogram`, `contentRating`, genres, `releaseDate`, `updated`, `version`, `releaseNotes` and `versionHistory`, `size` in bytes, `minimumOsVersion`, `languages`, description, screenshots, icon, `inAppPurchases`, `privacy` labels, `chartRank` and `similarApps`. `mode=search` with `q` returns matching apps (up to 200). `mode=reviews` returns customer reviews (title, text, rating, author, date, app version, helpful votes), newest or most helpful first; Apple serves 50 per page and 500 per country. `country` picks the storefront. mode=reviews is billed one request per review page fetched (`pagesFetched`).

## Query parameters

- `mode` string: What to scrape: app, search, reviews.
- `app_id` string, nullable: App for mode=app / mode=reviews: the numeric App Store id ('310633997'), 'id310633997', an apps.apple.com app URL, or a bundle id ('net.whatsapp.WhatsApp').
- `q` string, nullable: Search term for mode=search, e.g. 'vpn'.
- `country` string, nullable: App Store country (ISO-2), e.g. 'us', 'gb', 'de'. Prices, ratings and reviews are per country. Default: the country in an app URL, else 'us'.
- `lang` string, nullable: Listing language for mode=app / mode=search, e.g. 'fr' or 'fr-CA' (for countries whose store has several languages). Default: the store's own.
- `max_results` integer: mode=search: apps to return (1-200). mode=reviews: reviews to collect (1-500); Apple serves 50 per page and at most 10 pages per country, each page billed as one request.
- `sort` string: Review order for mode=reviews: mostrecent, mosthelpful.
- `page` integer: mode=reviews: review page to start from (1-10). Use `nextPage` of a previous response to continue. When the last page was only partly used, `nextPage` points at it again, so skip reviews whose `id` you already have.
- `proxy_country` string, nullable: Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Leave blank to let the API pick.

## Response `200`

JSON app object (mode=app), apps array (mode=search) or reviews array (mode=reviews).

- unknown

## Other responses

- `400`: Invalid parameters or an unknown store country.
- `404`: No App Store app with that id / bundle id in that country.
- `422`: Validation Error
- `502`: Blocked, Apple returned no usable data, or the call did not finish in time.

---

[API](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api.md) · [All operations](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/revisions/c02f1254cc47?raw)
