{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Store Scraper [FAST] | Apps & Charts",
    "description": "Find Google Play apps by keyword, browse Top Free, Paid, or Grossing charts, or fetch details by package ID. Get installs, ratings, screenshots, prices, and publisher contacts via JSON API or Dataset. Pay per delivered app: $0.003/listing or $0.006/detail. Failed results have no result event.",
    "version": "0.0",
    "x-build-id": "5hmCG2HOjodIyuSHY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/apizy~google-play-store-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-apizy-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/apizy~google-play-store-scraper/runs": {
      "post": {
        "operationId": "runs-sync-apizy-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/apizy~google-play-store-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-apizy-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": "Mode",
            "enum": [
              "search",
              "charts",
              "details"
            ],
            "type": "string",
            "description": "Search by keyword finds apps from search phrases. Top Charts lists apps by chart and category. App details looks up known package IDs or URLs and always returns full details.",
            "default": "search"
          },
          "keyword": {
            "title": "Single keyword",
            "type": "string",
            "description": "Search mode only. Enter one keyword or phrase. To use Multiple keywords, clear this example first."
          },
          "keywords": {
            "title": "Multiple keywords",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "description": "Search mode only. Enter one keyword or phrase per line, up to 20. Clear Single keyword first. Duplicate apps are saved once, with every matching keyword and rank retained.",
            "items": {
              "type": "string"
            }
          },
          "chart": {
            "title": "Chart",
            "enum": [
              "top-free",
              "top-paid",
              "top-grossing"
            ],
            "type": "string",
            "description": "Top Charts mode only. Choose Top Free, Top Paid, or Top Grossing. Combine with Category, such as Top Free RPG games. Some combinations may return no apps.",
            "default": "top-free"
          },
          "category": {
            "title": "Category",
            "enum": [
              "APPLICATION",
              "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",
              "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",
              "WEATHER"
            ],
            "type": "string",
            "description": "Top Charts mode only. Choose an app/game category, All apps, or All games. For RPG charts, choose Games: Role Playing (RPG). Some chart/category combinations may return no apps.",
            "default": "APPLICATION"
          },
          "app": {
            "title": "Single app — package ID or URL",
            "type": "string",
            "description": "App details mode only. Enter one Android package ID or Google Play app URL. Use either this field or Multiple apps, not both."
          },
          "apps": {
            "title": "Multiple apps — package IDs or URLs",
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "description": "App details mode only. Enter one package ID or Google Play URL per line, up to 100. Leave Single app empty. Duplicate apps are fetched once; invalid apps are reported individually.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum apps per keyword or chart",
            "minimum": 1,
            "maximum": 250,
            "type": "integer",
            "description": "Search and Top Charts only. Maximum apps for each keyword or the selected chart, from 1 to 250. For example, 3 keywords × 20 requests up to 60 apps before deduplication. Google Play may return fewer. Ignored in App details mode.",
            "default": 100
          },
          "fullDetail": {
            "title": "Fetch full app details",
            "type": "boolean",
            "description": "Search and Top Charts only. Off: save quick listings. On: fetch descriptions, images, ratings breakdowns, public install badges, prices, and publisher fields when available. Full details use the Detail price instead of Listing; see Pricing. App details mode always fetches full details.",
            "default": false
          },
          "country": {
            "title": "Store country",
            "pattern": "^[A-Za-z]{2}$",
            "type": "string",
            "description": "All modes. Two-letter Google Play country code: us = United States, gb = United Kingdom, au = Australia, sg = Singapore. Charts, availability, and prices can depend on country. Default: us.",
            "default": "us"
          },
          "language": {
            "title": "Store language",
            "pattern": "^[A-Za-z]{2,3}(?:-[A-Za-z]{2})?$",
            "type": "string",
            "description": "All modes. Google Play language code: en = English, es = Spanish, de = German, fr = French, pt-BR = Brazilian Portuguese. Requests localized store content; the Actor does not translate it. Default: en.",
            "default": "en"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}