curl --request GET \
--url https://api.appgoat.ai/v1/apps/{app}/insights \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/apps/{app}/insights', 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}/insights"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"window": {
"since": "2023-11-07T05:31:56Z",
"until": "2023-11-07T05:31:56Z"
},
"reviews": 123,
"tagged": 123,
"avg_rating": 123,
"sentiment": {
"positive": 123,
"neutral": 123,
"negative": 123
},
"intents": {},
"topics": [
{
"label": "<string>",
"reviews": 123,
"negative": 123,
"avg_rating": 123
}
],
"top_issues": [
{
"topic": "<string>",
"reviews": 123,
"share": 123,
"avg_severity": 123,
"intents": {},
"last_30d": 123,
"prev_30d": 123,
"versions": [
"<string>"
],
"samples": [
{
"rating": 123,
"version": "<string>",
"created_at": "<string>",
"text": "<string>"
}
]
}
],
"versions": [
{
"version": "<string>",
"first_review_at": "2023-11-07T05:31:56Z",
"reviews": 123,
"avg_rating": 123,
"sentiment": {},
"intents": {},
"topics": [
{}
]
}
],
"sentiment_over_time": [
{
"week": "2023-12-25",
"reviews": 123,
"positive": 123,
"neutral": 123,
"negative": 123,
"avg_rating": 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": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Get app insights
Built from the AI tags on every review (sentiment, intent, severity, topic). top_issues are topics carried
by negative / bug / crash / UX / pricing reviews, with last_30d vs prev_30d counts and sample reviews;
versions shows what each release changed in sentiment and topics; sentiment_over_time is weekly. Use it
for “what do users complain about since v2.3?” or a reviews → GitHub issues playbook. Reviews not tagged yet
only count in the totals (tagged < reviews, see meta.warnings).
curl --request GET \
--url https://api.appgoat.ai/v1/apps/{app}/insights \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/apps/{app}/insights', 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}/insights"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"window": {
"since": "2023-11-07T05:31:56Z",
"until": "2023-11-07T05:31:56Z"
},
"reviews": 123,
"tagged": 123,
"avg_rating": 123,
"sentiment": {
"positive": 123,
"neutral": 123,
"negative": 123
},
"intents": {},
"topics": [
{
"label": "<string>",
"reviews": 123,
"negative": 123,
"avg_rating": 123
}
],
"top_issues": [
{
"topic": "<string>",
"reviews": 123,
"share": 123,
"avg_severity": 123,
"intents": {},
"last_30d": 123,
"prev_30d": 123,
"versions": [
"<string>"
],
"samples": [
{
"rating": 123,
"version": "<string>",
"created_at": "<string>",
"text": "<string>"
}
]
}
],
"versions": [
{
"version": "<string>",
"first_review_at": "2023-11-07T05:31:56Z",
"reviews": 123,
"avg_rating": 123,
"sentiment": {},
"intents": {},
"topics": [
{}
]
}
],
"sentiment_over_time": [
{
"week": "2023-12-25",
"reviews": 123,
"positive": 123,
"neutral": 123,
"negative": 123,
"avg_rating": 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": "<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 One storefront; omit for every storefront we hold reviews for.
7 <= x <= 730How many of the latest versions to break down.
1 <= x <= 20