{
  "openapi": "3.0.1",
  "info": {
    "title": "App Store & Google Play Reviews Scraper API | Multi-Country",
    "description": "Scrape App Store and Google Play reviews in one run: many countries, app version, detected language, developer replies, new reviews only. One clean JSON schema.",
    "version": "0.1",
    "x-build-id": "nNxHvvIA4quCPbOTK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/happyscrapper~app-store-google-play-reviews/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-happyscrapper-app-store-google-play-reviews",
        "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/happyscrapper~app-store-google-play-reviews/runs": {
      "post": {
        "operationId": "runs-sync-happyscrapper-app-store-google-play-reviews",
        "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/happyscrapper~app-store-google-play-reviews/run-sync": {
      "post": {
        "operationId": "run-sync-happyscrapper-app-store-google-play-reviews",
        "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",
            "type": "array",
            "description": "One app per line: an App Store or Google Play URL, an Apple numeric ID (e.g. 324684580) or an Android package name (e.g. com.spotify.music). Mix both stores freely.",
            "items": {
              "type": "string"
            }
          },
          "appleCountries": {
            "title": "App Store countries",
            "type": "array",
            "description": "Apple keeps separate reviews per country storefront. Pick every country you need: results are merged and de-duplicated in one run.",
            "items": {
              "type": "string",
              "enum": [
                "af",
                "al",
                "dz",
                "ao",
                "ai",
                "ag",
                "ar",
                "am",
                "au",
                "at",
                "az",
                "bs",
                "bh",
                "bb",
                "by",
                "be",
                "bz",
                "bj",
                "bm",
                "bt",
                "bo",
                "ba",
                "bw",
                "br",
                "vg",
                "bn",
                "bg",
                "bf",
                "kh",
                "cm",
                "ca",
                "cv",
                "ky",
                "td",
                "cl",
                "cn",
                "co",
                "cr",
                "hr",
                "cy",
                "cz",
                "ci",
                "cd",
                "dk",
                "dm",
                "do",
                "ec",
                "eg",
                "sv",
                "ee",
                "sz",
                "fj",
                "fi",
                "fr",
                "ga",
                "gm",
                "ge",
                "de",
                "gh",
                "gr",
                "gd",
                "gt",
                "gw",
                "gy",
                "hn",
                "hk",
                "hu",
                "is",
                "in",
                "id",
                "iq",
                "ie",
                "il",
                "it",
                "jm",
                "jp",
                "jo",
                "kz",
                "ke",
                "kr",
                "xk",
                "kw",
                "kg",
                "la",
                "lv",
                "lb",
                "lr",
                "ly",
                "lt",
                "lu",
                "mo",
                "mg",
                "mw",
                "my",
                "mv",
                "ml",
                "mt",
                "mr",
                "mu",
                "mx",
                "fm",
                "md",
                "mn",
                "me",
                "ms",
                "ma",
                "mz",
                "mm",
                "na",
                "nr",
                "np",
                "nl",
                "nz",
                "ni",
                "ne",
                "ng",
                "mk",
                "no",
                "om",
                "pk",
                "pw",
                "pa",
                "pg",
                "py",
                "pe",
                "ph",
                "pl",
                "pt",
                "qa",
                "cg",
                "ro",
                "ru",
                "rw",
                "sa",
                "sn",
                "rs",
                "sc",
                "sl",
                "sg",
                "sk",
                "si",
                "sb",
                "za",
                "es",
                "lk",
                "kn",
                "lc",
                "vc",
                "sr",
                "se",
                "ch",
                "st",
                "tw",
                "tj",
                "tz",
                "th",
                "to",
                "tt",
                "tn",
                "tm",
                "tc",
                "tr",
                "ae",
                "ug",
                "ua",
                "gb",
                "us",
                "uy",
                "uz",
                "vu",
                "ve",
                "vn",
                "ye",
                "zm",
                "zw"
              ],
              "enumTitles": [
                "Afghanistan",
                "Albania",
                "Algeria",
                "Angola",
                "Anguilla",
                "Antigua and Barbuda",
                "Argentina",
                "Armenia",
                "Australia",
                "Austria",
                "Azerbaijan",
                "Bahamas",
                "Bahrain",
                "Barbados",
                "Belarus",
                "Belgium",
                "Belize",
                "Benin",
                "Bermuda",
                "Bhutan",
                "Bolivia",
                "Bosnia and Herzegovina",
                "Botswana",
                "Brazil",
                "British Virgin Islands",
                "Brunei Darussalam",
                "Bulgaria",
                "Burkina Faso",
                "Cambodia",
                "Cameroon",
                "Canada",
                "Cape Verde",
                "Cayman Islands",
                "Chad",
                "Chile",
                "China mainland",
                "Colombia",
                "Costa Rica",
                "Croatia",
                "Cyprus",
                "Czech Republic",
                "Côte d'Ivoire",
                "Democratic Republic of the Congo",
                "Denmark",
                "Dominica",
                "Dominican Republic",
                "Ecuador",
                "Egypt",
                "El Salvador",
                "Estonia",
                "Eswatini",
                "Fiji",
                "Finland",
                "France",
                "Gabon",
                "Gambia",
                "Georgia",
                "Germany",
                "Ghana",
                "Greece",
                "Grenada",
                "Guatemala",
                "Guinea-Bissau",
                "Guyana",
                "Honduras",
                "Hong Kong",
                "Hungary",
                "Iceland",
                "India",
                "Indonesia",
                "Iraq",
                "Ireland",
                "Israel",
                "Italy",
                "Jamaica",
                "Japan",
                "Jordan",
                "Kazakhstan",
                "Kenya",
                "Korea, Republic of",
                "Kosovo",
                "Kuwait",
                "Kyrgyzstan",
                "Lao People's Democratic Republic",
                "Latvia",
                "Lebanon",
                "Liberia",
                "Libya",
                "Lithuania",
                "Luxembourg",
                "Macao",
                "Madagascar",
                "Malawi",
                "Malaysia",
                "Maldives",
                "Mali",
                "Malta",
                "Mauritania",
                "Mauritius",
                "Mexico",
                "Micronesia, Federated States of",
                "Moldova",
                "Mongolia",
                "Montenegro",
                "Montserrat",
                "Morocco",
                "Mozambique",
                "Myanmar",
                "Namibia",
                "Nauru",
                "Nepal",
                "Netherlands",
                "New Zealand",
                "Nicaragua",
                "Niger",
                "Nigeria",
                "North Macedonia",
                "Norway",
                "Oman",
                "Pakistan",
                "Palau",
                "Panama",
                "Papua New Guinea",
                "Paraguay",
                "Peru",
                "Philippines",
                "Poland",
                "Portugal",
                "Qatar",
                "Republic of the Congo",
                "Romania",
                "Russia",
                "Rwanda",
                "Saudi Arabia",
                "Senegal",
                "Serbia",
                "Seychelles",
                "Sierra Leone",
                "Singapore",
                "Slovakia",
                "Slovenia",
                "Solomon Islands",
                "South Africa",
                "Spain",
                "Sri Lanka",
                "St. Kitts and Nevis",
                "St. Lucia",
                "St. Vincent and The Grenadines",
                "Suriname",
                "Sweden",
                "Switzerland",
                "São Tomé and Príncipe",
                "Taiwan",
                "Tajikistan",
                "Tanzania",
                "Thailand",
                "Tonga",
                "Trinidad and Tobago",
                "Tunisia",
                "Turkmenistan",
                "Turks and Caicos",
                "Türkiye",
                "UAE",
                "Uganda",
                "Ukraine",
                "United Kingdom",
                "United States",
                "Uruguay",
                "Uzbekistan",
                "Vanuatu",
                "Venezuela",
                "Vietnam",
                "Yemen",
                "Zambia",
                "Zimbabwe"
              ]
            },
            "default": [
              "us"
            ]
          },
          "googleLanguages": {
            "title": "Google Play languages",
            "type": "array",
            "description": "Google Play groups reviews by language, not by country: asking for France and the US in French returns the same reviews. Pick languages instead.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "en",
                "fr",
                "de",
                "es",
                "it",
                "pt",
                "nl",
                "pl",
                "sv",
                "da",
                "no",
                "fi",
                "cs",
                "sk",
                "hu",
                "ro",
                "el",
                "tr",
                "ru",
                "uk",
                "ar",
                "he",
                "fa",
                "hi",
                "bn",
                "id",
                "ms",
                "th",
                "vi",
                "ja",
                "ko",
                "zh"
              ]
            },
            "default": [
              "en"
            ]
          },
          "maxReviewsPerApp": {
            "title": "Max reviews per app and country/language",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound for each app × country (Apple) or app × language (Google Play).",
            "default": 500
          },
          "minRating": {
            "title": "Minimum stars",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Keep only reviews with at least this many stars. Max reviews and billing count kept reviews only.",
            "default": 1
          },
          "maxRating": {
            "title": "Maximum stars",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Keep only reviews with at most this many stars. Example: 1 to 2 for negative reviews only.",
            "default": 5
          },
          "onlyNewReviews": {
            "title": "Only new reviews since the last run",
            "type": "boolean",
            "description": "For scheduled runs: return (and bill) only reviews published after the newest one collected by the previous run with the same tracking name. Uses the most recent sort only.",
            "default": false
          },
          "trackingName": {
            "title": "Tracking name",
            "type": "string",
            "description": "Keeps separate memories for separate schedules (e.g. one per client or per app portfolio).",
            "default": "default"
          },
          "includeAuthorName": {
            "title": "Include author names",
            "type": "boolean",
            "description": "Off by default: authors are replaced by a stable anonymous hash. Turn on only if you have a legal basis to process reviewers' names.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}