curl --request GET \
--url https://api.appgoat.ai/v1/apps/{app}/reviews \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/apps/{app}/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/apps/{app}/reviews"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"review_id": "<string>",
"country": "<string>",
"rating": 3,
"title": "<string>",
"body": "<string>",
"author": "<string>",
"version": "<string>",
"thumbs_up": 123,
"reply": "<string>",
"replied_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"sentiment": "positive",
"intent": "bug",
"severity": 1,
"topic": "<string>",
"topic_id": 123,
"confidence": 123
}
],
"meta": {
"credits_used": 123,
"credits_remaining": 123,
"request_id": "<string>",
"freshness": {
"fetched_at": "2023-11-07T05:31:56Z",
"age_seconds": 123,
"stale": true,
"refreshing": true,
"job_id": "<string>"
},
"next_cursor": "<string>",
"store": "apple",
"warnings": [
"<string>"
]
}
}{
"error": {
"code": "invalid_param",
"message": "limit must be ≤ 100",
"hint": "Fix the parameter and retry.",
"docs": "https://appgoat.ai/docs/errors#invalid_param",
"param": "limit"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}List reviews
Up to 100 reviews per page (1 credit per page). Combine rating=1-2 with since to find recent
complaints, q for full-text search, version to see what users say about a release. The latest US
reviews are refreshed when older than max_age (default 1 day). AI tags (sentiment, intent,
severity, topic) are filled for tagged reviews (popular apps first) and null otherwise; filtering by
them excludes untagged reviews. intent=bug,crash&since=… is the “what broke in the last release” query.
curl --request GET \
--url https://api.appgoat.ai/v1/apps/{app}/reviews \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/apps/{app}/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/apps/{app}/reviews"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"review_id": "<string>",
"country": "<string>",
"rating": 3,
"title": "<string>",
"body": "<string>",
"author": "<string>",
"version": "<string>",
"thumbs_up": 123,
"reply": "<string>",
"replied_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"sentiment": "positive",
"intent": "bug",
"severity": 1,
"topic": "<string>",
"topic_id": 123,
"confidence": 123
}
],
"meta": {
"credits_used": 123,
"credits_remaining": 123,
"request_id": "<string>",
"freshness": {
"fetched_at": "2023-11-07T05:31:56Z",
"age_seconds": 123,
"stale": true,
"refreshing": true,
"job_id": "<string>"
},
"next_cursor": "<string>",
"store": "apple",
"warnings": [
"<string>"
]
}
}{
"error": {
"code": "invalid_param",
"message": "limit must be ≤ 100",
"hint": "Fix the parameter and retry.",
"docs": "https://appgoat.ai/docs/errors#invalid_param",
"param": "limit"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Authorizations
Create a key at https://dash.appgoat.ai.
Path Parameters
Any app identifier: App Store id (284882215, id284882215), Play package (com.spotify.music), Apple bundle id (com.spotify.client), store URL (URL-encoded), apple:<id> / play:<id>, or a name (spotify).
"com.spotify.music"
Query Parameters
Disambiguates {app} (a bundle id vs a Play package, or a name).
apple, play ISO country code(s): us (default), a comma list (paid plans), or all (Studio).
"us,de"
Star rating filter, 1, 1,2 or a range 1-3.
"1-2"
Only reviews written for this app version.
Only items at or after this ISO date / datetime.
"2026-10-01"
Only reviews created before this ISO date / datetime.
Case-insensitive text search in the title and body.
"crash"
AI sentiment filter (comma list): positive, neutral, negative.
"negative"
AI intent filter (comma list): bug, crash, feature_request, pricing, ux, praise, spam, other.
"bug,crash"
AI topic filter (comma list of topic labels, case-insensitive, or topic ids).
Refresh the latest US reviews when older than this many seconds. Default 86400 (1 day).
x >= 0Block up to ~25 s for a refresh (default). false = answer immediately from cache with a job id.
1 <= x <= 100meta.next_cursor from the previous page.
Comma list of top-level fields to return (identifiers are always kept), e.g. title,rating,version.