{
  "openapi": "3.0.1",
  "info": {
    "title": "Apple App Store Scraper: App Details, Ratings and Top Charts",
    "description": "Search the Apple App Store, look up apps by id, link or bundle id, or read top free, paid and grossing charts by category. One row per app: price, rating, star histogram, version, size, in-app purchases with prices, privacy labels, screenshots, developer. No login.",
    "version": "0.1",
    "x-build-id": "WXsV0fWXSOGkbHwdL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~apple-app-store-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-apple-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/themineworks~apple-app-store-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-apple-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/themineworks~apple-app-store-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-apple-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": {
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "Words as you would type them in the App Store search box, one per line, for example meditation, budget planner, vpn. Each term is one search and returns up to 200 apps in Apple's order. Up to 100 terms per run.",
            "items": {
              "type": "string"
            }
          },
          "appIds": {
            "title": "App ids, links or bundle ids (optional)",
            "type": "array",
            "description": "Apps to read directly, one per line: a numeric id (389801252), id389801252, an App Store link (https://apps.apple.com/us/app/instagram/id389801252) or a bundle id (com.burbn.instagram). A link keeps its own storefront; ids and bundle ids use Country. Every app listed is returned, up to 5,000.",
            "items": {
              "type": "string"
            }
          },
          "charts": {
            "title": "Top charts (optional)",
            "type": "array",
            "description": "Read one or more App Store top charts, up to 100 apps each in rank order. Pick a category below to read that category's chart.",
            "items": {
              "type": "string",
              "enum": [
                "topfree",
                "toppaid",
                "topgrossing",
                "topfreeipad",
                "toppaidipad",
                "topgrossingipad"
              ],
              "enumTitles": [
                "Top Free iPhone",
                "Top Paid iPhone",
                "Top Grossing iPhone",
                "Top Free iPad",
                "Top Paid iPad",
                "Top Grossing iPad"
              ]
            }
          },
          "chartCategory": {
            "title": "Chart category (optional)",
            "enum": [
              "all",
              "6000",
              "6001",
              "6002",
              "6003",
              "6004",
              "6005",
              "6006",
              "6007",
              "6008",
              "6009",
              "6010",
              "6011",
              "6012",
              "6013",
              "6014",
              "6015",
              "6016",
              "6017",
              "6018",
              "6020",
              "6021",
              "6023",
              "6024",
              "6026",
              "6027",
              "6061",
              "7001",
              "7002",
              "7003",
              "7004",
              "7005",
              "7006",
              "7009",
              "7011",
              "7012",
              "7013",
              "7014",
              "7015",
              "7016",
              "7017",
              "7018",
              "7019"
            ],
            "type": "string",
            "description": "Category for the top charts. Leave on All categories for the overall charts.",
            "default": "all"
          },
          "country": {
            "title": "Country (storefront)",
            "type": "string",
            "description": "Two letter App Store storefront code: us, gb, de, fr, in, jp, br and so on. Prices, ratings, ranks and availability are those of this storefront.",
            "default": "us"
          },
          "maxItems": {
            "title": "Max apps per search or chart",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "The most apps to return for each search term and each chart, 1 to 200. Apple returns at most 200 per search and 100 per chart. App ids you list are always all returned.",
            "default": 50
          },
          "includePageDetails": {
            "title": "Open app pages (in-app purchases, histogram, privacy)",
            "type": "boolean",
            "description": "On: each app's App Store page is opened too, for subtitle, in-app purchases (yes or no and the list with prices), star histogram, chart rank, Editors' Choice, age rating, privacy labels, copyright and developer links. Off: rows come from Apple's API only, which is faster. Same price either way.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}