{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Top Charts Scraper: Android App Rankings by Country",
    "description": "Track Play Store rankings and Google Play top charts by country: top free apps, top paid apps, top grossing, trending apps, top new apps and top games in 130 countries, with category rankings, rank, rating, installs and rank changes since your last run. Optional: exact installs, developer emails.",
    "version": "0.1",
    "x-build-id": "ksehCujqbBmyT7lrx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/glitchbound~google-play-charts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-glitchbound-google-play-charts-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/glitchbound~google-play-charts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-glitchbound-google-play-charts-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/glitchbound~google-play-charts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-glitchbound-google-play-charts-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": {
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Which Google Play countries to read, 130 verified. Add several to compare the same chart across markets in one run. Only countries whose chart was checked against Google's own answer are offered: Google answers a code it has no market for with another chart, not an error.",
            "items": {
              "type": "string",
              "enum": [
                "us",
                "gb",
                "ca",
                "au",
                "in",
                "de",
                "fr",
                "es",
                "it",
                "nl",
                "se",
                "no",
                "dk",
                "fi",
                "pl",
                "pt",
                "ie",
                "at",
                "ch",
                "be",
                "cz",
                "ro",
                "hu",
                "gr",
                "tr",
                "sa",
                "ae",
                "eg",
                "za",
                "ng",
                "ke",
                "br",
                "mx",
                "ar",
                "co",
                "cl",
                "pe",
                "jp",
                "kr",
                "tw",
                "hk",
                "sg",
                "my",
                "th",
                "vn",
                "ph",
                "id",
                "nz",
                "ru",
                "ua",
                "kz",
                "pk",
                "bd",
                "lk",
                "qa",
                "kw",
                "ma",
                "il",
                "iq",
                "jo",
                "lb",
                "om",
                "bh",
                "ye",
                "dz",
                "tn",
                "ly",
                "gh",
                "tz",
                "ug",
                "cm",
                "ci",
                "sn",
                "zm",
                "zw",
                "mz",
                "ao",
                "rw",
                "mu",
                "bw",
                "na",
                "ve",
                "ec",
                "bo",
                "py",
                "uy",
                "cr",
                "pa",
                "gt",
                "do",
                "pr",
                "sv",
                "hn",
                "ni",
                "jm",
                "tt",
                "bg",
                "hr",
                "rs",
                "si",
                "sk",
                "lt",
                "lv",
                "ee",
                "by",
                "md",
                "az",
                "ge",
                "am",
                "uz",
                "kg",
                "tj",
                "kh",
                "mm",
                "la",
                "np",
                "mn",
                "mo",
                "lu",
                "mt",
                "cy",
                "is",
                "ba",
                "mk",
                "al",
                "fj",
                "pg",
                "ht",
                "bs",
                "bz"
              ],
              "enumTitles": [
                "United States (us)",
                "United Kingdom (gb)",
                "Canada (ca)",
                "Australia (au)",
                "India (in)",
                "Germany (de)",
                "France (fr)",
                "Spain (es)",
                "Italy (it)",
                "Netherlands (nl)",
                "Sweden (se)",
                "Norway (no)",
                "Denmark (dk)",
                "Finland (fi)",
                "Poland (pl)",
                "Portugal (pt)",
                "Ireland (ie)",
                "Austria (at)",
                "Switzerland (ch)",
                "Belgium (be)",
                "Czechia (cz)",
                "Romania (ro)",
                "Hungary (hu)",
                "Greece (gr)",
                "Turkey (tr)",
                "Saudi Arabia (sa)",
                "United Arab Emirates (ae)",
                "Egypt (eg)",
                "South Africa (za)",
                "Nigeria (ng)",
                "Kenya (ke)",
                "Brazil (br)",
                "Mexico (mx)",
                "Argentina (ar)",
                "Colombia (co)",
                "Chile (cl)",
                "Peru (pe)",
                "Japan (jp)",
                "South Korea (kr)",
                "Taiwan (tw)",
                "Hong Kong (hk)",
                "Singapore (sg)",
                "Malaysia (my)",
                "Thailand (th)",
                "Vietnam (vn)",
                "Philippines (ph)",
                "Indonesia (id)",
                "New Zealand (nz)",
                "Russia (ru)",
                "Ukraine (ua)",
                "Kazakhstan (kz)",
                "Pakistan (pk)",
                "Bangladesh (bd)",
                "Sri Lanka (lk)",
                "Qatar (qa)",
                "Kuwait (kw)",
                "Morocco (ma)",
                "Israel (il)",
                "Iraq (iq)",
                "Jordan (jo)",
                "Lebanon (lb)",
                "Oman (om)",
                "Bahrain (bh)",
                "Yemen (ye)",
                "Algeria (dz)",
                "Tunisia (tn)",
                "Libya (ly)",
                "Ghana (gh)",
                "Tanzania (tz)",
                "Uganda (ug)",
                "Cameroon (cm)",
                "Côte d'Ivoire (ci)",
                "Senegal (sn)",
                "Zambia (zm)",
                "Zimbabwe (zw)",
                "Mozambique (mz)",
                "Angola (ao)",
                "Rwanda (rw)",
                "Mauritius (mu)",
                "Botswana (bw)",
                "Namibia (na)",
                "Venezuela (ve)",
                "Ecuador (ec)",
                "Bolivia (bo)",
                "Paraguay (py)",
                "Uruguay (uy)",
                "Costa Rica (cr)",
                "Panama (pa)",
                "Guatemala (gt)",
                "Dominican Republic (do)",
                "Puerto Rico (pr)",
                "El Salvador (sv)",
                "Honduras (hn)",
                "Nicaragua (ni)",
                "Jamaica (jm)",
                "Trinidad and Tobago (tt)",
                "Bulgaria (bg)",
                "Croatia (hr)",
                "Serbia (rs)",
                "Slovenia (si)",
                "Slovakia (sk)",
                "Lithuania (lt)",
                "Latvia (lv)",
                "Estonia (ee)",
                "Belarus (by)",
                "Moldova (md)",
                "Azerbaijan (az)",
                "Georgia (ge)",
                "Armenia (am)",
                "Uzbekistan (uz)",
                "Kyrgyzstan (kg)",
                "Tajikistan (tj)",
                "Cambodia (kh)",
                "Myanmar (mm)",
                "Laos (la)",
                "Nepal (np)",
                "Mongolia (mn)",
                "Macao (mo)",
                "Luxembourg (lu)",
                "Malta (mt)",
                "Cyprus (cy)",
                "Iceland (is)",
                "Bosnia and Herzegovina (ba)",
                "North Macedonia (mk)",
                "Albania (al)",
                "Fiji (fj)",
                "Papua New Guinea (pg)",
                "Haiti (ht)",
                "Bahamas (bs)",
                "Belize (bz)"
              ]
            },
            "default": [
              "us"
            ]
          },
          "charts": {
            "title": "Charts",
            "type": "array",
            "description": "Top Free and Top Paid rank by downloads; Top Grossing ranks by revenue. Trending is Google's list of the apps rising fastest right now; Top New Free ranks recently released free apps.",
            "items": {
              "type": "string",
              "enum": [
                "top-free",
                "top-paid",
                "top-grossing",
                "trending",
                "top-new-free"
              ],
              "enumTitles": [
                "Top Free",
                "Top Paid",
                "Top Grossing",
                "Trending (rising fastest)",
                "Top New Free"
              ]
            },
            "default": [
              "top-free"
            ]
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Play categories, 54 of them. all-apps and all-games are the overall charts.",
            "items": {
              "type": "string",
              "enum": [
                "all-apps",
                "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",
                "all-games",
                "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"
              ],
              "enumTitles": [
                "All apps",
                "Android Wear",
                "Art & Design",
                "Auto & Vehicles",
                "Beauty",
                "Books & Reference",
                "Business",
                "Comics",
                "Communication",
                "Dating",
                "Education",
                "Entertainment",
                "Events",
                "Finance",
                "Food & Drink",
                "Health & Fitness",
                "House & Home",
                "Libraries & Demo",
                "Lifestyle",
                "Maps & Navigation",
                "Medical",
                "Music & Audio",
                "News & Magazines",
                "Parenting",
                "Personalization",
                "Photography",
                "Productivity",
                "Shopping",
                "Social",
                "Sports",
                "Tools",
                "Travel & Local",
                "Video Players",
                "Watch Face",
                "Weather",
                "All games",
                "Games: Action",
                "Games: Adventure",
                "Games: Arcade",
                "Games: Board",
                "Games: Card",
                "Games: Casino",
                "Games: Casual",
                "Games: Educational",
                "Games: Music",
                "Games: Puzzle",
                "Games: Racing",
                "Games: Role Playing",
                "Games: Simulation",
                "Games: Sports",
                "Games: Strategy",
                "Games: Trivia",
                "Games: Word",
                "Family"
              ]
            },
            "default": [
              "all-apps"
            ]
          },
          "limit": {
            "title": "Apps per chart",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many ranked apps to return per chart. Google serves up to 200.",
            "default": 100
          },
          "includeDetails": {
            "title": "App details (rating count, exact installs, developer contact)",
            "type": "boolean",
            "description": "Also read each charting app's own Play page and add the rating count, review count, star histogram, exact install count, release and last-update dates, version, whether it shows ads, and the developer's email, website and privacy policy. Same price per row; about a quarter of a second more per app. Each app is read once per country, however many charts it is in.",
            "default": false
          },
          "trackRankChanges": {
            "title": "Track rank changes",
            "type": "boolean",
            "description": "Compare each chart with the last time your account read it, and add previousRank, rankChange (positive = moved up) and newInChart to every row. The last read is kept in a key-value store in your own account, named google-play-charts-history. Schedule the run daily and every row says what moved.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum results (whole run)",
            "minimum": 0,
            "type": "integer",
            "description": "A hard ceiling on rows for the entire run, across every chart. The run stops cleanly when it is reached and nothing beyond that point is fetched or charged. Leave empty for no ceiling."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy settings.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}