{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Store Reviews Scraper - App Reviews Data Export",
    "description": "Extract Google Play app reviews with rating, review text, author, date, developer reply and app metadata. An app reviews scraper for product research, competitor monitoring and sentiment analysis, returning flat rows ready for JSON, CSV or Excel.",
    "version": "1.0",
    "x-build-id": "9F2pmksISu6ZUkCMG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/captainhandsome~google-play-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-captainhandsome-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/captainhandsome~google-play-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-captainhandsome-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/captainhandsome~google-play-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-captainhandsome-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": {
          "app_id": {
            "title": "Google Play package ID or URL",
            "type": "string",
            "description": "Android package ID or full Google Play app URL.",
            "default": "com.google.android.youtube"
          },
          "app_ids": {
            "title": "Batch package IDs or URLs",
            "maxItems": 25,
            "type": "array",
            "description": "Optional list of up to 25 apps. When supplied, these are processed instead of app_id.",
            "items": {
              "type": "string"
            }
          },
          "max_items": {
            "title": "Maximum reviews per app",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard maximum number of review records returned and billed for each app.",
            "default": 25
          },
          "sort": {
            "title": "Review order",
            "enum": [
              "newest",
              "most_relevant",
              "rating"
            ],
            "type": "string",
            "description": "Sort reviews by newest, relevance, or rating.",
            "default": "newest"
          },
          "score": {
            "title": "Star-rating filter",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Return only reviews with this star rating. Leave empty for all ratings."
          },
          "scores": {
            "title": "Star-rating filter (multiple)",
            "type": "array",
            "description": "Return only reviews matching any of these star ratings. Use this instead of score to filter on more than one rating; when both are set, this list takes priority. Leave empty to use score, or to return all ratings.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "keywords": {
            "title": "Review text keywords",
            "type": "array",
            "description": "Keep only reviews whose text contains any of these words or phrases (case-insensitive substring match). Leave empty to keep all reviews. Applied after fetching and before billing, so filtered-out reviews are never charged.",
            "items": {
              "type": "string"
            }
          },
          "recent_days": {
            "title": "Only reviews from the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only reviews posted within this many days of now. Combine with start_date; the stricter (later) cutoff wins. Example: 30."
          },
          "start_date": {
            "title": "Only reviews on/after this date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Keep only reviews posted on or after this date (YYYY-MM-DD). Combine with recent_days; the stricter (later) cutoff wins. Example: \"2026-01-01\"."
          },
          "app_versions": {
            "title": "App version allow-list",
            "type": "array",
            "description": "Keep only reviews whose reported app version exactly matches one of these values. Leave empty to keep all versions.",
            "items": {
              "type": "string"
            }
          },
          "include_app_details": {
            "title": "Include app details",
            "type": "boolean",
            "description": "Add app-level columns (title, developer, category, overall rating, rating breakdown, installs, price, content rating, release and update dates) to every review row. Costs one extra request per app, not per review. Turn off for the smallest, fastest runs; the columns are still present but empty.",
            "default": true
          },
          "language": {
            "title": "Language code",
            "pattern": "^[a-z]{2}$",
            "type": "string",
            "description": "Two-letter language code used by Google Play.",
            "default": "en"
          },
          "country": {
            "title": "Country code",
            "pattern": "^[a-z]{2}$",
            "type": "string",
            "description": "Two-letter country code used by Google Play.",
            "default": "us"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}