# Google Play Store App Reviews

> Google Play Store App Reviews is a paid API for AI agents from agents.openwebninja.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-14).

Fetches paginated user reviews for a Google Play Store app, with filtering by rating, device type, region, and language.

## Facts

- Endpoint: GET https://agents.openwebninja.com/play-store-apps/app-reviews?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Provider: agents.openwebninja.com
- Website: https://agents.openwebninja.com
- Canonical page: https://www.zero.xyz/c/agents-openwebninja-com-google-play-store-app-reviews-89e39307
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hCUwR2guxI78x8kZDiokz

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-openwebninja-com-google-play-store-app-reviews-89e39307
```

Example prompt: Pull the 50 most recent one-star Play Store reviews for the app with ID 'com.spotify.music' in the US region in English — I want to see what frustrated users are saying.

## When to prefer this

Use this endpoint when you need structured, paginated access to Google Play Store user reviews for any Android app, especially when you want to filter by star rating, device type, region, or language. It is ideal for competitive intelligence, app reputation monitoring, sentiment analysis pipelines, and developer feedback workflows. Prefer this over manual scraping or general web search when you need clean JSON review data at scale (up to 4000 reviews per call).

## Known failure modes

- Invalid or non-existent app_id returns empty reviews array or error status
- Invalid region or language code may return no results or default to US/EN
- Requesting more than 4000 reviews in a single call is rejected (limit capped at 4000)
- Missing required app_id parameter causes a 400-level validation error
- Rate limiting or quota exhaustion may return a 402 or 429 response
- Cursor from a prior session may expire, returning an invalid cursor error

## How this service works

Get all app reviews.

## Output

Returns a list of review objects each containing the review text, star rating (1-5), author name and ID, author profile photo URL, review timestamp and UTC datetime, number of likes, app version used, and the developer's reply with its timestamp if present. Also returns a pagination cursor for fetching the next batch of results and a request status string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "app_id"
 ],
 "properties": {
  "limit": {
   "type": "integer",
   "default": 20,
   "maximum": 4000,
   "minimum": 1,
   "description": "Maximum number of reviews in the results."
  },
  "app_id": {
   "type": "string",
   "description": "App Id of the app for which to get reviews."
  },
  "cursor": {
   "type": "string",
   "description": "Specify a cursor from the previous request to get the next set of results."
  },
  "device": {
   "enum": [
    "PHONE",
    "TABLET",
    "CHROMEBOOK"
   ],
   "type": "string",
   "default": "PHONE",
   "description": "Only return reviews made on a specific device type."
  },
  "rating": {
   "enum": [
    "ANY",
    "ONE_STAR",
    "TWO_STARS",
    "THREE_STARS",
    "FOUR_STARS",
    "FIVE_STARS"
   ],
   "type": "string",
   "default": "ANY",
   "description": "Only return reviews with a certain star rating."
  },
  "region": {
   "type": "string",
   "default": "US",
   "description": "The country code of country/region to use, specified as a 2-letter country code - see ISO 3166-1 alpha-2."
  },
  "sort_by": {
   "enum": [
    "MOST_RELEVANT",
    "NEWEST",
    "RATING"
   ],
   "type": "string",
   "default": "MOST_RELEVANT",
   "description": "How to sort the reviews in the results."
  },
  "language": {
   "type": "string",
   "default": "EN",
   "description": "The language to use, specified as a 2-letter language code - see ISO 639-1 alpha-2."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "object",
   "properties": {
    "cursor": {
     "type": "string",
     "description": "A pagination cursor for fetching the next set of results"
    },
    "reviews": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "author_id": {
        "type": "string",
        "description": "A unique identifier for the author"
       },
       "review_id": {
        "type": "string",
        "description": "A unique identifier for the review"
       },
       "author_name": {
        "type": "string",
        "description": "The name of the review author"
       },
       "review_text": {
        "type": "string",
        "description": "The text content of the review"
       },
       "author_photo": {
        "type": "string",
        "description": "URL to the author's profile photo"
       },
       "review_likes": {
        "type": "integer",
        "description": "The number of likes on the review"
       },
       "review_rating": {
        "type": "integer",
        "description": "The rating given by the reviewer"
       },
       "review_timestamp": {
        "type": "integer",
        "description": "The timestamp of when the review was submitted"
       },
       "author_app_version": {
        "type": "string",
        "description": "The app version used by the author"
       },
       "app_developer_reply": {
        "type": "string",
        "description": "The developer's reply to the review, if available"
       },
       "review_datetime_utc": {
        "type": "string",
        "description": "The UTC date and time of the review"
       },
       "app_developer_reply_timestamp": {
        "type": "string",
        "description": "Timestamp of the developer's reply, if available"
       },
       "app_developer_reply_datetime_utc": {
        "type": "string",
        "description": "The UTC datetime of the developer's reply, if available"
       }
      }
     }
    }
   }
  },
  "status": {
   "type": "string",
   "description": "The status of the response"
  },
  "request_id": {
   "type": "string",
   "description": "A unique identifier for the request"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-google-play-store-app-reviews-89e39307/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.openwebninja.com](https://www.zero.xyz/host/agents.openwebninja.com/llms.txt)
