{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Play Top Charts Scraper: Rankings by Country",
    "description": "Track Google Play top charts and rankings: Top Free, Top Paid and Top Grossing apps and games in 57 countries and 54 categories, with rank, rating, installs, price and developer. Optional details: exact installs, rating counts, release dates and developer emails. From the Play Store's own charts.",
    "version": "0.1",
    "x-build-id": "5hgVmvMc6OAoIn4Lg"
  },
  "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, 57 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 an unknown country with another country's 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"
              ],
              "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)"
              ]
            },
            "default": [
              "us"
            ]
          },
          "charts": {
            "title": "Charts",
            "type": "array",
            "description": "Top Free and Top Paid rank by downloads; Top Grossing ranks by revenue.",
            "items": {
              "type": "string",
              "enum": [
                "top-free",
                "top-paid",
                "top-grossing"
              ],
              "enumTitles": [
                "Top Free",
                "Top Paid",
                "Top Grossing"
              ]
            },
            "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
          },
          "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}