Updated Oct 2026
Google Play reviews API: read and reply to Android app reviews
The Google Play reviews API is part of the Google Play Developer API (Android Publisher v3). It lists, reads and replies to reviews of your production app, but only returns reviews with a comment that were created or modified in the last 7 days, with a quota of 200 reads per hour per app. Prisma keeps syncing from the day you connect, so you build a full review history and reply from the same API you use for the App Store, Google and Trustpilot.
2 apps free. Self-serve, no sales call.
How the official Google Play Developer API works for reviews
Reviews are a resource of the Google Play Developer API. Everything hangs off your app’s package name:
https://www.googleapis.com/androidpublisher/v3/applications/{packageName}/reviews
| What you want | Method and path |
|---|---|
| List recent reviews | GET .../reviews |
| Read one review | GET .../reviews/{reviewId} |
| Reply to a review | POST .../reviews/{reviewId}:reply |
Authentication: OAuth client or service account
Google accepts two ways in. An OAuth client acts as a Google user who has access to the app in Play Console. A service account is a robot identity you invite into Play Console; it must have the “Reply to reviews” permission enabled before it can answer anything.
Pagination and translation
The API returns 10 reviews per page by default and up to 100 with maxResults. To get the next page, pass tokenPagination.nextPageToken as the token parameter. Add translationLanguage (for example en or en_GB) and Google translates the review: text holds the translation and originalText the original.
Replying
A reply is a POST to :reply with a replyText of up to 350 characters. Send plain text: well-formed HTML tags are stripped and don’t count, but their content stays. A reply that’s too long or empty returns 400; an unknown review ID returns 404. The user is only notified the first time you reply to a given version of their review. Editing your reply later doesn’t notify them again.
What the Google Play Developer API doesn’t tell you
This is the part that breaks dashboards in production.
- You only see the last 7 days. The API returns reviews created or modified in the last week. Miss a week of syncs and those reviews are gone from the API. For anything older, Google sends you to a CSV export in Play Console.
- Star-only ratings are invisible. Only reviews with a comment are returned. Your average rating and the reviews you see in the API won’t match.
- Production only. Alpha and beta feedback is only available in Play Console.
- 200 reads per hour, per app. Fine for one app. With 30 apps polled every 10 minutes and a few pages each, you will hit it. Google lets you ask for more through a support form.
- 2,000 replies per day, per app. Plenty for most teams, a real limit for a big launch day with AI-assisted replies.
- 350 characters. A good apology plus a fix plus a link doesn’t always fit. Plan your templates around it.
- No push notifications for new reviews. You poll, and polling spends the 200/hour quota.
- Your iOS reviews live elsewhere. Different API, different auth (ES256 JWTs): see the App Store reviews API.
Read and reply to Google Play reviews with Prisma
Prisma is a unified reviews API for apps and businesses you own. You connect your Play Console account once through Google OAuth. Prisma polls inside your quota, stores every review it sees from that day on, and returns Google Play reviews in the same JSON as App Store, Google and Trustpilot.
1. Connect your Play Console account
curl -X POST https://api.prismareviews.com/v1/connections \
-H "Authorization: Bearer $PRISMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform": "google_play"}'
# Returns an authorization_url. Sign in with a Google account that can reply to reviews in Play Console.2. Read your Google Play reviews (including the ones older than 7 days that Prisma already stored)
curl "https://api.prismareviews.com/v1/reviews?platform=google_play&location_id=com.example.app&since=2026-09-01" \
-H "Authorization: Bearer $PRISMA_API_KEY"{
"data": [
{
"id": "rev_c903",
"platform": "google_play",
"location_id": "com.example.app",
"rating": 2,
"text": "Login with Google fails since the last update.",
"author": "Ana R.",
"created_at": "2026-10-16T07:05:00Z",
"reply": null,
"url": "https://play.google.com/store/apps/details?id=com.example.app"
}
]
}3. Reply from your code
// Node.js 18+
const res = await fetch("https://api.prismareviews.com/v1/reviews/rev_c903/reply", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.PRISMA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
text: "Hi Ana, version 3.8.2 fixes Google login. Please update and let us know.",
}),
});
console.log(await res.json());# Python 3
import os, requests
r = requests.post(
"https://api.prismareviews.com/v1/reviews/rev_c903/reply",
headers={"Authorization": f"Bearer {os.environ['PRISMA_API_KEY']}"},
json={"text": "Hi Ana, version 3.8.2 fixes Google login. Please update and let us know."},
)
print(r.json())Prisma checks the 350-character limit before sending, so you get a clear validation error instead of a Google 400. Error codes: webhooks and errors.
4. Stop polling. Subscribe to review.created, review.updated and reply.published.
Prisma’s history starts the day you connect. It can’t recover reviews older than 7 days that you never synced; for those, use the Play Console CSV export.
Running iOS and Android? See Prisma for SaaS and app teams. First call in five minutes with the quickstart.
Google Play Developer API vs Prisma
| Google Play Developer API | Prisma | |
|---|---|---|
| Cost | Free with a Play Console account | 2 apps free, then plans from €49/month |
| Auth | OAuth client or service account with “Reply to reviews” | One Prisma API key, Google OAuth handled |
| History | Last 7 days only | Everything since you connected |
| Star-only ratings | Not returned | Not returned (same source) |
| Read quota | 200 GET / hour / app | Handled by Prisma inside your quota |
| Reply | POST :reply, 350 characters | POST /v1/reviews/{id}/reply, limit checked before sending |
| New review alerts | Polling | review.created webhook |
| iOS, Google, Trustpilot | Not covered | Same API |
| Where Google wins | Free, built-in translation, no third party in between | Long-term history and cross-store replies |
If you have one Android app and a cron job that never misses a week, the official API is enough. If you need history, several apps or iOS too, Prisma removes the 7-day cliff. Compare with the App Store reviews API, the Google reviews API and the Trustpilot API.
FAQ
Does the Google Play Developer API return all reviews?
No. It only returns reviews with a comment that were created or modified in the last week, for production versions of your app. Older reviews require a CSV export from Play Console.
What are the Google Play reviews API quotas?
200 GET requests per hour and 2,000 reply requests per day, per app. You can request more through a Google Play support form.
How long can a reply to a Google Play review be?
350 characters of plain text. HTML tags are stripped and don’t count toward the limit.
Do I need a service account?
You can use either an OAuth client or a service account. A service account needs the “Reply to reviews” permission in Play Console.
Can Prisma read reviews of apps I don’t own?
No. Prisma only connects apps in a Play Console account you have access to.
How is an Android app billed in Prisma?
Each connected app (package name) counts as one location. The first 2 are free, and paid plans start at €49 a month for up to 10. See pricing.
Never lose a Google Play review to the 7-day window
Connect Play Console once. Prisma keeps every review from that day on and lets you reply from your own code, next to your App Store reviews.
2 apps free · Self-serve · Same key for iOS and Android