{
  "openapi": "3.0.1",
  "info": {
    "title": "App Reviews Scraper: Google Play & App Store Review Extractor",
    "description": "Scrape and filter reviews from Google Play and the App Store by rating, keyword, date, and developer reply status. Find competitor complaints, feature requests, and sentiment trends in minutes. Supports keyword-based app discovery and multi-country data collection.",
    "version": "1.0",
    "x-build-id": "BfWZCcgdIe08WrSHX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/code-node-tools~app-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-code-node-tools-app-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/code-node-tools~app-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-code-node-tools-app-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/code-node-tools~app-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-code-node-tools-app-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": {
          "appIds": {
            "title": "App IDs",
            "type": "array",
            "description": "List of App IDs. For Google Play: use package names (e.g., com.whatsapp). For App Store: use numeric IDs (e.g., 310633997). App names will be fetched automatically for Google Play. For App Store, the numeric ID will be used as the name unless found via search.",
            "items": {
              "type": "string"
            }
          },
          "searchKeyword": {
            "title": "Search Keyword (Single)",
            "type": "string",
            "description": "Search for apps by a single keyword. Use 'Search Keywords' for multiple keywords."
          },
          "searchKeywords": {
            "title": "Search Keywords (Multiple)",
            "type": "array",
            "description": "Search for apps using multiple keywords. Each keyword will be searched separately and results combined. Example: ['fitness tracker', 'workout app', 'health monitor']",
            "items": {
              "type": "string"
            }
          },
          "maxAppsPerSearch": {
            "title": "Maximum Apps per Search",
            "minimum": 1,
            "maximum": 250,
            "type": "integer",
            "description": "Maximum number of apps to fetch per search query (only used when Search Keyword is provided)",
            "default": 10
          },
          "maxReviewsPerApp": {
            "title": "Maximum Reviews per App",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of reviews to fetch per app",
            "default": 100
          },
          "sortBy": {
            "title": "Sort Reviews By",
            "enum": [
              "newest",
              "oldest"
            ],
            "type": "string",
            "description": "Sort fetched reviews by date (Note: App search results are sorted by relevance and cannot be changed)",
            "default": "newest"
          },
          "language": {
            "title": "Language",
            "pattern": "^[a-z]{2}$",
            "type": "string",
            "description": "Language code for reviews (e.g., en, es, fr)",
            "default": "en"
          },
          "countries": {
            "title": "Countries",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more countries for app reviews. Reviews will be fetched from all selected countries.",
            "items": {
              "type": "string",
              "enum": [
                "ae",
                "ag",
                "ai",
                "al",
                "am",
                "ao",
                "ar",
                "at",
                "au",
                "az",
                "bb",
                "be",
                "bf",
                "bg",
                "bh",
                "bj",
                "bm",
                "bn",
                "bo",
                "br",
                "bs",
                "bt",
                "bw",
                "by",
                "bz",
                "ca",
                "cg",
                "ch",
                "cl",
                "cn",
                "co",
                "cr",
                "cv",
                "cy",
                "cz",
                "de",
                "dk",
                "dm",
                "do",
                "dz",
                "ec",
                "ee",
                "eg",
                "es",
                "fi",
                "fj",
                "fm",
                "fr",
                "gb",
                "gd",
                "gh",
                "gm",
                "gr",
                "gt",
                "gw",
                "gy",
                "hk",
                "hn",
                "hr",
                "hu",
                "id",
                "ie",
                "il",
                "in",
                "is",
                "it",
                "jm",
                "jo",
                "jp",
                "ke",
                "kg",
                "kh",
                "kn",
                "kr",
                "kw",
                "ky",
                "kz",
                "la",
                "lb",
                "lc",
                "lk",
                "lr",
                "lt",
                "lu",
                "lv",
                "md",
                "mg",
                "mk",
                "ml",
                "mn",
                "mo",
                "mr",
                "ms",
                "mt",
                "mu",
                "mw",
                "mx",
                "my",
                "mz",
                "na",
                "ne",
                "ng",
                "ni",
                "nl",
                "no",
                "np",
                "nz",
                "om",
                "pa",
                "pe",
                "pg",
                "ph",
                "pk",
                "pl",
                "pt",
                "pw",
                "py",
                "qa",
                "ro",
                "ru",
                "sa",
                "sb",
                "sc",
                "se",
                "sg",
                "si",
                "sk",
                "sl",
                "sn",
                "sr",
                "st",
                "sv",
                "sz",
                "tc",
                "td",
                "th",
                "tj",
                "tm",
                "tn",
                "tr",
                "tt",
                "tw",
                "tz",
                "ua",
                "ug",
                "us",
                "uy",
                "uz",
                "vc",
                "ve",
                "vg",
                "vn",
                "ye",
                "za",
                "zw"
              ],
              "enumTitles": [
                "United Arab Emirates",
                "Antigua and Barbuda",
                "Anguilla",
                "Albania",
                "Armenia",
                "Angola",
                "Argentina",
                "Austria",
                "Australia",
                "Azerbaijan",
                "Barbados",
                "Belgium",
                "Burkina-Faso",
                "Bulgaria",
                "Bahrain",
                "Benin",
                "Bermuda",
                "Brunei Darussalam",
                "Bolivia",
                "Brazil",
                "Bahamas",
                "Bhutan",
                "Botswana",
                "Belarus",
                "Belize",
                "Canada",
                "Democratic Republic of the Congo",
                "Switzerland",
                "Chile",
                "China",
                "Colombia",
                "Costa Rica",
                "Cape Verde",
                "Cyprus",
                "Czech Republic",
                "Germany",
                "Denmark",
                "Dominica",
                "Dominican Republic",
                "Algeria",
                "Ecuador",
                "Estonia",
                "Egypt",
                "Spain",
                "Finland",
                "Fiji",
                "Federated States of Micronesia",
                "France",
                "Great Britain",
                "Grenada",
                "Ghana",
                "Gambia",
                "Greece",
                "Guatemala",
                "Guinea Bissau",
                "Guyana",
                "Hong Kong",
                "Honduras",
                "Croatia",
                "Hungary",
                "Indonesia",
                "Ireland",
                "Israel",
                "India",
                "Iceland",
                "Italy",
                "Jamaica",
                "Jordan",
                "Japan",
                "Kenya",
                "Kyrgyzstan",
                "Cambodia",
                "Saint Kitts and Nevis",
                "South Korea",
                "Kuwait",
                "Cayman Islands",
                "Kazakhstan",
                "Laos",
                "Lebanon",
                "Saint Lucia",
                "Sri Lanka",
                "Liberia",
                "Lithuania",
                "Luxembourg",
                "Latvia",
                "Moldova",
                "Madagascar",
                "Macedonia",
                "Mali",
                "Mongolia",
                "Macau",
                "Mauritania",
                "Montserrat",
                "Malta",
                "Mauritius",
                "Malawi",
                "Mexico",
                "Malaysia",
                "Mozambique",
                "Namibia",
                "Niger",
                "Nigeria",
                "Nicaragua",
                "Netherlands",
                "Norway",
                "Nepal",
                "New Zealand",
                "Oman",
                "Panama",
                "Peru",
                "Papua New Guinea",
                "Philippines",
                "Pakistan",
                "Poland",
                "Portugal",
                "Palau",
                "Paraguay",
                "Qatar",
                "Romania",
                "Russia",
                "Saudi Arabia",
                "Solomon Islands",
                "Seychelles",
                "Sweden",
                "Singapore",
                "Slovenia",
                "Slovakia",
                "Sierra Leone",
                "Senegal",
                "Suriname",
                "Sao Tome e Principe",
                "El Salvador",
                "Swaziland",
                "Turks and Caicos Islands",
                "Chad",
                "Thailand",
                "Tajikistan",
                "Turkmenistan",
                "Tunisia",
                "Turkey",
                "Trinidad and Tobago",
                "Taiwan",
                "Tanzania",
                "Ukraine",
                "Uganda",
                "United States of America",
                "Uruguay",
                "Uzbekistan",
                "Saint Vincent and the Grenadines",
                "Venezuela",
                "British Virgin Islands",
                "Vietnam",
                "Yemen",
                "South Africa",
                "Zimbabwe"
              ]
            },
            "default": [
              "us"
            ]
          },
          "minScore": {
            "title": "Minimum Score",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Filter reviews by minimum rating (1-5 stars)"
          },
          "maxScore": {
            "title": "Maximum Score",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Filter reviews by maximum rating (1-5 stars)"
          },
          "minThumbsUp": {
            "title": "Minimum Thumbs Up",
            "minimum": 0,
            "type": "integer",
            "description": "Filter reviews by minimum number of helpful votes"
          },
          "developerReplyFilter": {
            "title": "Developer Reply Filter",
            "enum": [
              "all",
              "with_reply",
              "without_reply"
            ],
            "type": "string",
            "description": "Filter reviews by developer reply status",
            "default": "all"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Filter out reviews that don't contain specific keywords",
            "items": {
              "type": "string"
            }
          },
          "minReviewLength": {
            "title": "Minimum Review Length",
            "minimum": 0,
            "type": "integer",
            "description": "Filter reviews by minimum character count"
          },
          "dateFrom": {
            "title": "Date From",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Filter reviews from this date (YYYY-MM-DD format)"
          },
          "dateTo": {
            "title": "Date To",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Filter reviews up to this date (YYYY-MM-DD format)"
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}