Read your own app's reviews from App Store Connect / Play Console with reply status; their ids feed review.reply.
curl --request GET \
--url https://api.appgoat.ai/v1/connections/{id}/reviews \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/connections/{id}/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/connections/{id}/reviews"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "<string>",
"rating": 123,
"title": "<string>",
"body": "<string>",
"author": "<string>",
"country": "<string>",
"language": "<string>",
"version": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"response": {
"id": "<string>",
"body": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"state": "<string>"
}
}
],
"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>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Connections
List connection reviews
unanswered=true keeps reviews without a developer reply (the “reply to every review” playbook). Play only
returns reviews written or edited in the last 7 days (Google API limit); App Store Connect returns all.
GET
/
connections
/
{id}
/
reviews
Read your own app's reviews from App Store Connect / Play Console with reply status; their ids feed review.reply.
curl --request GET \
--url https://api.appgoat.ai/v1/connections/{id}/reviews \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.appgoat.ai/v1/connections/{id}/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/connections/{id}/reviews"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "<string>",
"rating": 123,
"title": "<string>",
"body": "<string>",
"author": "<string>",
"country": "<string>",
"language": "<string>",
"version": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"response": {
"id": "<string>",
"body": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"state": "<string>"
}
}
],
"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>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Authorizations
Create a key at https://dash.appgoat.ai.
Path Parameters
Connection id (con_…).
Query Parameters
A linked app (App Store id or package name).
1, 1,2 or 1-3.
App Store territory filter (ISO alpha-2).
Required range:
1 <= x <= 200meta.next_cursor from the previous page.