{
  "openapi": "3.0.1",
  "info": {
    "title": "ASO Keyword Rank Tracker: App Store & Google Play",
    "description": "Track where apps rank for any keyword on the App Store and Google Play in 57 countries, and do ASO keyword research with each store's own keyword suggestions (autocomplete). Top results in store order, the rank of every app you track, and Google Play read in each country's language.",
    "version": "0.1",
    "x-build-id": "YF1rv2yBWROeOqZPq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/glitchbound~aso-keyword-rank-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-glitchbound-aso-keyword-rank-tracker",
        "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/glitchbound~aso-keyword-rank-tracker/runs": {
      "post": {
        "operationId": "runs-sync-glitchbound-aso-keyword-rank-tracker",
        "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/glitchbound~aso-keyword-rank-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-glitchbound-aso-keyword-rank-tracker",
        "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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Search terms, one per line, exactly as a user would type them in the store. Up to 100 per run.",
            "items": {
              "type": "string"
            }
          },
          "stores": {
            "title": "Stores",
            "type": "array",
            "description": "Which stores to search. App Store ranks are exact for the top positions the store's own page shows (9 to 14, depending on the country) and continue in Apple's API order below that; Google Play ranks are exact to 30, which is all its search page lists.",
            "items": {
              "type": "string",
              "enum": [
                "app-store",
                "google-play"
              ],
              "enumTitles": [
                "App Store (iPhone)",
                "Google Play"
              ]
            },
            "default": [
              "app-store",
              "google-play"
            ]
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Storefronts to search in. Every country listed was checked against Google Play's own answer.",
            "items": {
              "type": "string",
              "enum": [
                "us",
                "gb",
                "ca",
                "au",
                "in",
                "de",
                "fr",
                "es",
                "it",
                "nl",
                "se",
                "no",
                "dk",
                "fi",
                "pl",
                "pt",
                "ie",
                "at",
                "ch",
                "be",
                "cz",
                "ro",
                "hu",
                "gr",
                "tr",
                "sa",
                "ae",
                "eg",
                "za",
                "ng",
                "ke",
                "br",
                "mx",
                "ar",
                "co",
                "cl",
                "pe",
                "jp",
                "kr",
                "tw",
                "hk",
                "sg",
                "my",
                "th",
                "vn",
                "ph",
                "id",
                "nz",
                "ru",
                "ua",
                "kz",
                "pk",
                "bd",
                "lk",
                "qa",
                "kw",
                "ma"
              ],
              "enumTitles": [
                "United States (us)",
                "United Kingdom (gb)",
                "Canada (ca)",
                "Australia (au)",
                "India (in)",
                "Germany (de)",
                "France (fr)",
                "Spain (es)",
                "Italy (it)",
                "Netherlands (nl)",
                "Sweden (se)",
                "Norway (no)",
                "Denmark (dk)",
                "Finland (fi)",
                "Poland (pl)",
                "Portugal (pt)",
                "Ireland (ie)",
                "Austria (at)",
                "Switzerland (ch)",
                "Belgium (be)",
                "Czechia (cz)",
                "Romania (ro)",
                "Hungary (hu)",
                "Greece (gr)",
                "Turkey (tr)",
                "Saudi Arabia (sa)",
                "United Arab Emirates (ae)",
                "Egypt (eg)",
                "South Africa (za)",
                "Nigeria (ng)",
                "Kenya (ke)",
                "Brazil (br)",
                "Mexico (mx)",
                "Argentina (ar)",
                "Colombia (co)",
                "Chile (cl)",
                "Peru (pe)",
                "Japan (jp)",
                "South Korea (kr)",
                "Taiwan (tw)",
                "Hong Kong (hk)",
                "Singapore (sg)",
                "Malaysia (my)",
                "Thailand (th)",
                "Vietnam (vn)",
                "Philippines (ph)",
                "Indonesia (id)",
                "New Zealand (nz)",
                "Russia (ru)",
                "Ukraine (ua)",
                "Kazakhstan (kz)",
                "Pakistan (pk)",
                "Bangladesh (bd)",
                "Sri Lanka (lk)",
                "Qatar (qa)",
                "Kuwait (kw)",
                "Morocco (ma)"
              ]
            },
            "default": [
              "us"
            ]
          },
          "language": {
            "title": "Google Play language (optional)",
            "pattern": "^([a-z]{2,3}(-([A-Z]{2}|[0-9]{3}))?)?$",
            "type": "string",
            "description": "Leave empty to read each country in the language its phones use (German in Germany, pt-BR in Brazil), which is what decides the ranking there: in Germany only 1 of the top 10 for \"vpn\" held its position when read in English. Set a code such as en to read every country in that language instead. The App Store always answers in its storefront's own language."
          },
          "trackApps": {
            "title": "Apps to track",
            "type": "array",
            "description": "Apps whose rank you want for every keyword: an App Store numeric id (571800810), an App Store bundle id, or a Google Play package name (com.calm.android). Each returns one row per keyword, store and country, with its rank or 'not-in-top-N'. On the App Store a tracked app is looked for in the top 200.",
            "items": {
              "type": "string"
            }
          },
          "topN": {
            "title": "Top results per search",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "How many of the top apps to return for each keyword, store and country. Set 0 to return only your tracked apps.",
            "default": 10
          },
          "includeSuggestions": {
            "title": "Keyword ideas (store suggestions)",
            "type": "boolean",
            "description": "Also return what each store suggests while the keyword is being typed, in the store's own order: the phrases real users are steered to. One row per suggestion, charged like any row. App Store suggestions are available in 56 of the 57 countries (not Bangladesh).",
            "default": false
          },
          "maxItems": {
            "title": "Maximum results (whole run)",
            "minimum": 0,
            "type": "integer",
            "description": "A hard ceiling on rows for the entire run. The run stops cleanly when it is reached and nothing beyond that point is fetched or charged. Leave empty for no ceiling."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy settings.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}