{
  "openapi": "3.0.1",
  "info": {
    "title": "App Store & Google Play Reviews Scraper with AI Themes",
    "description": "Scrape App Store and Google Play reviews in one run: rating, title, text, author, date, app version and developer reply. Add AI complaint and praise themes per app with shares and quotes. Paste app names or store links.",
    "version": "0.0",
    "x-build-id": "eVYKKCWJNxUQ8SbEX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/afanasenko~app-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-afanasenko-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/afanasenko~app-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-afanasenko-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/afanasenko~app-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-afanasenko-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": {
          "apps": {
            "title": "Apps",
            "type": "array",
            "description": "One app per line: a name (Calm), an App Store link or id (https://apps.apple.com/us/app/calm/id571800810), or a Google Play link or package (com.calm.android). A name is matched in both stores; put both links on one line to pin the pair.",
            "items": {
              "type": "string"
            }
          },
          "stores": {
            "title": "Stores",
            "enum": [
              "both",
              "appStore",
              "googlePlay"
            ],
            "type": "string",
            "description": "Which stores to read. Each app is matched in every store you pick.",
            "default": "both"
          },
          "maxReviewsPerApp": {
            "title": "Max reviews per app",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most reviews returned for each app in each store. Google Play: up to 100,000. The App Store gives at most 500 reviews per app — App Store rows stop at 500 whatever you set here.",
            "default": 500
          },
          "complaintThemes": {
            "title": "Complaint and praise themes (AI)",
            "type": "boolean",
            "description": "Adds one summary row per app and store: a broad summary of the main complaint and praise themes (related issues grouped together), how many reviews back each, the share of 1–2 star ratings, and verbatim quotes. Reads up to 300 reviews per summary. Charged per summary written.",
            "default": false
          },
          "country": {
            "title": "Country",
            "enum": [
              "US",
              "DZ",
              "AO",
              "AR",
              "AM",
              "AU",
              "AT",
              "AZ",
              "BH",
              "BB",
              "BE",
              "BZ",
              "BO",
              "BW",
              "BR",
              "BN",
              "BG",
              "CA",
              "CL",
              "CO",
              "CR",
              "HR",
              "CY",
              "CZ",
              "DK",
              "DM",
              "EC",
              "EG",
              "SV",
              "EE",
              "FI",
              "FR",
              "DE",
              "GH",
              "GR",
              "GD",
              "GT",
              "GY",
              "HN",
              "HU",
              "IS",
              "IN",
              "ID",
              "IE",
              "IL",
              "IT",
              "JM",
              "JP",
              "JO",
              "KE",
              "KW",
              "LV",
              "LB",
              "LT",
              "LU",
              "MG",
              "MY",
              "ML",
              "MT",
              "MU",
              "MX",
              "NP",
              "NL",
              "NZ",
              "NI",
              "NE",
              "NG",
              "MK",
              "NO",
              "OM",
              "PK",
              "PA",
              "PY",
              "PE",
              "PH",
              "PL",
              "PT",
              "QA",
              "RO",
              "SA",
              "SN",
              "SG",
              "SK",
              "SI",
              "ZA",
              "KR",
              "ES",
              "LK",
              "SR",
              "SE",
              "CH",
              "TZ",
              "TH",
              "TN",
              "TR",
              "UG",
              "UA",
              "AE",
              "GB",
              "UY",
              "UZ",
              "VE",
              "VN",
              "YE"
            ],
            "type": "string",
            "description": "Whose store to read: reviews belong to a country's store.",
            "default": "US"
          },
          "language": {
            "title": "Review language",
            "enum": [
              "",
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "nl",
              "sv",
              "da",
              "no",
              "fi",
              "pl",
              "cs",
              "sk",
              "hu",
              "ro",
              "hr",
              "el",
              "tr",
              "ru",
              "uk",
              "ar",
              "he",
              "hi",
              "id",
              "ms",
              "th",
              "vi",
              "ja",
              "ko",
              "zh-CN",
              "zh-TW",
              "uz",
              "ca"
            ],
            "type": "string",
            "description": "Google Play returns only the reviews written in this language. The App Store returns the country's reviews in any language.",
            "default": ""
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "mostHelpful"
            ],
            "type": "string",
            "description": "Newest first, or the store's own most-helpful order (Google Play calls it most relevant).",
            "default": "newest"
          },
          "ratings": {
            "title": "Star ratings",
            "type": "array",
            "description": "Keep only reviews with these ratings — for example 1 and 2 stars for complaints. Empty keeps all. Filters are applied before you pay.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            },
            "default": []
          },
          "reviewsSince": {
            "title": "Reviews since",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Keep only reviews written on or after this date. Works best with Newest first."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}