{
  "openapi": "3.0.1",
  "info": {
    "title": "Apple App Store Scraper",
    "description": "Scrape Apple App Store apps by keyword, App ID, bundle ID, developer or URL: ratings, prices, versions, release notes, screenshots, genres and sizes, plus optional reviews and similar apps from 115 country stores.",
    "version": "1.0",
    "x-build-id": "GJQjacTE7o4MCOkkT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parsebird~app-store-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parsebird-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/parsebird~app-store-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parsebird-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/parsebird~app-store-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parsebird-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": {
          "term": {
            "title": "Search keyword",
            "type": "string",
            "description": "Enter a keyword to search the App Store, e.g. <code>photo editor</code>. Results come in Apple's own ranking order, up to about 250 apps per keyword."
          },
          "startUrls": {
            "title": "App Store URLs",
            "type": "array",
            "description": "Add App Store app pages (<code>apps.apple.com/us/app/instagram/id389801252</code>) or developer pages (<code>apps.apple.com/us/developer/meta-platforms-inc/id284882218</code>). The store country in the URL is used for that lookup.",
            "items": {
              "type": "string"
            }
          },
          "appIds": {
            "title": "App IDs",
            "type": "array",
            "description": "Add numeric App Store IDs, the digits after <code>id</code> in an app URL (e.g. <code>389801252</code> for Instagram).",
            "items": {
              "type": "string"
            }
          },
          "bundleIds": {
            "title": "Bundle IDs",
            "type": "array",
            "description": "Add bundle identifiers, e.g. <code>com.burbn.instagram</code>.",
            "items": {
              "type": "string"
            }
          },
          "developerIds": {
            "title": "Developer IDs",
            "type": "array",
            "description": "Add numeric developer IDs (the digits after <code>id</code> in a developer URL). Returns every app the developer publishes in the chosen store (up to 200 per developer).",
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "lookup"
            ],
            "type": "string",
            "description": "Optional. <b>Search</b> uses only the keyword; <b>Lookup</b> uses only IDs and URLs. Leave empty to run everything you entered."
          },
          "country": {
            "title": "Store country",
            "enum": [
              "us",
              "dz",
              "ao",
              "ai",
              "ar",
              "am",
              "au",
              "at",
              "az",
              "bh",
              "bb",
              "by",
              "be",
              "bz",
              "bm",
              "bo",
              "bw",
              "br",
              "vg",
              "bn",
              "bg",
              "ca",
              "ky",
              "cl",
              "cn",
              "co",
              "cr",
              "hr",
              "cy",
              "cz",
              "dk",
              "dm",
              "ec",
              "eg",
              "sv",
              "ee",
              "fi",
              "fr",
              "de",
              "gh",
              "gr",
              "gd",
              "gt",
              "gy",
              "hn",
              "hk",
              "hu",
              "is",
              "in",
              "id",
              "ie",
              "il",
              "it",
              "jm",
              "jp",
              "jo",
              "ke",
              "kw",
              "lv",
              "lb",
              "lt",
              "lu",
              "mo",
              "mg",
              "my",
              "ml",
              "mt",
              "mu",
              "mx",
              "ms",
              "np",
              "nl",
              "nz",
              "ni",
              "ne",
              "ng",
              "mk",
              "no",
              "om",
              "pk",
              "pa",
              "py",
              "pe",
              "ph",
              "pl",
              "pt",
              "qa",
              "ro",
              "ru",
              "sa",
              "sn",
              "sg",
              "sk",
              "si",
              "za",
              "kr",
              "es",
              "lk",
              "sr",
              "se",
              "ch",
              "tw",
              "tz",
              "th",
              "tn",
              "tr",
              "ug",
              "ua",
              "ae",
              "gb",
              "uy",
              "uz",
              "ve",
              "vn",
              "ye"
            ],
            "type": "string",
            "description": "App Store storefront to read prices, rankings, ratings and reviews from.",
            "default": "us"
          },
          "lang": {
            "title": "Language",
            "type": "string",
            "description": "Optional language for app names, descriptions and genres, e.g. <code>en</code>, <code>es</code>, <code>fr-CA</code> or <code>pt-BR</code>. Works when the store offers that language; otherwise the store's default language is used."
          },
          "page": {
            "title": "First search page",
            "minimum": 1,
            "type": "integer",
            "description": "Search results page to start from. Each page holds up to 50 apps.",
            "default": 1
          },
          "endPage": {
            "title": "Last page",
            "minimum": 1,
            "type": "integer",
            "description": "Last search results page to request. When reviews are on, it also caps the number of review pages per app (20 reviews per page). Leave empty to page until results run out or <b>Max apps</b> is reached."
          },
          "maxItems": {
            "title": "Max apps",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of apps to save in this run (across search and lookups). Leave empty for no limit."
          },
          "includeReviews": {
            "title": "Include reviews",
            "type": "boolean",
            "description": "Fetch customer reviews for every app and attach them in the <code>reviews</code> array. Billed per page of 20 reviews.",
            "default": false
          },
          "reviewsSort": {
            "title": "Review sort order",
            "enum": [
              "mostRecent",
              "mostHelpful",
              "mostFavorable",
              "mostCritical"
            ],
            "type": "string",
            "description": "Order of the reviews. Only used when <b>Include reviews</b> is on.",
            "default": "mostRecent"
          },
          "includeSimilarApps": {
            "title": "Include similar apps",
            "type": "boolean",
            "description": "Fetch the app's \"You Might Also Like\" list and attach it in the <code>similarApps</code> array.",
            "default": false
          },
          "customMapFunction": {
            "title": "Custom map function",
            "type": "string",
            "description": "Optional JavaScript function applied to each app before it is saved, e.g. <code>(app) => ({ name: app.trackName, rating: app.averageUserRating })</code>. It must be a plain synchronous function that returns an object. Functions containing <code>new Date</code>, <code>Date.now</code> or <code>1970</code> are rejected. If it fails, the original item is saved."
          },
          "outputConnector": {
            "title": "Send results to Notion, Todoist, …",
            "type": "string",
            "description": "Optional MCP connector to deliver the results to. Authorize it first in Apify Console → Settings → API & Integrations → MCP connectors."
          },
          "deliverTarget": {
            "title": "Destination target",
            "type": "string",
            "description": "URL or ID of where the connector writes. Notion: a page URL (a typed database is created for you) or an existing database URL. Todoist: a project URL or ID. Some services need none."
          },
          "deliverMode": {
            "title": "Write mode",
            "enum": [
              "perPost",
              "summary"
            ],
            "type": "string",
            "description": "perPost writes one record per app; summary writes a single roll-up for the run.",
            "default": "perPost"
          },
          "deliverMaxItems": {
            "title": "Max records to deliver",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap on how many records perPost delivers (ignored in summary mode)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}