{
  "openapi": "3.0.1",
  "info": {
    "title": "Apple App Store Scraper",
    "description": "[💰 $0.55 / 1K] Extract Apple App Store data at scale. Search by keyword or pull apps by URL/ID for full metadata: developer, ratings, price, version, screenshots, size. Add reviews per app across 50+ storefronts and 30+ languages. Clean JSON/CSV/Excel for ASO and market research.",
    "version": "1.0",
    "x-build-id": "8wCjvCt9JcNtEHLxV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~apple-app-store-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-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/solidcode~apple-app-store-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-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/solidcode~apple-app-store-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-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": {
          "searchTerms": {
            "title": "Search Terms",
            "type": "array",
            "description": "Keywords to search the App Store (e.g. `meditation`, `photo editor`, `vpn`). Each term produces its own set of apps. Leave empty if you only want to look up specific apps below.",
            "items": {
              "type": "string"
            }
          },
          "appUrlsOrIds": {
            "title": "App URLs or IDs",
            "type": "array",
            "description": "App Store page URLs (e.g. `https://apps.apple.com/us/app/headspace/id493145008`), numeric App IDs (e.g. `493145008`), or bundle IDs (e.g. `com.getsomeheadspace.headspace`). Each input returns one full-detail record.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country / Storefront",
            "enum": [
              "us",
              "gb",
              "ca",
              "au",
              "nz",
              "ie",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "be",
              "at",
              "ch",
              "pt",
              "lu",
              "dk",
              "fi",
              "is",
              "no",
              "se",
              "pl",
              "cz",
              "sk",
              "hu",
              "ro",
              "bg",
              "gr",
              "tr",
              "jp",
              "kr",
              "cn",
              "hk",
              "tw",
              "sg",
              "my",
              "th",
              "id",
              "ph",
              "vn",
              "in",
              "br",
              "mx",
              "ar",
              "cl",
              "co",
              "pe",
              "za",
              "eg",
              "il",
              "ae",
              "sa",
              "ru",
              "ua"
            ],
            "type": "string",
            "description": "App Store storefront to pull from. Affects price, currency, availability, ranking, and the language of reviews.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en-US",
              "en-GB",
              "nl-NL",
              "de-DE",
              "fr-FR",
              "es-ES",
              "it-IT",
              "pt-PT",
              "pt-BR",
              "pl-PL",
              "cs-CZ",
              "da-DK",
              "sv-SE",
              "nb-NO",
              "fi-FI",
              "el-GR",
              "tr-TR",
              "ar-SA",
              "he-IL",
              "ja-JP",
              "ko-KR",
              "zh-Hans-CN",
              "zh-Hant-TW",
              "th-TH",
              "vi-VN",
              "id-ID",
              "ms-MY",
              "hi-IN",
              "ru-RU",
              "uk-UA",
              "ro-RO",
              "hu-HU"
            ],
            "type": "string",
            "description": "Language used for localized titles, descriptions, and category names.",
            "default": "en-US"
          },
          "maxResultsPerQuery": {
            "title": "Max Results per Search Term",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of apps to collect per search term. Set to 0 for as many as Apple returns. Note: the App Store caps keyword search at 200 results per term — to gather more apps, use more specific terms. Ignored for direct URL/ID lookups (those always return one record each).",
            "default": 50
          },
          "includeReviews": {
            "title": "Include Customer Reviews",
            "type": "boolean",
            "description": "For each app found, also collect its customer reviews. Reviews are added as separate rows linked to the app by App ID. This adds extra work per app, so it is slower and costs more.",
            "default": false
          },
          "maxReviewsPerApp": {
            "title": "Max Reviews per App",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of reviews to collect per app when reviews are enabled. Set to 0 for as many as possible. Note: the App Store provides at most about 500 reviews per app per country.",
            "default": 100
          },
          "reviewsSort": {
            "title": "Sort Reviews By",
            "enum": [
              "mostRecent",
              "mostHelpful"
            ],
            "type": "string",
            "description": "Order in which reviews are collected. Only used when reviews are enabled.",
            "default": "mostRecent"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}