{
  "openapi": "3.0.1",
  "info": {
    "title": "App Store Apps Scraper: Top Charts & Details",
    "description": "App Store apps with every store field, from search, top charts (all 200 ranks), developers or ids. $1 per 1,000 apps. Any country. Ratings per star, in-app purchases, privacy labels.",
    "version": "0.1",
    "x-build-id": "DsoSooZ7To7BfOsyw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/luzivanlt~app-store-apps-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-luzivanlt-app-store-apps-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/luzivanlt~app-store-apps-scraper/runs": {
      "post": {
        "operationId": "runs-sync-luzivanlt-app-store-apps-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/luzivanlt~app-store-apps-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-luzivanlt-app-store-apps-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": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Words to search App Store apps for, as you would type them in the store, e.g. photo editor or budget planner. Each term is one source per country: its apps are read in the order the store returns them, up to 200 a term. Leave empty to use only links, ids or top charts.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "App Store links",
            "type": "array",
            "description": "App Store app pages or developer pages, e.g. https://apps.apple.com/us/app/duolingo-language-lessons/id570060128 or https://apps.apple.com/us/developer/duolingo/id570060151. A link with a country in it is read in that country only; a link without one, in every country below. A source given twice is read once.",
            "items": {
              "type": "string"
            }
          },
          "appIds": {
            "title": "App ids or bundle ids",
            "type": "array",
            "description": "App Store app ids (570060128 or id570060128) or bundle ids (com.duolingo.DuolingoMobile), read in every country below. Ids are read in batches of up to 200 (or your Max apps per source, if lower). Example: 570060128",
            "items": {
              "type": "string"
            }
          },
          "developerIds": {
            "title": "Developer ids",
            "type": "array",
            "description": "App Store developer ids (the number at the end of a developer page link, e.g. 570060151): the developer's apps are read, up to 200 per developer and country, in every country below.",
            "items": {
              "type": "string"
            }
          },
          "topCharts": {
            "title": "Top charts",
            "type": "array",
            "description": "The App Store top charts to read, for each genre in Chart genres: Top free and Top paid are read whole, up to their 200 ranks; Top grossing up to its 100 ranks. In rank order. Leave empty for no charts. Example: [\"free\", \"paid\"]",
            "items": {
              "type": "string",
              "enum": [
                "free",
                "paid",
                "grossing"
              ],
              "enumTitles": [
                "Top free",
                "Top paid",
                "Top grossing"
              ]
            }
          },
          "chartGenres": {
            "title": "Chart genres",
            "type": "array",
            "description": "The genres whose top charts to read: All apps, one genre such as Productivity, or Games or one game genre such as Games: Puzzle. Each chart × genre × country is one source. Default: All apps. Used only with Top charts. Example: [\"6014\", \"6007\"] for Games and Productivity.",
            "items": {
              "type": "string",
              "enum": [
                "36",
                "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",
                "7001",
                "7002",
                "7003",
                "7004",
                "7005",
                "7006",
                "7009",
                "7011",
                "7012",
                "7013",
                "7014",
                "7015",
                "7016",
                "7017",
                "7018",
                "7019"
              ],
              "enumTitles": [
                "All apps",
                "Business",
                "Weather",
                "Utilities",
                "Travel",
                "Sports",
                "Social Networking",
                "Reference",
                "Productivity",
                "Photo & Video",
                "News",
                "Navigation",
                "Music",
                "Lifestyle",
                "Health & Fitness",
                "Games",
                "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"
              ]
            },
            "default": [
              "36"
            ]
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "The App Store countries to read, as two-letter codes, e.g. us, gb, de, jp, in, br, vn. Prices, charts and search results are that country’s, and each source is read once per country, one row per app and country. Up to 50 countries and 500 sources in one run. Default us. uk is read as gb.",
            "default": [
              "us"
            ],
            "items": {
              "type": "string"
            }
          },
          "platform": {
            "title": "Device",
            "enum": [
              "iphone",
              "ipad"
            ],
            "type": "string",
            "description": "Which store to read top charts and search results from: the iPhone store or the iPad store, e.g. ipad for the iPad top charts. Their charts differ. App ids, links and developers are the same on both. Default iPhone.",
            "default": "iphone"
          },
          "maxAppsPerSource": {
            "title": "Max apps per source",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "The most apps to save from each search term, chart, developer or batch of ids, per country. Every source holds at most 200 apps. Default 100. You pay per app saved.",
            "default": 100
          },
          "includeAppPage": {
            "title": "Include app page details",
            "type": "boolean",
            "description": "Add what only the app’s store page shows: subtitle, Editors’ Choice and its note, ratings per star, chart rank, in-app purchases with prices, privacy labels, age-rating reasons, copyright, website, support and privacy-policy links, the EU trader details, compatibility per device, accessibility, events, preview videos, screenshots for every device, similar apps, the developer’s other apps and the top reviews. Reads one more page per app, so a run takes longer; the price per app stays the same. Off by default.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}