{
  "openapi": "3.0.1",
  "info": {
    "title": "App Store & Google Play Top Charts: Top 200 by Country",
    "description": "Full top 200 App Store and Google Play charts (free, paid, grossing) for any country, category and device, with rating, rating count, price, developer and release date, no login needed. Optional rank tracking adds the change since your last run so a daily schedule builds a ranking history.",
    "version": "0.1",
    "x-build-id": "Wdag8IBWdeSdx5xZa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/varnmill~app-store-top-charts/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-varnmill-app-store-top-charts",
        "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/varnmill~app-store-top-charts/runs": {
      "post": {
        "operationId": "runs-sync-varnmill-app-store-top-charts",
        "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/varnmill~app-store-top-charts/run-sync": {
      "post": {
        "operationId": "run-sync-varnmill-app-store-top-charts",
        "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": {
          "stores": {
            "title": "Stores",
            "type": "array",
            "description": "Which stores to fetch: Apple App Store, Google Play, or both.",
            "items": {
              "type": "string",
              "enum": [
                "apple",
                "google"
              ],
              "enumTitles": [
                "Apple App Store",
                "Google Play"
              ]
            },
            "default": [
              "apple"
            ]
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter country codes (storefronts), e.g. us, gb, de, jp, br. Each country is fetched separately.",
            "default": [
              "us"
            ],
            "items": {
              "type": "string"
            }
          },
          "charts": {
            "title": "Charts",
            "type": "array",
            "description": "Top free and top paid return up to 200 apps on both stores. Apple top grossing comes from Apple's RSS feed, which stops at 100 and exists only for iPhone, iPad and Mac; Google Play top grossing returns up to 200.",
            "items": {
              "type": "string",
              "enum": [
                "top-free",
                "top-paid",
                "top-grossing"
              ],
              "enumTitles": [
                "Top Free",
                "Top Paid",
                "Top Grossing"
              ]
            },
            "default": [
              "top-free"
            ]
          },
          "maxRank": {
            "title": "Apps per chart (max rank)",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How deep to go in each chart, 1 to 200. You pay per app returned.",
            "default": 200
          },
          "applePlatforms": {
            "title": "Apple devices",
            "type": "array",
            "description": "Which App Store device charts to fetch. iPhone is what most people mean by 'App Store top charts'.",
            "items": {
              "type": "string",
              "enum": [
                "iphone",
                "ipad",
                "mac",
                "watch",
                "vision",
                "tv"
              ],
              "enumTitles": [
                "iPhone",
                "iPad",
                "Mac",
                "Apple Watch",
                "Apple Vision Pro",
                "Apple TV"
              ]
            },
            "default": [
              "iphone"
            ]
          },
          "appleCategories": {
            "title": "Apple categories",
            "type": "array",
            "description": "App Store categories. 'All Apps' is the overall chart; 'Games' is the overall games chart; game sub-genres and kids age bands are available too.",
            "items": {
              "type": "string",
              "enum": [
                "36",
                "6014",
                "6000",
                "6001",
                "6002",
                "6003",
                "6004",
                "6005",
                "6006",
                "6007",
                "6008",
                "6009",
                "6010",
                "6011",
                "6012",
                "6013",
                "6015",
                "6016",
                "6017",
                "6018",
                "6020",
                "6021",
                "6023",
                "6024",
                "6026",
                "6027",
                "7001",
                "7002",
                "7003",
                "7004",
                "7005",
                "7006",
                "7009",
                "7011",
                "7012",
                "7013",
                "7014",
                "7015",
                "7016",
                "7017",
                "7018",
                "7019",
                "kids",
                "kids-5-under",
                "kids-6-8",
                "kids-9-11"
              ],
              "enumTitles": [
                "All Apps",
                "Games",
                "Business",
                "Weather",
                "Utilities",
                "Travel",
                "Sports",
                "Social Networking",
                "Reference",
                "Productivity",
                "Photo & Video",
                "News",
                "Navigation",
                "Music",
                "Lifestyle",
                "Health & Fitness",
                "Finance",
                "Entertainment",
                "Education",
                "Books",
                "Medical",
                "Magazines & Newspapers",
                "Food & Drink",
                "Shopping",
                "Developer Tools",
                "Graphics & Design",
                "Games: Action",
                "Games: Adventure",
                "Games: Casual",
                "Games: Board",
                "Games: Card",
                "Games: Casino",
                "Games: Family",
                "Games: Music",
                "Games: Puzzle",
                "Games: Racing",
                "Games: Role Playing",
                "Games: Simulation",
                "Games: Sports",
                "Games: Strategy",
                "Games: Trivia",
                "Games: Word",
                "Kids",
                "Kids: Ages 5 & Under",
                "Kids: Ages 6-8",
                "Kids: Ages 9-11"
              ]
            },
            "default": [
              "36"
            ]
          },
          "googlePlayCategories": {
            "title": "Google Play categories",
            "type": "array",
            "description": "Google Play categories. 'All Apps' (APPLICATION) and 'All Games' (GAME) are the overall charts.",
            "items": {
              "type": "string",
              "enum": [
                "APPLICATION",
                "GAME",
                "FAMILY",
                "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_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"
              ],
              "enumTitles": [
                "All Apps",
                "All Games",
                "Family",
                "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 & Editors",
                "Watch Faces",
                "Weather",
                "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"
              ]
            },
            "default": [
              "APPLICATION"
            ]
          },
          "language": {
            "title": "Google Play language",
            "type": "string",
            "description": "Language code for Google Play app names and categories (hl parameter), e.g. en, de, ja, pt-BR. Apple data always comes in the storefront's default language.",
            "default": "en"
          },
          "googlePlayDetails": {
            "title": "Add Google Play rating count and dates",
            "type": "boolean",
            "description": "Google Play chart lists do not include rating count, release date, last update, exact installs or version. Turn this on to open each app's page and add them. Charged per app as a separate event.",
            "default": false
          },
          "trackRankChanges": {
            "title": "Track rank changes since last run",
            "type": "boolean",
            "description": "Remember each chart in a named key-value store and add previousRank, rankChange (positive = moved up) and isNewEntry to every row. Schedule the actor daily to build a ranking history.",
            "default": false
          },
          "historyStoreName": {
            "title": "History store name",
            "type": "string",
            "description": "Named key-value store that keeps the last snapshot of each chart. Use different names to keep separate histories.",
            "default": "app-store-top-charts-history"
          },
          "includeDroppedApps": {
            "title": "Output apps that dropped out",
            "type": "boolean",
            "description": "With rank tracking on, also output a row (droppedOut: true, not charged) for every app that was in the chart last run but is gone now.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed normally: Apple and Google serve these public charts without a proxy. Turn on only if you see repeated 403 or 429 errors.",
            "default": {
              "useApifyProxy": 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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}