Fetch Apple App Store iOS customer reviews, version ratings & sentiment polarity
GET/v1/app-store/reviews2 Credits / review (0 Credits on empty)($0.0002 / review ($0.08–$0.20 / 1K reviews))· Updated 2026-11-15
Direct Answer · Engineering Summary
GET /v1/app-store/reviews fetches real-time iOS customer reviews from Apple App Store across 175+ country storefronts by numeric track ID (e.g. 324684580 for Spotify) without App Store Connect credentials. Every payload includes 5-star distribution histograms, aspect sentiment tags, app_version, vote_sum, and polarity scores at 2 Credits per review ($0.08–$0.20 per 1,000 reviews).
Honest Trade-Offs & Scope Boundaries
- →Queries any public iOS app ID across 175+ storefronts without requiring App Store Connect .p8 keys.
- →Supports pages 1–10 per country storefront for rapid real-time release monitoring and competitor benchmarking.
- →Read-only extraction; posting developer responses to iOS reviews requires App Store Connect.
Fetches real-time Apple App Store iOS customer reviews across 175+ country storefronts by numeric track ID (e.g. 324684580 for Spotify) with version strings, vote sums, 5-star distribution, and aspect sentiment polarity.
Parameters
app_idstringrequiredNumeric Apple App Store track ID (accepts 324684580 or id324684580).
Example:
324684580countrystring2-letter ISO country storefront (e.g. us, gb, de, jp).
Example:
uspageinteger (1 to 10)1-based RSS page index (1–10).
Example:
1limitinteger (1 to 50)Maximum reviews to return (1–50).
Example:
20
Example Request (cURL / Python / JavaScript)
curl "https://api.reviewsdataapi.com/v1/app-store/reviews?app_id=324684580" \
-H "x-api-key: rv_live_your_api_key"import requests
res = requests.get(
"https://api.reviewsdataapi.com/v1/app-store/reviews?app_id=324684580",
headers={"x-api-key": "rv_live_your_api_key"},
timeout=30,
)
print(res.json())const res = await fetch("https://api.reviewsdataapi.com/v1/app-store/reviews?app_id=324684580", {
headers: { "x-api-key": "rv_live_your_api_key" },
});
const data = await res.json();
console.log(data);Live Response Preview
{
"code": 0,
"provider": "https://reviewsdataapi.com",
"status": "ok",
"msg": "success",
"data": {
"platform": "app_store",
"app_id": "324684580",
"country": "us",
"page": 1,
"sentiment_summary": {
"sampled_reviews": 20,
"average_rating": 3.6,
"star_distribution": {
"1": 4,
"2": 3,
"3": 1,
"4": 1,
"5": 11
},
"star_percentages": {
"1": 20,
"2": 15,
"3": 5,
"4": 5,
"5": 55
},
"sentiment_breakdown": {
"positive_pct": 60,
"neutral_pct": 5,
"negative_pct": 35,
"net_polarity_score": 0.29
},
"aspect_polarities": [
{
"aspect": "Pricing & Billing",
"polarity": "negative",
"positive_pct": 33,
"mentions": 6
},
{
"aspect": "Ease of Use & UX",
"polarity": "mixed",
"positive_pct": 60,
"mentions": 5
}
]
},
"reviews": [
{
"review_id": "14785065897",
"platform": "app_store",
"app_id": "324684580",
"country": "us",
"rating": 5,
"title": "Meow",
"review_text": "I have premium so it’s actually useable 😭 but I really like Spotify because I can listen to music all day and it doesn’t just randomly stop or anything, like SoundCloud or other music apps",
"app_version": "9.1.98",
"vote_sum": 0,
"vote_count": 0,
"published_at": "2026-11-13T03:59:05-07:00",
"sentiment": "positive",
"polarity_score": 0.85,
"author": {
"name": "The real Miku ✌️",
"profile_url": "https://itunes.apple.com/us/reviews/id1901157728"
}
},
{
"review_id": "14785059121",
"platform": "app_store",
"app_id": "324684580",
"country": "us",
"rating": 5,
"title": "House of memories",
"review_text": "Great song",
"app_version": "9.1.98",
"vote_sum": 0,
"vote_count": 0,
"published_at": "2026-11-13T03:56:51-07:00",
"sentiment": "positive",
"polarity_score": 0.93,
"author": {
"name": "Sillyataco",
"profile_url": "https://itunes.apple.com/us/reviews/id1763603696"
}
}
]
},
"meta": {
"request_id": "14c5188d-1dd1-4fc0-a37f-58b3531a8325",
"endpoint": "/v1/app-store/reviews",
"items_returned": 20,
"credits_charged": 40,
"cached": true,
"took_ms": 0
}
}Response Fields
Normalized cross-platform reputation, star distribution, and sentiment JSON payload.
| Field | Type | Sample / Notes |
|---|---|---|
code | integer | Example: 0 |
provider | string | Example: https://reviewsdataapi.com |
status | string | Example: ok |
msg | string | Example: success |
data | object | |
platform | string | Example: app_store |
app_id | string | Example: 324684580 |
country | string | Example: us |
page | integer | Example: 1 |
sentiment_summary | object | |
sampled_reviews | integer | Example: 20 |
average_rating | number | Example: 3.6 |
star_distribution | object | |
star_percentages | object | |
sentiment_breakdown | object | |
aspect_polarities | array of object | |
reviews | array of object | |
review_id | string | Example: 14785065897 |
platform | string | Example: app_store |
app_id | string | Example: 324684580 |
country | string | Example: us |
rating | integer | Example: 5 |
title | string | Example: Meow |
review_text | string | Example: I have premium so it’s actually useable 😭 but I really like |
app_version | string | Example: 9.1.98 |
vote_sum | integer | Example: 0 |
vote_count | integer | Example: 0 |
published_at | string | Example: 2026-11-13T03:59:05-07:00 |
sentiment | string | Example: positive |
polarity_score | number | Example: 0.85 |
author | object | |
meta | object | |
request_id | string | Example: 14c5188d-1dd1-4fc0-a37f-58b3531a8325 |
endpoint | string | Example: /v1/app-store/reviews |
items_returned | integer | Example: 20 |
credits_charged | integer | Example: 40 |
cached | boolean | Example: true |
took_ms | integer | Example: 0 |
Status Codes
- 200
- Normalized cross-platform reputation, star distribution, and sentiment JSON payload.
- 400
- Missing or invalid query parameter (0 credits charged).
- 401
- Missing or invalid rv_live_ API key.
- 402
- Insufficient credit balance.