{
  "openapi": "3.0.1",
  "info": {
    "title": "Apple App Store Scraper - Top Charts, Apps, Developers, Reviews",
    "description": "App Store charts (free/paid, by category, 169 countries), app details by ID/URL/bundle ID, developer portfolios, reviews. Input: app IDs, developer IDs or charts + countries. Returns per app: name, developer, rating, price, genre, version, URL. Default: 20 apps. $1/1k apps, $0.10/1k reviews.",
    "version": "1.0",
    "x-build-id": "VbyYJtlbsZIlyTmQJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kadi_bence~app-store-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kadi_bence-app-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/kadi_bence~app-store-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kadi_bence-app-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/kadi_bence~app-store-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kadi_bence-app-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": {
          "appIds": {
            "title": "Apps (IDs, URLs or bundle IDs)",
            "type": "array",
            "description": "Specific apps to get details for: App Store URLs (https://apps.apple.com/us/app/notes/id1110145109), numeric IDs (1110145109 or id1110145109) or bundle IDs (com.apple.mobilenotes). App names are not accepted (keyword search is not used, because Apple's robots.txt disallows it). The country in a URL is ignored: use 'Countries' below.",
            "items": {
              "type": "string"
            }
          },
          "developerIds": {
            "title": "Developers (all their apps)",
            "type": "array",
            "description": "Developer page URLs (https://apps.apple.com/us/developer/google/id281956209) or developer IDs. Returns every app of the developer (up to 200 per developer and country).",
            "items": {
              "type": "string"
            }
          },
          "charts": {
            "title": "Top charts",
            "type": "array",
            "description": "Top charts to scrape. Each app gets its chartPosition. Combine with categories and countries below.",
            "items": {
              "type": "string",
              "enum": [
                "top-free",
                "top-paid"
              ],
              "enumTitles": [
                "Top free",
                "Top paid"
              ]
            }
          },
          "chartCategories": {
            "title": "Chart categories",
            "type": "array",
            "description": "Leave empty for the overall chart (All apps). Pick categories like Games, Finance or Health & Fitness for category charts.",
            "items": {
              "type": "string",
              "enum": [
                "36",
                "6018",
                "6000",
                "6026",
                "6017",
                "6016",
                "6015",
                "6023",
                "6027",
                "6013",
                "6012",
                "6021",
                "6020",
                "6011",
                "6010",
                "6009",
                "6008",
                "6007",
                "6006",
                "6024",
                "6005",
                "6004",
                "6003",
                "6002",
                "6001",
                "6014",
                "7001",
                "7002",
                "7004",
                "7005",
                "7006",
                "7003",
                "7009",
                "7011",
                "7012",
                "7013",
                "7014",
                "7015",
                "7016",
                "7017",
                "7018",
                "7019"
              ],
              "enumTitles": [
                "All apps",
                "Books",
                "Business",
                "Developer Tools",
                "Education",
                "Entertainment",
                "Finance",
                "Food & Drink",
                "Graphics & Design",
                "Health & Fitness",
                "Lifestyle",
                "Magazines & Newspapers",
                "Medical",
                "Music",
                "Navigation",
                "News",
                "Photo & Video",
                "Productivity",
                "Reference",
                "Shopping",
                "Social Networking",
                "Sports",
                "Travel",
                "Utilities",
                "Weather",
                "Games (all)",
                "Games: Action",
                "Games: Adventure",
                "Games: Board",
                "Games: Card",
                "Games: Casino",
                "Games: Casual",
                "Games: Family",
                "Games: Music",
                "Games: Puzzle",
                "Games: Racing",
                "Games: Role Playing",
                "Games: Simulation",
                "Games: Sports",
                "Games: Strategy",
                "Games: Trivia",
                "Games: Word"
              ]
            }
          },
          "maxChartPositions": {
            "title": "Chart depth (positions)",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many positions of each chart to return (1-200). Each position is one app row, so this drives the cost.",
            "default": 20
          },
          "platform": {
            "title": "Device",
            "enum": [
              "iphone",
              "ipad"
            ],
            "type": "string",
            "description": "iPhone or iPad top charts.",
            "default": "iphone"
          },
          "countries": {
            "title": "Countries (App Store storefronts)",
            "type": "array",
            "description": "Every app, developer and chart is scraped in each selected country. Prices, ratings, charts and reviews are country-specific.",
            "items": {
              "type": "string",
              "enum": [
                "us",
                "gb",
                "ca",
                "au",
                "de",
                "fr",
                "it",
                "es",
                "nl",
                "se",
                "no",
                "dk",
                "fi",
                "at",
                "ch",
                "be",
                "ie",
                "pt",
                "pl",
                "cz",
                "hu",
                "ro",
                "gr",
                "jp",
                "kr",
                "cn",
                "hk",
                "tw",
                "in",
                "id",
                "th",
                "vn",
                "ph",
                "my",
                "sg",
                "nz",
                "br",
                "mx",
                "ar",
                "cl",
                "co",
                "pe",
                "tr",
                "il",
                "ae",
                "sa",
                "eg",
                "za",
                "ng",
                "ke",
                "ua",
                "ru",
                "dz",
                "ao",
                "ai",
                "ag",
                "am",
                "az",
                "bs",
                "bh",
                "bb",
                "by",
                "bz",
                "bj",
                "bm",
                "bt",
                "bo",
                "ba",
                "bw",
                "vg",
                "bn",
                "bg",
                "bf",
                "kh",
                "cm",
                "cv",
                "ky",
                "td",
                "cg",
                "cd",
                "cr",
                "hr",
                "cy",
                "ci",
                "dm",
                "do",
                "ec",
                "sv",
                "ee",
                "sz",
                "fj",
                "ga",
                "gm",
                "ge",
                "gh",
                "gd",
                "gt",
                "gw",
                "gy",
                "hn",
                "is",
                "iq",
                "jm",
                "jo",
                "kz",
                "xk",
                "kw",
                "kg",
                "la",
                "lv",
                "lb",
                "lr",
                "ly",
                "lt",
                "lu",
                "mo",
                "mg",
                "mw",
                "mv",
                "ml",
                "mt",
                "mr",
                "mu",
                "fm",
                "md",
                "mn",
                "me",
                "ms",
                "ma",
                "mz",
                "mm",
                "na",
                "np",
                "ni",
                "ne",
                "mk",
                "om",
                "pa",
                "pg",
                "py",
                "qa",
                "rw",
                "sn",
                "rs",
                "sc",
                "sl",
                "sk",
                "si",
                "sb",
                "lk",
                "kn",
                "lc",
                "vc",
                "sr",
                "tj",
                "tz",
                "to",
                "tt",
                "tn",
                "tm",
                "tc",
                "ug",
                "uy",
                "uz",
                "vu",
                "ve",
                "ye",
                "zm",
                "zw"
              ],
              "enumTitles": [
                "United States",
                "United Kingdom",
                "Canada",
                "Australia",
                "Germany",
                "France",
                "Italy",
                "Spain",
                "Netherlands",
                "Sweden",
                "Norway",
                "Denmark",
                "Finland",
                "Austria",
                "Switzerland",
                "Belgium",
                "Ireland",
                "Portugal",
                "Poland",
                "Czechia",
                "Hungary",
                "Romania",
                "Greece",
                "Japan",
                "South Korea",
                "China mainland",
                "Hong Kong",
                "Taiwan",
                "India",
                "Indonesia",
                "Thailand",
                "Vietnam",
                "Philippines",
                "Malaysia",
                "Singapore",
                "New Zealand",
                "Brazil",
                "Mexico",
                "Argentina",
                "Chile",
                "Colombia",
                "Peru",
                "Türkiye",
                "Israel",
                "United Arab Emirates",
                "Saudi Arabia",
                "Egypt",
                "South Africa",
                "Nigeria",
                "Kenya",
                "Ukraine",
                "Russia",
                "Algeria",
                "Angola",
                "Anguilla",
                "Antigua and Barbuda",
                "Armenia",
                "Azerbaijan",
                "Bahamas",
                "Bahrain",
                "Barbados",
                "Belarus",
                "Belize",
                "Benin",
                "Bermuda",
                "Bhutan",
                "Bolivia",
                "Bosnia and Herzegovina",
                "Botswana",
                "British Virgin Islands",
                "Brunei",
                "Bulgaria",
                "Burkina Faso",
                "Cambodia",
                "Cameroon",
                "Cape Verde",
                "Cayman Islands",
                "Chad",
                "Congo",
                "Congo (DRC)",
                "Costa Rica",
                "Croatia",
                "Cyprus",
                "Côte d'Ivoire",
                "Dominica",
                "Dominican Republic",
                "Ecuador",
                "El Salvador",
                "Estonia",
                "Eswatini",
                "Fiji",
                "Gabon",
                "Gambia",
                "Georgia",
                "Ghana",
                "Grenada",
                "Guatemala",
                "Guinea-Bissau",
                "Guyana",
                "Honduras",
                "Iceland",
                "Iraq",
                "Jamaica",
                "Jordan",
                "Kazakhstan",
                "Kosovo",
                "Kuwait",
                "Kyrgyzstan",
                "Laos",
                "Latvia",
                "Lebanon",
                "Liberia",
                "Libya",
                "Lithuania",
                "Luxembourg",
                "Macao",
                "Madagascar",
                "Malawi",
                "Maldives",
                "Mali",
                "Malta",
                "Mauritania",
                "Mauritius",
                "Micronesia",
                "Moldova",
                "Mongolia",
                "Montenegro",
                "Montserrat",
                "Morocco",
                "Mozambique",
                "Myanmar",
                "Namibia",
                "Nepal",
                "Nicaragua",
                "Niger",
                "North Macedonia",
                "Oman",
                "Panama",
                "Papua New Guinea",
                "Paraguay",
                "Qatar",
                "Rwanda",
                "Senegal",
                "Serbia",
                "Seychelles",
                "Sierra Leone",
                "Slovakia",
                "Slovenia",
                "Solomon Islands",
                "Sri Lanka",
                "St. Kitts and Nevis",
                "St. Lucia",
                "St. Vincent and the Grenadines",
                "Suriname",
                "Tajikistan",
                "Tanzania",
                "Tonga",
                "Trinidad and Tobago",
                "Tunisia",
                "Turkmenistan",
                "Turks and Caicos",
                "Uganda",
                "Uruguay",
                "Uzbekistan",
                "Vanuatu",
                "Venezuela",
                "Yemen",
                "Zambia",
                "Zimbabwe"
              ]
            },
            "default": [
              "us"
            ]
          },
          "maxResults": {
            "title": "Max apps in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many app rows (0 = no limit). Reviews are limited separately by \"Reviews per app\". The default without input (API, MCP and AI-agent calls) is 20.",
            "default": 20
          },
          "includeReviews": {
            "title": "Include reviews and rating histogram",
            "type": "boolean",
            "description": "For every app, also save the user reviews shown on its App Store page (up to 20 per app and country) as separate rows (type = review), and add the 1-5 star ratingHistogram to the app row. Reviewer names are never saved.",
            "default": false
          },
          "maxReviewsPerApp": {
            "title": "Reviews per app and country",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Up to 20 (Apple shows two sets of 10 reviews on the public App Store page). Select more countries for more reviews.",
            "default": 5
          },
          "onlyNewReviews": {
            "title": "Only new reviews (monitoring mode)",
            "type": "boolean",
            "description": "Remember returned reviews and output only reviews not seen in earlier runs with the same input. Needs 'Include reviews'. Ideal for a daily schedule: you pay only for new reviews. App rows are still saved on every run.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Keeps separate \"already seen\" lists for different schedules.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not needed for normal runs. If Apple rate-limits the shared IP (HTTP 403 in the log), enable Apify Proxy.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}