{
  "openapi": "3.0.1",
  "info": {
    "title": "Mobile App Intelligence API - Downloads, Revenue, Ranks",
    "description": "App Store and Google Play data as rows: app metadata, modelled download and revenue estimates by country and day, top chart positions, store reviews and daily, weekly and monthly active users. Read one app, a publisher's whole catalogue or a whole chart. Bring your own key.",
    "version": "0.1",
    "x-build-id": "4iWcAtc4arD3FkI2G"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~mobile-app-intelligence-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-mobile-app-intelligence-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~mobile-app-intelligence-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-mobile-app-intelligence-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~mobile-app-intelligence-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-mobile-app-intelligence-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": [
              "apps",
              "publisher",
              "estimates",
              "ranking",
              "reviews",
              "activeUsers"
            ],
            "type": "string",
            "description": "A run answers one question. Apps returns store metadata for identifiers you already have. Publisher returns everything one publisher has shipped. Estimates returns modelled downloads and revenue. Ranking returns a store chart on a day. Reviews returns store reviews. Active users returns modelled user counts. Fields belonging to another mode are ignored rather than causing an error.",
            "default": "apps"
          },
          "apiKey": {
            "title": "API token",
            "type": "string",
            "description": "Your own account's API token for this provider, issued from your account settings. Bring your own key: nothing is shared between runs and the token is never written to the dataset or the log."
          },
          "platform": {
            "title": "Platform",
            "enum": [
              "ios",
              "android",
              "unified"
            ],
            "type": "string",
            "description": "Which store to read. Unified joins an iOS app and its Android twin under one identifier, so unified mode takes the provider's own unified ids rather than store ids.",
            "default": "ios"
          },
          "appIds": {
            "title": "Apps",
            "type": "array",
            "description": "Apps to read, one per line. An App Store numeric id such as 284882215, a Google Play package name such as com.facebook.katana, or a store listing URL that carries one. Used by the apps, estimates, reviews and active users modes.",
            "items": {
              "type": "string"
            }
          },
          "publisherId": {
            "title": "Publisher",
            "type": "string",
            "description": "The publisher to read in publisher mode. A numeric id on the App Store, a developer name on Google Play, or the provider's own unified publisher id."
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two letter country codes, one per line, such as US or GB. Estimates and active users accept several and WW for worldwide. Ranking and reviews use the first one only. Leave empty for worldwide.",
            "items": {
              "type": "string"
            }
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "First day to cover, as YYYY-MM-DD. Used by estimates, reviews and active users. 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 estimates, reviews and active users, and it is also the day a ranking chart is read for. Defaults to yesterday."
          },
          "dateGranularity": {
            "title": "Estimate buckets",
            "enum": [
              "daily",
              "weekly",
              "monthly",
              "quarterly"
            ],
            "type": "string",
            "description": "How download and revenue estimates are bucketed in estimates mode. Daily gives one row per app, country and day, which is the most detail and the most rows.",
            "default": "daily"
          },
          "timePeriod": {
            "title": "Active user buckets",
            "enum": [
              "day",
              "week",
              "month"
            ],
            "type": "string",
            "description": "How active user counts are bucketed in active users mode.",
            "default": "month"
          },
          "category": {
            "title": "Store category",
            "type": "string",
            "description": "The category to chart in ranking mode. A number such as 6005 on the App Store, or a name such as GAME_ACTION on Google Play. Passing one store's vocabulary to the other returns nothing rather than an error."
          },
          "chartType": {
            "title": "Chart type",
            "type": "string",
            "description": "Which chart to read in ranking mode. The App Store names are topfreeapplications, toppaidapplications and topgrossingapplications. Google Play uses topselling_free, topselling_paid and topgrossing."
          },
          "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 estimate run produces one row per app, country and day, which adds up quickly, 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}