{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Reviews & Ratings Scraper — 72 Languages",
    "description": "Get Google Play reviews in every language and each app's star rating, rating histogram, installs and price for every country, in one run. Filter by stars, date or keyword, include developer replies, and monitor only new reviews on a schedule. No reviewer names, no login.",
    "version": "1.0",
    "x-build-id": "koeiSXUiBymRpQWDU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mzansi-dataworks~google-play-reviews-all-countries/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mzansi-dataworks-google-play-reviews-all-countries",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/mzansi-dataworks~google-play-reviews-all-countries/runs": {
      "post": {
        "operationId": "runs-sync-mzansi-dataworks-google-play-reviews-all-countries",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/mzansi-dataworks~google-play-reviews-all-countries/run-sync": {
      "post": {
        "operationId": "run-sync-mzansi-dataworks-google-play-reviews-all-countries",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "apps"
        ],
        "properties": {
          "apps": {
            "title": "Apps",
            "maxItems": 50,
            "type": "array",
            "description": "Google Play package IDs (com.whatsapp) or app page URLs (https://play.google.com/store/apps/details?id=com.whatsapp). Up to 50 apps. The package ID is the part after id= in the app's Play Store URL.",
            "items": {
              "type": "string"
            }
          },
          "languages": {
            "title": "Review languages",
            "type": "array",
            "description": "Languages to collect reviews in: en, de, pt-BR, ja ... Google Play lists reviews by language, so each language you add brings its own reviews (see the README). Use 'top' for the 17 most used languages or 'all' for every language Play offers.",
            "default": [
              "en"
            ],
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries (for rating snapshots)",
            "type": "array",
            "description": "Two-letter Play Store country codes such as us, gb, de, za. Each country gives one rating snapshot per app (average stars, star histogram, price, availability), because Google Play shows different ratings and prices per country. Reviews themselves are the same in every country. Use 'top' for the 20 biggest markets or 'all' for every country.",
            "default": [
              "us"
            ],
            "items": {
              "type": "string"
            }
          },
          "includeAppDetails": {
            "title": "Include rating snapshot per country",
            "type": "boolean",
            "description": "Adds one row per app and country with title, developer, average rating, star histogram, installs, version, update date, price, category and content rating. Charged per row ($0.001).",
            "default": true
          },
          "sort": {
            "title": "Sort reviews by",
            "enum": [
              "newest",
              "helpful",
              "rating"
            ],
            "type": "string",
            "description": "Newest first, most helpful first, or Google's rating order. Only-new monitoring works best with Newest.",
            "default": "newest"
          },
          "starFilter": {
            "title": "Only these star ratings",
            "type": "array",
            "description": "Keep only reviews with these stars, for example 1 and 2 to collect complaints. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Keep reviews whose text contains any of these words, for example crash, login, refund. Not case sensitive.",
            "items": {
              "type": "string"
            }
          },
          "sinceDate": {
            "title": "Only reviews since",
            "type": "string",
            "description": "Keep reviews written on or after this date (YYYY-MM-DD)."
          },
          "maxReviewsPerLanguage": {
            "title": "Max reviews per app and language",
            "minimum": 1,
            "type": "integer",
            "description": "How many reviews to save for each app in each language. Google Play lets you page far deeper than this (tens of thousands for big apps).",
            "default": 100
          },
          "maxReviewsPerApp": {
            "title": "Max reviews per app (all languages)",
            "minimum": 1,
            "type": "integer",
            "description": "Optional overall cap per app across all languages. Leave empty for no extra cap."
          },
          "includeDeveloperReplies": {
            "title": "Include developer replies",
            "type": "boolean",
            "description": "Adds the developer's public reply text and date to each review that has one.",
            "default": true
          },
          "onlyNew": {
            "title": "Only new since my last run",
            "type": "boolean",
            "description": "Remembers reviews from earlier runs (in a named key-value store on your account) and outputs only new ones. Use with a schedule to monitor reviews. Reviews you already got are not saved again and not charged again.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name (with 'Only new')",
            "type": "string",
            "description": "Use a different name for each monitor so their memories don't mix."
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Off by default. Turn on Apify Proxy only if Google Play starts blocking runs; it costs extra proxy traffic."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}