Crawlzodocs
API referenceApple App Store

App Store reviews

Reviews for one App Store app, in one country's store.

Returns a fixed page of 100 reviews per call in a single request. The page size is set on our side rather than by the caller: Apple would serve far more per call, but batch size is a request routing-bandwidth decision, not a client one. Walk with page.

Unlike most review surfaces, Apple's paging is by absolute index and has no practical depth limit, page 1,985 of WhatsApp's US reviews returns its 198,400th review, dated 2009, so the entire corpus is reachable and pages can be fetched in parallel rather than by walking a cursor chain. has_more is false on the page that ends the collection.

Each review carries its id, author, title, text, 1-5 rating, timestamp, the helpful/total vote counts and whether it was edited. There is no rating filter: Apple's favorable and critical sorts order by rating, they do not filter to it, and the store exposes no filter at all, so filter client-side on rating rather than trusting a parameter that would silently do nothing.

Note this endpoint can succeed for a country where the app endpoint returns 404. A delisted app keeps its review history in the store it was pulled from, WhatsApp is unavailable on the China store but still has 12,745 written reviews there, and those are that store's own reviews, not a fallback to another one. So "no listing" and "no reviews" are genuinely different questions here, and each endpoint answers its own.

The example response below is real output from this endpoint, not an illustration. Long lists and long strings are shortened to keep the page readable, and each place that happens is marked. This example took 2.1s.

POST
/v1/scrapers/app-store-reviews-v4

Authorization

ApiKeyAuth
X-API-Key<token>

Your API key. Sent on every request.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/scrapers/app-store-reviews-v4" \  -H "Content-Type: application/json" \  -d '{    "app_id": "310633997",    "sort": "recent",    "page": 1,    "country": "US"  }'
{  "request_id": "req_8f2c1d94e7b0",  "success": true,  "status": {    "code": "OK",    "message": "Scrape completed.",    "retryable": false  },  "data": {    "app_id": "310633997",    "app_url": "https://apps.apple.com/us/app/id310633997",    "country": "US",    "has_more": true,    "page": 1,    "page_size": 100,    "returned": 100,    "reviews": [      {        "author": "Tyantocool",        "author_url": "https://itunes.apple.com/us/reviews?userProfileId=1884041903",        "helpful_votes": 0,        "is_edited": false,        "posted_at": "2026-08-22T06:07:42+00:00",        "rating": 5,        "review_id": "14457574761",        "text": "Nothing to hate I love it",        "title": "Love it",        "vote_count": 0      },      {        "author": "Airlisbet",        "author_url": "https://itunes.apple.com/us/reviews?userProfileId=1518915723",        "helpful_votes": 0,        "is_edited": false,        "posted_at": "2026-08-22T05:47:08+00:00",        "rating": 1,        "review_id": "14457528684",        "text": "You have to improve on this lame app cause i was permanently banned on my main WhatsApp account for no reason,I do nothing on WhatsApp aside the fact I come to chat with few people and leave the app so WhatsApp has to banned my account for no reason,I created another one and since I created the account,I haven’t used i… (+167 chars)",        "title": "Created an account and they have been banned and opened it countless times",        "vote_count": 0      },      "… 98 more items in the full response"    ],    "sort": "recent"  },  "error": null,  "meta": {    "client_id": "client_abc123",    "scraper": "app-store-reviews-v4",    "billable": true,    "duration_ms": 1397  }}