{
  "openapi": "3.0.1",
  "info": {
    "title": "App Store Data API - Search, Sales, Ratings, Reviews",
    "description": "Search the App Store, Google Play, Amazon Appstore and Microsoft Store by app name or developer, look up any app by its store id or listing URL, and read sales, rating history, category ranks and reviews for the apps your account has connected. Bring your own key.",
    "version": "0.1",
    "x-build-id": "XEoXAYxfVaKdaKT7u"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~app-store-data-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-app-store-data-api",
        "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/nabeelbaghoor~app-store-data-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-app-store-data-api",
        "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/nabeelbaghoor~app-store-data-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-app-store-data-api",
        "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": {
          "mode": {
            "title": "What this run does",
            "enum": [
              "search",
              "products",
              "sales",
              "ratings",
              "ranks",
              "reviews"
            ],
            "type": "string",
            "description": "A run answers one question. Search and products describe any app in the stores. Sales, ratings, ranks and reviews describe the products your own account has connected, and come back empty for apps that are not linked to it. Fields belonging to another mode are ignored rather than causing an error.",
            "default": "search"
          },
          "apiKey": {
            "title": "Personal access token",
            "type": "string",
            "description": "Your own account's personal access token for this provider, issued from an API client in your account settings. Bring your own key: nothing is shared between runs and the token is never written to the dataset or the log."
          },
          "clientKey": {
            "title": "Client key",
            "type": "string",
            "description": "The API client key, for accounts whose setup requires it alongside the token. Most personal access tokens work without it, so leave it empty unless the provider told you otherwise."
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Terms to search the stores for, one per line, matched against app names. Prefix a term with @developer= to search by developer instead, for example @developer=angry.",
            "items": {
              "type": "string"
            }
          },
          "products": {
            "title": "Apps",
            "type": "array",
            "description": "Apps to read, one per line. A store id such as 284882215, a Google Play package name, one of the provider's own product ids, or a store listing URL that carries one. Also narrows a sales, ratings, ranks or reviews report to these apps.",
            "items": {
              "type": "string"
            }
          },
          "store": {
            "title": "Store",
            "enum": [
              "",
              "apple",
              "google",
              "amazon",
              "microsoft"
            ],
            "type": "string",
            "description": "Which store an app identifier belongs to, used when looking an app up by its store id and to narrow a search. Leave empty to look up by the provider's own product id and to search every store.",
            "default": ""
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "First day to cover, as YYYY-MM-DD. Used by the sales, ratings, ranks and reviews modes. Defaults to 30 days before the end date."
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Last day to cover, as YYYY-MM-DD. Used by the sales, ratings, ranks and reviews modes. Defaults to yesterday."
          },
          "granularity": {
            "title": "Report buckets",
            "enum": [
              "daily",
              "weekly",
              "monthly",
              "yearly"
            ],
            "type": "string",
            "description": "How a report is bucketed in time. Daily gives one row per app per day, which is the most detail and the most rows.",
            "default": "daily"
          },
          "groupBy": {
            "title": "Break the report down by",
            "type": "array",
            "description": "Extra breakdowns for a report. Product and date are always included, because a row without them is a total rather than a row. Adding country or store multiplies the number of rows.",
            "items": {
              "type": "string",
              "enum": [
                "country",
                "store"
              ]
            },
            "default": []
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two letter country codes to limit a report or a review run to, one per line, such as US or GB. Leave empty for every country.",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Review language",
            "type": "string",
            "description": "Translate or filter reviews to one language, as a two letter code such as en. Leave empty to take reviews in whatever language they were written in."
          },
          "maxResults": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most rows this run may store, and so the most it can charge for. A daily sales report broken down by country produces a row per app, per country, per day, so this is the cap that keeps a run predictable.",
            "default": 100
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "How fast this run calls the provider. Lower it if your plan is rate limited more tightly than the default.",
            "default": 120
          },
          "baseUrl": {
            "title": "API base URL",
            "type": "string",
            "description": "Overrides the API host. Only needed if the provider has given your account a different endpoint."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}