{
  "openapi": "3.0.1",
  "info": {
    "title": "App Store Reviews Scraper API | Multi-Country, App Version",
    "description": "Scrape Apple App Store reviews from many countries in one run: up to 1,000 per country, app version on every review, detected language, new reviews only. Clean JSON.",
    "version": "0.1",
    "x-build-id": "A8cnQZzwRZerP6Txe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/happyscrapper~app-store-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-happyscrapper-app-store-reviews-scraper",
        "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-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-happyscrapper-app-store-reviews-scraper",
        "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-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-happyscrapper-app-store-reviews-scraper",
        "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",
        "properties": {
          "apps": {
            "title": "Apps",
            "type": "array",
            "description": "One app per line: an App Store URL (apps.apple.com/...) or the numeric Apple ID (e.g. 324684580). Find the ID at the end of the App Store URL.",
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "One keyword per line. The Actor finds the top apps for each keyword on the stores this Actor reads (App Store: by country, Google Play: the first page of results, about 24), then collects their reviews. Use it instead of, or together with, the Apps field.",
            "items": {
              "type": "string"
            }
          },
          "maxAppsPerSearch": {
            "title": "Max apps per search term, country and store",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many of the top results to keep for each search term and country. Reviews are collected for each of them, so keep it small and set 'Max reviews per app' too.",
            "default": 5
          },
          "developers": {
            "title": "Developers",
            "type": "array",
            "description": "One developer per line. App Store: the numeric Apple developer ID (e.g. 324684583) or the developer page URL. Google Play: the developer page URL (play.google.com/store/apps/developer?id=...) or the developer exactly as in that address. The Actor collects the reviews of their apps.",
            "items": {
              "type": "string"
            }
          },
          "maxAppsPerDeveloper": {
            "title": "Max apps per developer, country and store",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Upper bound of apps taken from each developer.",
            "default": 20
          },
          "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"
            ]
          },
          "maxReviewsPerApp": {
            "title": "Max reviews per app and country",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound for each app × country. Apple's public feed gives up to about 1,000 per app and country.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}