{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Store Scraper",
    "description": "Scrapes Google Play: search, app details, top charts, developer catalogues, reviews, permissions, and data-safety declarations.",
    "version": "0.0",
    "x-build-id": "MnMtkG5VblRug0aUV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mina_safwat~google-play-store-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mina_safwat-google-play-store-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/mina_safwat~google-play-store-scraper/runs": {
      "post": {
        "operationId": "runs-sync-mina_safwat-google-play-store-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/mina_safwat~google-play-store-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-mina_safwat-google-play-store-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": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "Search",
              "App details",
              "Top charts",
              "Developer apps",
              "Similar apps"
            ],
            "type": "string",
            "description": "Search finds apps by keyword. App details looks up exact app IDs. Top charts lists the ranked charts. Developer apps lists everything one publisher has released. Similar apps returns Play’s own “similar” recommendations.",
            "default": "Search"
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Keywords to search, one per line. Used by the Search mode. Results from several terms are merged and de-duplicated.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "appIds": {
            "title": "App IDs",
            "type": "array",
            "description": "Package names such as \"com.spotify.music\" — the id= value in a Play Store URL. Used by App details and Similar apps.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "developerId": {
            "title": "Developer",
            "type": "string",
            "description": "Publisher name or numeric developer ID, e.g. \"Spotify AB\". Used by the Developer apps mode."
          },
          "collection": {
            "title": "Chart",
            "enum": [
              "Top free",
              "Top paid",
              "Top grossing"
            ],
            "type": "string",
            "description": "Which chart to read. Used by the Top charts mode.",
            "default": "Top free"
          },
          "category": {
            "title": "Category",
            "enum": [
              "All categories",
              "APPLICATION",
              "ANDROID_WEAR",
              "ART_AND_DESIGN",
              "AUTO_AND_VEHICLES",
              "BEAUTY",
              "BOOKS_AND_REFERENCE",
              "BUSINESS",
              "COMICS",
              "COMMUNICATION",
              "DATING",
              "EDUCATION",
              "ENTERTAINMENT",
              "EVENTS",
              "FINANCE",
              "FOOD_AND_DRINK",
              "HEALTH_AND_FITNESS",
              "HOUSE_AND_HOME",
              "LIBRARIES_AND_DEMO",
              "LIFESTYLE",
              "MAPS_AND_NAVIGATION",
              "MEDICAL",
              "MUSIC_AND_AUDIO",
              "NEWS_AND_MAGAZINES",
              "PARENTING",
              "PERSONALIZATION",
              "PHOTOGRAPHY",
              "PRODUCTIVITY",
              "SHOPPING",
              "SOCIAL",
              "SPORTS",
              "TOOLS",
              "TRAVEL_AND_LOCAL",
              "VIDEO_PLAYERS",
              "WATCH_FACE",
              "WEATHER",
              "GAME",
              "GAME_ACTION",
              "GAME_ADVENTURE",
              "GAME_ARCADE",
              "GAME_BOARD",
              "GAME_CARD",
              "GAME_CASINO",
              "GAME_CASUAL",
              "GAME_EDUCATIONAL",
              "GAME_MUSIC",
              "GAME_PUZZLE",
              "GAME_RACING",
              "GAME_ROLE_PLAYING",
              "GAME_SIMULATION",
              "GAME_SPORTS",
              "GAME_STRATEGY",
              "GAME_TRIVIA",
              "GAME_WORD",
              "FAMILY"
            ],
            "type": "string",
            "description": "Restrict the chart to one category. Used by the Top charts mode.",
            "default": "All categories"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code. Charts, availability, and prices are country-specific.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language code for titles, descriptions, and reviews.",
            "default": "en"
          },
          "maxApps": {
            "title": "Max apps",
            "minimum": 1,
            "type": "integer",
            "description": "Stops after this many apps.",
            "default": 50
          },
          "fullDetails": {
            "title": "Fetch full app details",
            "type": "boolean",
            "description": "Search and chart results carry only a summary. Leave this on to fetch the complete record — description, install counts, rating histogram, developer contact, screenshots. Turn it off for a faster, lighter run.",
            "default": true
          },
          "includeReviews": {
            "title": "Include reviews",
            "type": "boolean",
            "description": "Attach user reviews to each app record.",
            "default": false
          },
          "maxReviewsPerApp": {
            "title": "Max reviews per app",
            "minimum": 1,
            "type": "integer",
            "description": "Reviews are fetched in pages of 150, so large numbers mean more requests per app.",
            "default": 100
          },
          "reviewsSort": {
            "title": "Sort reviews by",
            "enum": [
              "Most helpful",
              "Newest",
              "Rating"
            ],
            "type": "string",
            "description": "Order in which reviews are collected.",
            "default": "Most helpful"
          },
          "includePermissions": {
            "title": "Include permissions",
            "type": "boolean",
            "description": "Attach the Android permissions each app requests.",
            "default": false
          },
          "includeDataSafety": {
            "title": "Include data safety",
            "type": "boolean",
            "description": "Attach the Data Safety declaration: what the app collects, what it shares, and its security practices.",
            "default": false
          },
          "includeSimilar": {
            "title": "Include similar apps",
            "type": "boolean",
            "description": "Attach up to 20 apps Play considers similar — useful for mapping competitors.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}