{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Reviews Scraper — $0.08/1K, Any Language",
    "description": "Know what users love and hate about any Android app. Export every Google Play review in any language, with stars, versions, likes, developer replies and feature ratings. Filter complaints, monitor new reviews, free insights report. $0.08 per 1,000.",
    "version": "1.0",
    "x-build-id": "aWJmdtzpv3I9ITmzg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fermaja~google-play-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fermaja-google-play-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/fermaja~google-play-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fermaja-google-play-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/fermaja~google-play-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fermaja-google-play-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": "Apps",
            "type": "array",
            "description": "App IDs (<code>com.spotify.music</code>) or any Google Play link. Developer, category and top-chart links work too: we find their apps and scrape each one's reviews.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Or find apps by keyword",
            "type": "array",
            "description": "Search Google Play and scrape reviews of the top results, e.g. <code>habit tracker</code> or <code>budget app</code>. Great for competitor research.",
            "items": {
              "type": "string"
            }
          },
          "maxAppsPerSearch": {
            "title": "Apps per keyword or link",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many apps to take from each keyword search, developer, category or chart link (in Google Play's order). Keyword searches return up to 30.",
            "default": 10
          },
          "maxReviewsPerApp": {
            "title": "Max reviews per app",
            "minimum": 0,
            "type": "integer",
            "description": "Limit for each app (and each language). Set <b>0 to get every review</b> Google Play has for the app.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "newest",
              "mostRelevant",
              "rating"
            ],
            "type": "string",
            "description": "Same order as the Play Store's review list. When you set <b>Reviews from</b>, reviews are read newest first so the run can stop at your date.",
            "default": "newest"
          },
          "languages": {
            "title": "Review languages",
            "type": "array",
            "description": "Google Play groups reviews by language, not country. Pick several languages to collect them all in one run (duplicates are removed).",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "es",
                "pt",
                "fr",
                "de",
                "it",
                "nl",
                "ru",
                "uk",
                "pl",
                "tr",
                "ar",
                "hi",
                "bn",
                "ur",
                "fa",
                "id",
                "ms",
                "fil",
                "vi",
                "th",
                "ja",
                "ko",
                "zh-CN",
                "zh-TW",
                "he",
                "el",
                "cs",
                "sk",
                "hu",
                "ro",
                "bg",
                "hr",
                "sr",
                "sl",
                "sv",
                "no",
                "da",
                "fi",
                "et",
                "lv",
                "lt",
                "ca",
                "ta",
                "te",
                "mr",
                "gu",
                "kn",
                "ml",
                "pa",
                "sw",
                "af",
                "kk",
                "az",
                "ka",
                "hy"
              ],
              "enumTitles": [
                "English",
                "Spanish",
                "Portuguese",
                "French",
                "German",
                "Italian",
                "Dutch",
                "Russian",
                "Ukrainian",
                "Polish",
                "Turkish",
                "Arabic",
                "Hindi",
                "Bengali",
                "Urdu",
                "Persian",
                "Indonesian",
                "Malay",
                "Filipino",
                "Vietnamese",
                "Thai",
                "Japanese",
                "Korean",
                "Chinese (Simplified)",
                "Chinese (Traditional)",
                "Hebrew",
                "Greek",
                "Czech",
                "Slovak",
                "Hungarian",
                "Romanian",
                "Bulgarian",
                "Croatian",
                "Serbian",
                "Slovenian",
                "Swedish",
                "Norwegian",
                "Danish",
                "Finnish",
                "Estonian",
                "Latvian",
                "Lithuanian",
                "Catalan",
                "Tamil",
                "Telugu",
                "Marathi",
                "Gujarati",
                "Kannada",
                "Malayalam",
                "Punjabi",
                "Swahili",
                "Afrikaans",
                "Kazakh",
                "Azerbaijani",
                "Georgian",
                "Armenian"
              ]
            },
            "default": [
              "en"
            ]
          },
          "allLanguages": {
            "title": "All major languages (25)",
            "type": "boolean",
            "description": "Ignore the list above and collect reviews in the 25 most common Play Store languages: global coverage in one run.",
            "default": false
          },
          "country": {
            "title": "Country",
            "enum": [
              "us",
              "gb",
              "ca",
              "au",
              "in",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "br",
              "mx",
              "ar",
              "co",
              "cl",
              "pe",
              "jp",
              "kr",
              "tw",
              "hk",
              "sg",
              "id",
              "my",
              "ph",
              "th",
              "vn",
              "pk",
              "bd",
              "tr",
              "sa",
              "ae",
              "eg",
              "ma",
              "ng",
              "ke",
              "za",
              "ru",
              "ua",
              "pl",
              "cz",
              "ro",
              "hu",
              "gr",
              "pt",
              "be",
              "ch",
              "at",
              "se",
              "no",
              "dk",
              "fi",
              "ie",
              "il",
              "nz"
            ],
            "type": "string",
            "description": "Store country for app data (price, availability). Reviews are mostly the same in every country.",
            "default": "us"
          },
          "ratings": {
            "title": "Only these star ratings",
            "type": "array",
            "description": "Leave empty for all ratings. Pick 1★ + 2★ to collect complaints only.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 ★",
                "2 ★★",
                "3 ★★★",
                "4 ★★★★",
                "5 ★★★★★"
              ]
            }
          },
          "reviewsFrom": {
            "title": "Reviews from",
            "type": "string",
            "description": "Only reviews posted on or after this date. Use a date or a relative period like <code>7 days</code>."
          },
          "reviewsTo": {
            "title": "Reviews until",
            "type": "string",
            "description": "Only reviews posted on or before this date."
          },
          "keywords": {
            "title": "Must mention any of these words",
            "type": "array",
            "description": "Keep reviews whose text contains at least one of these words (not case-sensitive), e.g. <code>crash</code>, <code>refund</code>, <code>battery</code>.",
            "items": {
              "type": "string"
            }
          },
          "replyFilter": {
            "title": "Developer reply",
            "enum": [
              "all",
              "withReply",
              "withoutReply"
            ],
            "type": "string",
            "description": "Filter by whether the developer answered the review.",
            "default": "all"
          },
          "onlyNewReviews": {
            "title": "Only new reviews since the last run",
            "type": "boolean",
            "description": "Remembers the newest review it saw for every app and language, and next time saves only reviews posted after it. The first run saves the newest reviews (up to Max reviews per app) as a starting point.",
            "default": false
          },
          "monitorId": {
            "title": "Monitor name",
            "type": "string",
            "description": "Keeps separate memory per monitor. Use a different name for each scheduled task watching the same app.",
            "default": "default"
          },
          "maxConcurrency": {
            "title": "Apps in parallel",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many apps to scrape at the same time.",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed: by default the Actor connects directly and switches to Apify Proxy by itself if Google slows it down (free for you). Set this only to force your own proxies.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}