{
  "info": {
    "title": "APPlyzer DATA API",
    "version": "1.0",
    "description": "This is a detailed description of the API",
    "pricing": "https://applyzer.com/pricing/",
    "contact": {
      "name": "APPlyzer API Support",
      "email": "feedback@applyzer.com"
    },
    "x-logo": {
      "url": "https://assets-global.website-files.com/64e7400a9ed5143b5352bd90/64ef62c55b42f90e9de7824d_APPlyzer%20logo_Classic_blue.png",
      "backgroundColor": "#FFFFFF",
      "altText": "APPlyzer logo"
    }
  },
  "paths": {
    "/data/workspace/tag/keywords/list": {
      "post": {
        "summary": "List Keywords in Workspace Tag by Country and Market",
        "description": "This endpoint returns all keywords in a workspace tag filtered by country and market.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "Keywords data organized by market and country",
                  "items": {
                    "type": "object",
                    "properties": {
                      "market": {
                        "type": "string",
                        "description": "Market name (IOS or PLAY)"
                      },
                      "countries": {
                        "type": "array",
                        "description": "Countries data",
                        "items": {
                          "type": "object",
                          "properties": {
                            "country": {
                              "type": "string",
                              "description": "Country code"
                            },
                            "keywords": {
                              "type": "array",
                              "description": "Keywords in this country",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "description": "Keyword ID"
                                  },
                                  "text": {
                                    "type": "string",
                                    "description": "Keyword text"
                                  },
                                  "group": {
                                    "type": "array",
                                    "description": "Keyword groups",
                                    "items": {
                                      "type": "string"
                                    }
                                  },
                                  "added": {
                                    "type": "string",
                                    "description": "Date when keyword was added"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Tag not found"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to list keywords from"
                },
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "Filter by market (optional)"
                },
                "country": {
                  "type": "string",
                  "description": "Filter by country code (optional)"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/keywords/list'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\"}'"
          }
        ]
      }
    },
    "/data/workspace/tag/keyword/delete": {
      "post": {
        "summary": "Delete Keywords from Workspace Tag",
        "description": "This endpoint removes keywords from a workspace tag for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message (e.g., keywords added recently cannot be deleted for free users)"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Error during deletion",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Error message"
                },
                "response": {
                  "type": "object",
                  "description": "Current data state"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug",
                "market",
                "country",
                "keywords"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to remove keywords from"
                },
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "Market type (IOS or PLAY)"
                },
                "country": {
                  "type": "string",
                  "description": "Country code (e.g., US, GB)"
                },
                "keywords": {
                  "type": "array",
                  "description": "Array of keyword texts to remove",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/keyword/delete'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\", \"market\": \"IOS\", \"country\": \"\", \"keywords\": []}'"
          }
        ]
      }
    },
    "/data/workspace/tag/keyword/add": {
      "post": {
        "summary": "Add Keywords to Workspace Tag",
        "description": "This endpoint adds keywords to a workspace tag for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "Array of newly added keywords",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "402": {
            "description": "Payment required",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Error message when keywords add is not allowed"
                },
                "response": {
                  "type": "object",
                  "description": "Details about why the operation is not allowed"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug",
                "market",
                "country",
                "keywords"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to add keywords to"
                },
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "Market type (IOS or PLAY)"
                },
                "country": {
                  "type": "string",
                  "description": "Country code (e.g., US, GB)"
                },
                "keywords": {
                  "type": "array",
                  "description": "Array of keyword strings to add",
                  "items": {
                    "type": "string"
                  }
                },
                "group": {
                  "type": "array",
                  "default": [
                    "generic"
                  ],
                  "description": "Keyword groups (optional, defaults to ['generic']). A single group string is also accepted.",
                  "items": {
                    "type": "string"
                  }
                },
                "device": {
                  "type": "string",
                  "description": "Device type (optional)"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/keyword/add'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\", \"market\": \"IOS\", \"country\": \"\", \"keywords\": []}'"
          }
        ]
      }
    },
    "/data/workspace/tag/apps/list": {
      "post": {
        "summary": "List Apps in Workspace Tag",
        "description": "This endpoint returns all apps in a workspace tag for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "Apps data with metadata",
                  "properties": {
                    "myapps": {
                      "type": "array",
                      "description": "List of user's apps",
                      "items": {
                        "type": "string"
                      }
                    },
                    "competitorapps": {
                      "type": "array",
                      "description": "List of competitor apps",
                      "items": {
                        "type": "string"
                      }
                    },
                    "metadata": {
                      "type": "object",
                      "description": "App details metadata"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Tag not found"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to list apps from"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/apps/list'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\"}'"
          }
        ]
      }
    },
    "/data/workspace/tag/app/delete": {
      "post": {
        "summary": "Delete Apps from Workspace Tag",
        "description": "This endpoint removes apps from a workspace tag for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "Remaining apps after deletion",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "App type not found"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug",
                "apps",
                "apptype"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to remove apps from"
                },
                "apps": {
                  "type": "array",
                  "description": "Array of app IDs to remove (use \"all\" to remove all apps)",
                  "items": {
                    "type": "string"
                  }
                },
                "apptype": {
                  "type": "string",
                  "enum": [
                    "myapps",
                    "competitorapps"
                  ],
                  "description": "Type of apps (myapps or competitorapps)"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/app/delete'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\", \"apps\": [], \"apptype\": \"myapps\"}'"
          }
        ]
      }
    },
    "/data/workspace/tag/app/add": {
      "post": {
        "summary": "Add Apps to Workspace Tag",
        "description": "This endpoint adds apps to a workspace tag for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "App type not found"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug",
                "apps",
                "apptype"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to add apps to"
                },
                "apps": {
                  "type": "array",
                  "description": "Array of app IDs to add",
                  "items": {
                    "type": "string"
                  }
                },
                "apptype": {
                  "type": "string",
                  "enum": [
                    "myapps",
                    "competitorapps"
                  ],
                  "description": "Type of apps (myapps or competitorapps)"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/app/add'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\", \"apps\": [], \"apptype\": \"myapps\"}'"
          }
        ]
      }
    },
    "/data/app/history/download/estimations": {
      "post": {
        "summary": "App History Download Estimations",
        "description": "This endpoint returns download estimate for any app over any timeframe. You need to provide the app/bundle ID, store and country. In the response, for days without rankings, returns null values.<br/>\n\nCredit Cost: 10\n\nCredits per extra day: 10",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of ranking history entries with download estimations",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string",
                        "description": "Date of the estimation (format YYYY-MM-DD)"
                      },
                      "est_downloads_mid": {
                        "type": "integer",
                        "description": "Estimated daily downloads (null if no ranking data available for that day)"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Out of date range or bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "app",
                "startdate",
                "enddate",
                "countrycodes"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "enum": [
                    "iphone",
                    "ipad",
                    "mac",
                    "play"
                  ],
                  "description": "play / iphone / ipad / mac"
                },
                "app": {
                  "type": "string",
                  "description": "For Android apps this is the package ID like com.example.app. On iOS this is the numeric app ID such as 123456789"
                },
                "startdate": {
                  "type": "string",
                  "description": "SQL Date when to start the ranking history (format YYYY-MM-DD)"
                },
                "enddate": {
                  "type": "string",
                  "description": "SQL Date when to end the ranking history (format YYYY-MM-DD)"
                },
                "countrycodes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Use this to specify countries to look up. Country code follows the ISO 3166-1 Alpha-2 standard in uppercase"
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 10,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/history/download/estimations'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"iphone\", \"app\": \"\", \"startdate\": \"\", \"enddate\": \"\", \"countrycodes\": []}'"
          }
        ]
      }
    },
    "/data/workspace/tag/create": {
      "post": {
        "summary": "Create Workspace Tag",
        "description": "This endpoint creates a new workspace tag for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The created workspace details",
                  "properties": {
                    "Name": {
                      "type": "string",
                      "description": "The name of the created workspace"
                    },
                    "slug": {
                      "type": "string",
                      "description": "The slug of the created workspace"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagname"
              ],
              "properties": {
                "tagname": {
                  "type": "string",
                  "description": "The name of the workspace to create"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/create'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagname\": \"\"}'"
          }
        ]
      }
    },
    "/data/workspace/tag/delete": {
      "post": {
        "summary": "Delete Workspace Tag",
        "description": "This endpoint deletes a workspace tag for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message (e.g., tags added recently cannot be deleted for free users)"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to delete"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/delete'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\"}'"
          }
        ]
      }
    },
    "/data/workspace/tag/detail": {
      "post": {
        "summary": "Get Workspace Tag Details",
        "description": "This endpoint returns complete details of a workspace tag including apps and keywords.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "Complete tag details",
                  "properties": {
                    "keywords": {
                      "type": "array",
                      "description": "Keywords data organized by market and country"
                    },
                    "apps": {
                      "type": "object",
                      "description": "Apps data with metadata",
                      "properties": {
                        "myapps": {
                          "type": "array",
                          "description": "List of user's apps"
                        },
                        "competitorapps": {
                          "type": "array",
                          "description": "List of competitor apps"
                        },
                        "metadata": {
                          "type": "object",
                          "description": "App details metadata"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Tag not found"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "tagslug"
              ],
              "properties": {
                "tagslug": {
                  "type": "string",
                  "description": "The slug of the tag to get details for"
                }
              }
            }
          }
        ],
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/detail'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"tagslug\": \"\"}'"
          }
        ]
      }
    },
    "/data/workspace/tag/list": {
      "get": {
        "summary": "List Workspace Tags",
        "description": "This endpoint returns a list of all workspace tags for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of workspace tags",
                  "items": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "The name of the tag"
                      },
                      "slug": {
                        "type": "string",
                        "description": "The slug of the tag"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X GET 'https://data.applyzer.com/data/workspace/tag/list'\\\n  -H 'Authorization: Bearer <token>'"
          }
        ]
      },
      "post": {
        "summary": "List Workspace Tags",
        "description": "This endpoint returns a list of all workspace tags for the authenticated user.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of workspace tags",
                  "items": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "description": "The name of the tag"
                      },
                      "slug": {
                        "type": "string",
                        "description": "The slug of the tag"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Not enough credits or unauthorized"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "tags": [
          "Workspace"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/workspace/tag/list'\\\n  -H 'Authorization: Bearer <token>'"
          }
        ]
      }
    },
    "/data/keyword/searchscore/history": {
      "post": {
        "summary": "Keyword Search Score History",
        "description": "This endpoint allows you to get the search score and maximum estimated impressions history for a keyword.<br/>\n\nCredit Cost: 5\n\nCredits per extra day: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "date": {
                      "type": "string",
                      "description": "The date of the result (YYYY-MM-DD)"
                    },
                    "score": {
                      "type": "integer",
                      "description": "The score of keyword on that date"
                    },
                    "impressions": {
                      "type": "integer",
                      "description": "The number of impressions for the keyword on that date"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "keyword",
                "language",
                "market",
                "startdate",
                "enddate"
              ],
              "properties": {
                "keyword": {
                  "type": "string",
                  "description": "search term"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard"
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                },
                "startdate": {
                  "type": "string",
                  "description": "Start date for the rank history (YYYY-MM-DD)"
                },
                "enddate": {
                  "type": "string",
                  "description": "End date for the rank history (YYYY-MM-DD)"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/searchscore/history'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"keyword\": \"\", \"language\": \"\", \"market\": \"\", \"startdate\": \"\", \"enddate\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/rank/history": {
      "post": {
        "summary": "Keyword App Rank History",
        "description": "This endpoint allows you to get the historical keyword rankings for any app & keyword.<br/>\n\nCredit Cost: 10\n\nCredits per extra keyword: 10",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "date": {
                      "type": "string",
                      "description": "The date of the result (YYYY-MM-DD)"
                    },
                    "rank": {
                      "type": "integer",
                      "description": "The rank of the app for the keyword on that date. If 0 the app did not rank for that keyword on that date. If -1 the keyword was not being actively tracked on that day and the data simply isn't available."
                    },
                    "totalresults": {
                      "type": "integer",
                      "description": "Total number of results tracked for the keyword on that date"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "keyword",
                "language",
                "market",
                "app",
                "startdate",
                "enddate"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "play / iphone / ipad / mac"
                },
                "keyword": {
                  "type": "string",
                  "description": "search term"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard"
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                },
                "app": {
                  "type": "string",
                  "description": "For Android apps this is the package ID like com.example.app. On iOS this is the numeric app ID such as 123456789"
                },
                "startdate": {
                  "type": "string",
                  "description": "Start date for the rank history (YYYY-MM-DD)"
                },
                "enddate": {
                  "type": "string",
                  "description": "End date for the rank history (YYYY-MM-DD)"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 10,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/rank/history'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"\", \"keyword\": \"\", \"language\": \"\", \"market\": \"\", \"app\": \"\", \"startdate\": \"\", \"enddate\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/apps/history": {
      "post": {
        "summary": "Keyword Ranked Apps History",
        "description": "Return ALL apps ranking for a keyword per date (and store) over a date<br/>range. Unlike /data/keyword/rank/history (which returns a single app's rank),<br/>this returns the full ranked app list captured for the keyword each day.<br/>\n\nCredit Cost: 20",
        "responses": {
          "200": {
            "description": "Successful operation. `response.data` is keyed by date (YYYY-MM-DD); each value is the ranked list of app ids for that day, ordered by rank (index 0 = rank 1). `totals` holds the full number of ranked apps per day before `ranklimit` is applied, so it can exceed the length of the matching `data` list. `searchscore` and `impressions` are keyed by the same dates; a day only appears there if a search score was recorded, and `impressions` is null when the score has no impressions lookup entry for that store. If the keyword is not in the library the request still returns 200 with an empty `data` object and no `totals`/`searchscore`/`impressions`.\n",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "OK"
                },
                "response": {
                  "type": "object",
                  "properties": {
                    "keyword": {
                      "type": "string",
                      "description": "The keyword, lowercased and trimmed.",
                      "example": "photo editor"
                    },
                    "device": {
                      "type": "string",
                      "example": "iphone"
                    },
                    "market": {
                      "type": "string",
                      "example": "IOS"
                    },
                    "data": {
                      "type": "object",
                      "description": "Date (YYYY-MM-DD) -> app ids ordered by rank (index 0 = rank 1).",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "example": {
                        "2025-01-01": [
                          "389801252",
                          "1094591345",
                          "302584613"
                        ],
                        "2025-01-02": [
                          "1094591345",
                          "389801252",
                          "302584613"
                        ]
                      }
                    },
                    "totals": {
                      "type": "object",
                      "description": "Date -> total apps that ranked for the keyword that day (before ranklimit).",
                      "additionalProperties": {
                        "type": "integer"
                      },
                      "example": {
                        "2025-01-01": 200,
                        "2025-01-02": 198
                      }
                    },
                    "searchscore": {
                      "type": "object",
                      "description": "Date -> search (traffic) score of the keyword for that store.",
                      "additionalProperties": {
                        "type": "integer"
                      },
                      "example": {
                        "2025-01-01": 45,
                        "2025-01-02": 46
                      }
                    },
                    "impressions": {
                      "type": "object",
                      "description": "Date -> estimated impressions the search score maps to (null when unknown).",
                      "additionalProperties": {
                        "type": "integer"
                      },
                      "example": {
                        "2025-01-01": 12000,
                        "2025-01-02": 12500
                      }
                    }
                  }
                }
              }
            },
            "examples": {
              "application/json": {
                "message": "OK",
                "response": {
                  "keyword": "photo editor",
                  "device": "iphone",
                  "market": "IOS",
                  "data": {
                    "2025-01-01": [
                      "389801252",
                      "1094591345",
                      "302584613"
                    ]
                  },
                  "totals": {
                    "2025-01-01": 200
                  },
                  "searchscore": {
                    "2025-01-01": 45
                  },
                  "impressions": {
                    "2025-01-01": 12000
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid parameter"
          },
          "404": {
            "description": "No data found"
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "keyword",
                "language",
                "market",
                "startdate",
                "enddate"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "play / iphone / ipad / mac"
                },
                "keyword": {
                  "type": "string",
                  "description": "search term"
                },
                "language": {
                  "type": "string",
                  "description": "locale code such as en-US. The store/country is derived from this (e.g. en-US -> US store)."
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                },
                "startdate": {
                  "type": "string",
                  "description": "Start date (YYYY-MM-DD)"
                },
                "enddate": {
                  "type": "string",
                  "description": "End date (YYYY-MM-DD)"
                },
                "ranklimit": {
                  "type": "integer",
                  "description": "Optional. Only return apps ranked at or above this position."
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 20,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/apps/history'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"\", \"keyword\": \"\", \"language\": \"\", \"market\": \"\", \"startdate\": \"\", \"enddate\": \"\"}'"
          }
        ]
      }
    },
    "/data/tools/image/analyze-multiple": {
      "post": {
        "summary": "Analyze Multiple Images from a list with urls.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "urls": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of publicly accessible URLs of images to analyze."
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Custom prompt for analysis (e.g., \"Compare these images\", \"Find differences\", \"Analyze UI elements\")"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Multiple image descriptions as plain text",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "Combined description of all images generated by the AI."
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Tools"
        ],
        "x-credit-cost": 20,
        "description": "Credit Cost: 20",
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/tools/image/analyze-multiple'\\\n  -H 'Authorization: Bearer <token>'"
          }
        ]
      }
    },
    "/data/tools/image/compare-apps": {
      "post": {
        "summary": "Compare differences between app images from multiple apps.",
        "description": "<br/>Performs comparative analysis of mobile applications based on their images.<br/>Useful for competitive analysis, UX research, and feature comparison.  <br/><br/>\n\nCredit Cost: 100",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "apps": {
                    "type": "object",
                    "description": "App names as keys, arrays of image URLs as values",
                    "example": {
                      "Instagram": [
                        "home.jpg",
                        "profile.jpg"
                      ],
                      "TikTok": [
                        "feed.jpg",
                        "profile.jpg"
                      ]
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Custom analysis focus (optional)",
                    "examples": [
                      "Compare navigation patterns",
                      "Analyze checkout flows",
                      "Focus on social features"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Detailed app comparison analysis",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "AI-generated comparative analysis with insights and recommendations"
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Tools"
        ],
        "x-credit-cost": 100,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/tools/image/compare-apps'\\\n  -H 'Authorization: Bearer <token>'"
          }
        ]
      }
    },
    "/data/tools/image/analyze": {
      "post": {
        "summary": "Analyze single image by url",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "Publicly accessible URL of the image to analyze."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Image description as plain text",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "Description of the image generated by the AI."
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Tools"
        ],
        "x-credit-cost": 20,
        "description": "Credit Cost: 20",
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/tools/image/analyze'\\\n  -H 'Authorization: Bearer <token>'"
          }
        ]
      }
    },
    "/data/app/competitors/find": {
      "post": {
        "summary": "Find App Competitors",
        "description": "<br/>Discover competitor apps for a given app id.<br/><br/>\n\nCredit Cost: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                },
                "response": {
                  "type": "object",
                  "properties": {
                    "competitors": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "total_found": {
                      "type": "integer"
                    },
                    "processing_time": {
                      "type": "number",
                      "format": "float"
                    },
                    "sources_used": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "appid",
                "country"
              ],
              "properties": {
                "appid": {
                  "type": "string",
                  "description": "App id (iOS numeric id or Google Play package name)"
                },
                "country": {
                  "type": "string",
                  "description": "Country code (e.g. US, DE, GB). UK is normalized to GB."
                },
                "device": {
                  "type": "string",
                  "description": "Device (iphone/ipad/mac/play)",
                  "default": "iphone"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of competitors to return",
                  "default": 20
                },
                "days_back": {
                  "type": "integer",
                  "description": "Lookback window in days for keyword snapshot overlap",
                  "default": 7
                },
                "use_store_related": {
                  "type": "boolean",
                  "description": "Add store-related apps when discovery yields few results",
                  "default": true
                },
                "only_store_related": {
                  "type": "boolean",
                  "description": "Skip keyword/category discovery; only use store-related apps",
                  "default": false
                },
                "tagslug": {
                  "type": "string",
                  "description": "Optional tag slug; competitors already in the tag are excluded"
                },
                "skip_enrichment": {
                  "type": "boolean",
                  "description": "Skip Elasticsearch metadata enrichment for faster responses",
                  "default": false
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/competitors/find'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"appid\": \"\", \"country\": \"\"}'"
          }
        ]
      }
    },
    "/data/ads/searchads/populate": {
      "post": {
        "summary": "        Populate iOS Search Ads (ASA)",
        "description": "This endpoint always returns Search Ads data per keyword.<br/>    If cached data exists within `lookbackHours`, it is returned immediately; otherwise the worker runs synchronously and the returned data is included in the response.<br/>\n\nCredit Cost: 10\n\nCredits per extra keyword: 10",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "Array of per-keyword results.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "keyword": {
                        "type": "string"
                      },
                      "ads": {
                        "type": "array",
                        "description": "Apps currently returned as Search Ads.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "title": {
                              "type": "string"
                            },
                            "icon": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "keywords",
                "language"
              ],
              "properties": {
                "keywords": {
                  "type": "array",
                  "description": "List of keywords to populate.",
                  "items": {
                    "type": "string"
                  }
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard."
                },
                "device": {
                  "type": "string",
                  "description": "iphone / ipad / mac (default is iphone)"
                },
                "limitads": {
                  "type": "integer",
                  "description": "Number of Search Ads results to fetch (default is 5, max is 5)"
                },
                "storeData": {
                  "type": "boolean",
                  "description": "If true, store worker output in task storage (default is true)"
                },
                "lookbackHours": {
                  "type": "integer",
                  "description": "Cache lookback window (hours). If cached data exists within this window it will be returned; otherwise the worker runs and data is returned (default is 24)"
                },
                "forceWorker": {
                  "type": "boolean",
                  "description": "If true, bypasses cache and forces a fresh synchronous worker run (default is false)"
                }
              }
            }
          }
        ],
        "tags": [
          "Ads"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 10,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/ads/searchads/populate'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"keywords\": [], \"language\": \"\"}'"
          }
        ]
      }
    },
    "/data/app/ranking/history": {
      "post": {
        "summary": "App Rankings History",
        "description": "This endpoint allows you to get the app history rankings for any app. You must never provide category or market as an input as it's not needed.<br/>\n\nCredit Cost: 5\n\nCredits per extra day: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of ranking history entries",
                  "items": {
                    "type": "object",
                    "properties": {
                      "category": {
                        "type": "string",
                        "description": "Category name"
                      },
                      "categoryid": {
                        "type": "integer",
                        "description": "Category ID"
                      },
                      "countrycode": {
                        "type": "string",
                        "description": "Country code"
                      },
                      "date": {
                        "type": "string",
                        "description": "Date and time of the ranking (format YYYY-MM-DD)"
                      },
                      "rank": {
                        "type": "integer",
                        "description": "Ranking position"
                      },
                      "type": {
                        "type": "string",
                        "description": "Ranking type (e.g., Free, Grossing)"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Out of date range",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "app",
                "startdate",
                "enddate",
                "countrycodes"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "enum": [
                    "iphone",
                    "ipad",
                    "mac",
                    "play"
                  ],
                  "description": "play / iphone / ipad / mac"
                },
                "app": {
                  "type": "string",
                  "description": "For Android apps this is the package ID like com.example.app. On iOS this is the numeric app ID such as 123456789"
                },
                "startdate": {
                  "type": "string",
                  "description": "SQL Date when to start the ranking history (format YYYY-MM-DD)"
                },
                "enddate": {
                  "type": "string",
                  "description": "SQL Date when to end the ranking history (format YYYY-MM-DD)"
                },
                "countrycodes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Use this to specify countries to look up. Country code follows the ISO 3166-1 Alpha-2 standard in uppercase"
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/ranking/history'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"iphone\", \"app\": \"\", \"startdate\": \"\", \"enddate\": \"\", \"countrycodes\": []}'"
          }
        ]
      }
    },
    "/data/app/chart/hourly": {
      "post": {
        "summary": "App Charts Hourly",
        "description": "This endpoint returns hourly ranked apps data grouped by storeid, categoryid, and type.<br/>Returns same structure as rankingWorldchart with an array entry for each hour.<br/>\n\nCredit Cost: 25",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "Array of hourly chart data",
                  "items": {
                    "type": "object",
                    "properties": {
                      "data": {
                        "type": "object",
                        "description": "Chart data by type (free/paid/grossing)"
                      },
                      "date": {
                        "type": "string",
                        "description": "Date and hour of the ranking data (format YYYY-MM-DD HH:00:00)"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "market",
                "storeids",
                "categoryid",
                "type"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "enum": [
                    "iphone",
                    "ipad",
                    "mac",
                    "play"
                  ],
                  "description": "play / iphone / ipad / mac"
                },
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "IOS / PLAY"
                },
                "storeids": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "List of store IDs to query"
                },
                "categoryid": {
                  "type": "integer",
                  "description": "The category id (use POST /data/list/category to get the list)"
                },
                "type": {
                  "type": "string",
                  "description": "free/paid/grossing"
                },
                "limit": {
                  "type": "integer",
                  "description": "The maximum number of results to return per hour (default 1000)"
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 25,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/chart/hourly'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"iphone\", \"market\": \"IOS\", \"storeids\": [], \"categoryid\": 0, \"type\": \"\"}'"
          }
        ]
      }
    },
    "/data/ads/cpp/populate": {
      "post": {
        "summary": "CPP Usage (iOS)",
        "description": "This endpoint analyzes Custom Product Page (CPP) usage for the provided keywords using existing MongoDB snapshots (it does not scrape/populate).<br/>\n\nCredit Cost: 5\n\nCredits per extra keyword: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "Results array. If group_by=keyword each item represents a keyword; if group_by=app each item represents an app.",
                  "items": {
                    "type": "object",
                    "description": "Shape depends on group_by."
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "keywords",
                "language"
              ],
              "properties": {
                "keywords": {
                  "type": "array",
                  "description": "List of keywords to analyze.",
                  "items": {
                    "type": "string"
                  }
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-us'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'us', is a country code following the ISO 3166-1 Alpha-2 standard."
                },
                "device": {
                  "type": "string",
                  "description": "iphone / ipad / mac (default is iphone). Used to select the most relevant CPP screenshot/video previews."
                },
                "days_back": {
                  "type": "integer",
                  "description": "Number of days back to look for CPP snapshots (default is 30)"
                },
                "group_by": {
                  "type": "string",
                  "description": "keyword / app (default is keyword). Response shape depends on this value."
                },
                "source_type": {
                  "type": "string",
                  "description": "both / organic / paid (default is both)"
                },
                "appid": {
                  "type": "string",
                  "description": "Optional iOS app id to filter CPP results to a single app."
                },
                "show_default_pages": {
                  "type": "boolean",
                  "description": "If true, includes default CPP pages in the results (default is false)"
                }
              }
            }
          }
        ],
        "tags": [
          "Ads"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/ads/cpp/populate'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"keywords\": [], \"language\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/multiautosuggestion": {
      "post": {
        "summary": "Multi Keyword Autosuggestion",
        "description": "This endpoint allows you to get autosuggestions for multiple keywords.<br/>\n\nCredit Cost: 2",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of autosuggestions for each keyword",
                  "items": {
                    "type": "object",
                    "properties": {
                      "keyword": {
                        "type": "string",
                        "description": "The keyword queried"
                      },
                      "result": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "List of autosuggestion strings for the keyword"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "device",
                "keywords",
                "language",
                "market"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "iphone / play / ipad / mac / android"
                },
                "keywords": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of keywords to get autosuggestions for"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard."
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 2,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/multiautosuggestion'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"\", \"keywords\": [], \"language\": \"\", \"market\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/searchscore": {
      "post": {
        "summary": "Keyword Search Score",
        "description": "This endpoint allows you to get the search score for a specific keyword. Keywords that haven't been tracked can take up to 120 seconds to return a result.<br/>\n\nCredit Cost: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "date": {
                      "type": "string",
                      "description": "The date of the result (YYYY-MM-DD)"
                    },
                    "score": {
                      "type": "integer",
                      "description": "The search score"
                    },
                    "maxEstimatedDailyImpressions": {
                      "type": "integer",
                      "description": "Estimated maximum daily impressions for this keyword"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "keyword",
                "language",
                "market"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "iphone / play"
                },
                "keyword": {
                  "type": "string",
                  "description": "Search term"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard."
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/searchscore'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"\", \"keyword\": \"\", \"language\": \"\", \"market\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/multilookup": {
      "post": {
        "summary": "Multi Keyword Lookup",
        "description": "This endpoint allows you to get the search score and ranking results for multiple keywords. <br/>Can run synchronously or asynchronously via Celery if callback_url is provided.<br/>\n\nCredit Cost: 10\n\nCredits per extra keyword: 10",
        "responses": {
          "200": {
            "description": "Successful operation (synchronous mode)",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "Keyword lookup results",
                  "properties": {
                    "device": {
                      "type": "string",
                      "description": "iphone / play"
                    },
                    "language": {
                      "type": "string",
                      "description": "Language code, e.g., 'en-US'"
                    },
                    "market": {
                      "type": "string",
                      "description": "IOS / PLAY"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "Array of keyword lookup results",
                      "items": {
                        "type": "object",
                        "properties": {
                          "keyword": {
                            "type": "string",
                            "description": "The keyword"
                          },
                          "maxEstimatedDailyImpressions": {
                            "type": "integer",
                            "description": "Estimated maximum daily impressions for this keyword"
                          },
                          "results": {
                            "type": "array",
                            "description": "List of apps ranked for the keyword"
                          },
                          "totalResults": {
                            "type": "integer",
                            "description": "Number of apps returned"
                          },
                          "searchScore": {
                            "type": "integer",
                            "description": "Score for the keyword"
                          },
                          "searchScoreDate": {
                            "type": "string",
                            "description": "Date/time the search score was recorded"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "Task accepted (asynchronous mode)",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "job_id": {
                  "type": "string",
                  "description": "The Celery job ID to check task status"
                },
                "status_url": {
                  "type": "string",
                  "description": "URL to check the task status"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "device",
                "keywords",
                "language",
                "market"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "iphone / play / ipad / mac / android"
                },
                "keywords": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of keywords to lookup"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard."
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                },
                "limit": {
                  "type": "integer",
                  "description": "The limit for the number of results to return per keyword (default is 1000)"
                },
                "callback_url": {
                  "type": "string",
                  "description": "Optional callback URL. If provided, the task will run asynchronously via Celery and return a job ID"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 10,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/multilookup'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"\", \"keywords\": [], \"language\": \"\", \"market\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/app-events": {
      "post": {
        "summary": "Keyword App Events",
        "description": "This endpoint returns iOS in-app events found in App Store search results for a keyword.<br/>\n\nCredit Cost: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "properties": {
                    "keyword": {
                      "type": "string",
                      "description": "Search term"
                    },
                    "keyword_id": {
                      "type": "integer",
                      "description": "Keyword ID"
                    },
                    "language": {
                      "type": "string",
                      "description": "Locale code used for lookup"
                    },
                    "market": {
                      "type": "string",
                      "description": "App store market"
                    },
                    "device": {
                      "type": "string",
                      "description": "Device collection used"
                    },
                    "date_range": {
                      "type": "object",
                      "properties": {
                        "start": {
                          "type": "string",
                          "description": "Start date scanned (YYYY-MM-DD)"
                        },
                        "end": {
                          "type": "string",
                          "description": "End date scanned (YYYY-MM-DD)"
                        }
                      }
                    },
                    "total_apps_with_events": {
                      "type": "integer",
                      "description": "Number of apps with events"
                    },
                    "total_event_impressions": {
                      "type": "integer",
                      "description": "Number of event appearances across scanned keyword snapshots"
                    },
                    "apps": {
                      "type": "array",
                      "description": "Apps with event activity sorted by total_event_impressions descending",
                      "items": {
                        "type": "object",
                        "properties": {
                          "app_id": {
                            "type": "string",
                            "description": "App ID/package"
                          },
                          "app_name": {
                            "type": "string",
                            "description": "App name"
                          },
                          "artist": {
                            "type": "string",
                            "description": "Publisher/developer name"
                          },
                          "icon_url": {
                            "type": "string",
                            "description": "App icon URL"
                          },
                          "total_event_impressions": {
                            "type": "integer",
                            "description": "Number of event appearances for this app"
                          },
                          "unique_events": {
                            "type": "integer",
                            "description": "Number of unique events found for this app"
                          },
                          "events": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "event_id": {
                                  "type": "string",
                                  "description": "App event ID"
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Event name"
                                },
                                "badge_kind": {
                                  "type": "string",
                                  "description": "App Store event badge kind"
                                },
                                "kind": {
                                  "type": "string",
                                  "description": "App Store event kind"
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Event description"
                                },
                                "start_date": {
                                  "type": "string",
                                  "description": "Event start datetime"
                                },
                                "end_date": {
                                  "type": "string",
                                  "description": "Event end datetime"
                                },
                                "artwork_url": {
                                  "type": "string",
                                  "description": "Event artwork URL"
                                },
                                "url": {
                                  "type": "string",
                                  "description": "Event URL"
                                },
                                "impressions": {
                                  "type": "integer",
                                  "description": "Number of matching keyword snapshots where this event appeared"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "device",
                "keyword",
                "language",
                "market"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "enum": [
                    "iphone",
                    "ipad"
                  ],
                  "description": "iOS device to query."
                },
                "keyword": {
                  "type": "string",
                  "description": "Search term"
                },
                "language": {
                  "type": "string",
                  "description": "Locale code such as en-US. The country suffix determines the store."
                },
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS"
                  ],
                  "description": "App store market. App events are available for IOS."
                },
                "app": {
                  "type": "string",
                  "description": "Optional iOS numeric app ID filter."
                },
                "days_back": {
                  "type": "integer",
                  "description": "Number of days of keyword snapshots to scan. Defaults to 30 and is capped at 90."
                },
                "current_only": {
                  "type": "boolean",
                  "description": "When true, only events currently running between startDate and endDate are returned. Defaults to true."
                },
                "max_docs": {
                  "type": "integer",
                  "description": "Maximum number of keyword snapshot documents to scan. Defaults to 5000 and is capped at 20000."
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/app-events'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"iphone\", \"keyword\": \"\", \"language\": \"\", \"market\": \"IOS\"}'"
          }
        ]
      }
    },
    "/data/keyword/lookup": {
      "post": {
        "summary": "Keyword Lookup",
        "description": "This endpoint allows you to get the search score for a specific keyword. Keywords that haven't been tracked can take up to 120 seconds to return a result.<br/>\n\nCredit Cost: 10",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "device": {
                      "type": "string",
                      "description": "iphone / play"
                    },
                    "keyword": {
                      "type": "string",
                      "description": "Search term"
                    },
                    "language": {
                      "type": "string",
                      "description": "Language code, e.g., 'en-US'"
                    },
                    "market": {
                      "type": "string",
                      "description": "IOS / PLAY"
                    },
                    "maxEstimatedDailyImpressions": {
                      "type": "integer",
                      "description": "Estimated maximum daily impressions for this keyword"
                    },
                    "results": {
                      "type": "array",
                      "description": "List of apps ranked for the keyword, sorted by ascending rank (1 = highest).",
                      "items": {
                        "type": "object",
                        "properties": {
                          "appid": {
                            "type": "string",
                            "description": "App ID"
                          },
                          "category": {
                            "type": "string",
                            "description": "App category"
                          },
                          "developer": {
                            "type": "string",
                            "description": "App developer name"
                          },
                          "subtitle": {
                            "type": "string",
                            "description": "App subtitle. For Google Play, this is the short description."
                          },
                          "title": {
                            "type": "string",
                            "description": "App title"
                          }
                        }
                      }
                    },
                    "searchScore": {
                      "type": "integer",
                      "description": "Score for the keyword"
                    },
                    "searchScoreDate": {
                      "type": "string",
                      "description": "Date/time the search score was recorded (YYYY-MM-DD HH:MM:SS)"
                    },
                    "totalResults": {
                      "type": "integer",
                      "description": "Number of apps returned in the results"
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "Keyword is not tracked yet and its data is still being collected. Retry after the number of seconds given in retryAfter / the Retry-After header.",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The pending message"
                },
                "retryAfter": {
                  "type": "integer",
                  "description": "Seconds to wait before retrying"
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "device",
                "keyword",
                "language",
                "market"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "iphone / play"
                },
                "keyword": {
                  "type": "string",
                  "description": "Search term"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard."
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                },
                "limit": {
                  "type": "integer",
                  "description": "The limit for the number of results to return (default is all)"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 10,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/lookup'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"\", \"keyword\": \"\", \"language\": \"\", \"market\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/rank": {
      "post": {
        "summary": "Keyword App Ranks",
        "description": "This endpoint allows you to get the apps ranked for a keyword.<br/>\n\nCredit Cost: 10",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "date": {
                      "type": "string",
                      "description": "The date of the result (YYYY-MM-DD)"
                    },
                    "results": {
                      "type": "array",
                      "description": "List of ranked apps for the keyword",
                      "items": {
                        "type": "object",
                        "properties": {
                          "appid": {
                            "type": "string",
                            "description": "The application ID"
                          },
                          "rank": {
                            "type": "integer",
                            "description": "The rank of the app for the keyword"
                          },
                          "title": {
                            "type": "string",
                            "description": "The title of the app"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "keyword",
                "language",
                "market",
                "limit"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "play / iphone / ipad / mac"
                },
                "keyword": {
                  "type": "string",
                  "description": "search term"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard"
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                },
                "limit": {
                  "type": "integer",
                  "description": "The limit"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 10,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/rank'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"\", \"keyword\": \"\", \"language\": \"\", \"market\": \"\", \"limit\": 0}'"
          }
        ]
      }
    },
    "/data/reviews/feed": {
      "post": {
        "summary": "App Reviews Feed",
        "description": "This endpoint allows you to get reviews for a single app.<br/>\n\nCredit Cost: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of reviews",
                  "items": {
                    "type": "object",
                    "properties": {
                      "Subject": {
                        "type": "string",
                        "description": "Review title"
                      },
                      "From": {
                        "type": "string",
                        "description": "Review author"
                      },
                      "mText": {
                        "type": "string",
                        "description": "Review body text"
                      },
                      "AddDate": {
                        "type": "string",
                        "description": "Review date"
                      },
                      "Rating": {
                        "type": "integer",
                        "description": "Star rating"
                      },
                      "Country": {
                        "type": "string",
                        "description": "Country name (iOS only)"
                      },
                      "CountryA": {
                        "type": "object",
                        "description": "Country metadata (iOS only)"
                      },
                      "Language": {
                        "type": "string",
                        "description": "Review language (Google Play only)"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "appid"
              ],
              "properties": {
                "appid": {
                  "type": "string",
                  "description": "App ID. For Android apps this is the package ID like com.example.app. On iOS this is the numeric app ID such as 123456789."
                },
                "language": {
                  "type": "string",
                  "description": "Optional locale code such as en-US. For iOS this resolves to a country store. For Google Play it filters review language."
                },
                "rating": {
                  "type": "integer",
                  "description": "Optional rating filter (1-5). Use 0 to return all ratings."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of reviews to return (default 100)."
                },
                "offset": {
                  "type": "integer",
                  "description": "Number of reviews to skip for pagination (default 0)."
                }
              }
            }
          }
        ],
        "tags": [
          "Reviews"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/reviews/feed'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"appid\": \"\"}'"
          }
        ]
      }
    },
    "/data/keyword/spy": {
      "post": {
        "summary": "Keyword Spy",
        "description": "This endpoint allows you to get all keywords that an app is ranking for.<br/>\n\nCredit Cost: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "app": {
                      "type": "string",
                      "description": "The app ID"
                    },
                    "device": {
                      "type": "string",
                      "description": "The device type"
                    },
                    "market": {
                      "type": "string",
                      "description": "The market (IOS/PLAY)"
                    },
                    "language": {
                      "type": "string",
                      "description": "The language code"
                    },
                    "limit": {
                      "type": "integer",
                      "description": "The rank limit used for filtering"
                    },
                    "page": {
                      "type": "integer",
                      "description": "Current page number"
                    },
                    "pageSize": {
                      "type": "integer",
                      "description": "Number of results per page"
                    },
                    "totalResults": {
                      "type": "integer",
                      "description": "Total number of keywords found (before pagination)"
                    },
                    "totalPages": {
                      "type": "integer",
                      "description": "Total number of pages available"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords the app is ranking for",
                      "items": {
                        "type": "object",
                        "properties": {
                          "keyword": {
                            "type": "string",
                            "description": "The keyword text"
                          },
                          "rank": {
                            "type": "integer",
                            "description": "The rank of the app for this keyword"
                          },
                          "searchScore": {
                            "type": "integer",
                            "description": "The search score of the keyword (null if not available)"
                          },
                          "date": {
                            "type": "string",
                            "description": "The date of the rank (YYYY-MM-DD)"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "app",
                "device",
                "language",
                "market"
              ],
              "properties": {
                "app": {
                  "type": "string",
                  "description": "For Android apps this is the package ID like com.example.app. On iOS this is the numeric app ID such as 123456789"
                },
                "device": {
                  "type": "string",
                  "description": "play / iphone / ipad / mac"
                },
                "language": {
                  "type": "string",
                  "description": "The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard"
                },
                "market": {
                  "type": "string",
                  "description": "IOS / PLAY"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum rank limit to filter results (default is 100, max is 250)"
                },
                "page": {
                  "type": "integer",
                  "description": "Page number for pagination (default is 1)"
                },
                "pageSize": {
                  "type": "integer",
                  "description": "Number of results per page (default is 10, max is 250)"
                }
              }
            }
          }
        ],
        "tags": [
          "Keyword"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/keyword/spy'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"app\": \"\", \"device\": \"\", \"language\": \"\", \"market\": \"\"}'"
          }
        ]
      }
    },
    "/data/list/countries": {
      "post": {
        "summary": "Country List",
        "description": "This endpoint returns a list of countries for the selected market.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of countries",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "Country code"
                      },
                      "language": {
                        "type": "string",
                        "description": "Language-country code"
                      },
                      "name": {
                        "type": "string",
                        "description": "Country name"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "market"
              ],
              "properties": {
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "IOS / PLAY"
                }
              }
            }
          }
        ],
        "tags": [
          "Lists"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/list/countries'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"market\": \"IOS\"}'"
          }
        ]
      }
    },
    "/data/list/category": {
      "post": {
        "summary": "Category List",
        "description": "This endpoint returns a list of categories for the selected market.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "description": "List of categories",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Category ID"
                          },
                          "name": {
                            "type": "string",
                            "description": "Category name"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "market"
              ],
              "properties": {
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "IOS / PLAY"
                }
              }
            }
          }
        ],
        "tags": [
          "Lists"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/list/category'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"market\": \"IOS\"}'"
          }
        ]
      }
    },
    "/data/app/timeline": {
      "post": {
        "summary": "App Timeline",
        "description": "<br/>Aggregate timeline data for a selected app.<br/><br/>Returns lanes that the frontend can render as a timeline:<br/>- In-app events (running periods with start/end dates)<br/>- CPP organic activity (days when CPPs were seen in organic results)<br/>- CPP paid activity (days when CPPs were seen in ads)<br/>- Ad appearances (total appearances per day across keywords)<br/>- Metadata updates (days when metadata fields changed)<br/><br/>Notes:<br/>- If `tagslug` is omitted, keyword scope is auto-discovered from recent<br/>  presence (events/ads/cpp) for the selected app.<br/>- You can limit which lanes are computed via `include`.<br/><br/>\n\nCredit Cost: 20",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                },
                "response": {
                  "type": "object",
                  "properties": {
                    "app": {
                      "type": "object",
                      "properties": {
                        "app_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "artist": {
                          "type": "string"
                        },
                        "icon_url": {
                          "type": "string"
                        }
                      }
                    },
                    "date_range": {
                      "type": "object",
                      "properties": {
                        "start": {
                          "type": "string"
                        },
                        "end": {
                          "type": "string"
                        }
                      }
                    },
                    "available_lanes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "events": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "cpp_organic": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string"
                          },
                          "count": {
                            "type": "integer"
                          },
                          "keywords": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "cpp_paid": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string"
                          },
                          "count": {
                            "type": "integer"
                          },
                          "keywords": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "ads_per_day": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string"
                          },
                          "total": {
                            "type": "integer"
                          },
                          "keywords": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "metadata_updates": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "truncated": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Tag not found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "appid",
                "countries"
              ],
              "properties": {
                "appid": {
                  "type": "string",
                  "description": "App id (iOS numeric id or Google Play package name)"
                },
                "countries": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "List of country IDs (store IDs)"
                },
                "tagslug": {
                  "type": "string",
                  "description": "Optional tag slug to scope keywords to a workspace tag"
                },
                "device": {
                  "type": "string",
                  "description": "Device (iphone/ipad/mac/play)",
                  "default": "iphone"
                },
                "days_back": {
                  "type": "integer",
                  "description": "Lookback window in days (used if start_date/end_date not provided)",
                  "default": 30
                },
                "start_date": {
                  "type": "string",
                  "format": "date",
                  "description": "Optional start date (YYYY-MM-DD)"
                },
                "end_date": {
                  "type": "string",
                  "format": "date",
                  "description": "Optional end date (YYYY-MM-DD)"
                },
                "include": {
                  "description": "Optional lane filter. If omitted, returns all lanes.",
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "bootstrap",
                          "events",
                          "cpp_organic",
                          "cpp_paid",
                          "ads",
                          "metadata"
                        ]
                      }
                    },
                    {
                      "type": "string",
                      "description": "Comma-separated list of lanes"
                    }
                  ]
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 20,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/timeline'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"appid\": \"\", \"countries\": []}'"
          }
        ]
      }
    },
    "/data/app/ranking": {
      "post": {
        "summary": "App Rankings",
        "description": "This endpoint allows you to get the app current rankings for all countries and categories.<br/>\n\nCredit Cost: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of current app rankings",
                  "items": {
                    "type": "object",
                    "properties": {
                      "category": {
                        "type": "string",
                        "description": "Category name"
                      },
                      "categoryid": {
                        "type": "integer",
                        "description": "Category ID"
                      },
                      "countrycode": {
                        "type": "string",
                        "description": "Country code"
                      },
                      "date": {
                        "type": "string",
                        "description": "Date and time of the ranking (format YYYY-MM-DD)"
                      },
                      "diff": {
                        "type": "integer",
                        "description": "Rank difference from previous period"
                      },
                      "rank": {
                        "type": "integer",
                        "description": "Ranking position"
                      },
                      "type": {
                        "type": "string",
                        "description": "Ranking type (e.g., Free, Grossing)"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "app",
                "market"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "enum": [
                    "iphone",
                    "ipad",
                    "mac",
                    "play"
                  ],
                  "description": "play / iphone / ipad / mac"
                },
                "app": {
                  "type": "string",
                  "description": "For Android apps this is the package ID like com.example.app. On iOS this is the numeric app ID such as 123456789"
                },
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "IOS / PLAY"
                },
                "countrycodes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Use this to specify countries to look up. Country code follows the ISO 3166-1 Alpha-2 standard in uppercase"
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/ranking'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"iphone\", \"app\": \"\", \"market\": \"IOS\"}'"
          }
        ]
      }
    },
    "/data/app/history": {
      "post": {
        "summary": "App History",
        "description": "This endpoint returns the historical metadata snapshots for a single app, allowing you to track how app metadata (title, description, rating, screenshots, etc.) changed over time.<br/>\n\nCredit Cost: 5\n\nCredits per extra app: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of objects, one per requested app",
                  "items": {
                    "type": "object",
                    "properties": {
                      "appid": {
                        "type": "string",
                        "description": "The application ID"
                      },
                      "history": {
                        "type": "array",
                        "description": "Historical metadata snapshots sorted by date ascending",
                        "items": {
                          "type": "object",
                          "properties": {
                            "date": {
                              "type": "string",
                              "format": "date-time",
                              "description": "ISO-8601 date of this snapshot"
                            },
                            "metadata": {
                              "type": "object",
                              "description": "App metadata at this point in time (same shape as /data/app/info response)",
                              "properties": {
                                "title": {
                                  "type": "string"
                                },
                                "icon": {
                                  "type": "string"
                                },
                                "category": {
                                  "type": "string"
                                },
                                "seller": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "domain": {
                                  "type": "string"
                                },
                                "subtitle": {
                                  "type": "string"
                                },
                                "overallAppRating": {
                                  "type": "number",
                                  "format": "float"
                                },
                                "link": {
                                  "type": "string"
                                },
                                "ageRating": {
                                  "type": "string"
                                },
                                "market": {
                                  "type": "string"
                                },
                                "version": {
                                  "type": "string",
                                  "description": "The app release version (e.g. \"6.6\")"
                                },
                                "releaseNotes": {
                                  "type": "string",
                                  "description": "Release notes / what's new for the current version"
                                }
                              }
                            },
                            "diff": {
                              "type": "object",
                              "description": "Fields that changed compared to the previous snapshot. Each key maps to an object with \"old\" and \"new\" values. Absent on the first snapshot (no previous data to compare).\n",
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "old": {
                                    "description": "Previous value"
                                  },
                                  "new": {
                                    "description": "Current value"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "language",
                "app",
                "device"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "play / iphone / ipad / mac"
                },
                "app": {
                  "type": "string",
                  "description": "App ID as string"
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "category",
                      "description",
                      "domain",
                      "icon",
                      "link",
                      "market",
                      "overallAppRating",
                      "promovideo",
                      "ageRating",
                      "ratingAdvisories",
                      "screenshots",
                      "shortDesc",
                      "seller",
                      "subtitle",
                      "title",
                      "version",
                      "releaseNotes"
                    ]
                  },
                  "description": "Optional list of metadata fields to include in each snapshot. If not provided, all fields will be returned.\n"
                },
                "language": {
                  "type": "string",
                  "description": "locale code such as en-US, en-GB, de-DE, fr-FR, ja-JP etc - must follow the IETF BCP 47 standard."
                },
                "startdate": {
                  "type": "string",
                  "format": "date",
                  "description": "Optional start date (YYYY-MM-DD). Only return snapshots on or after this date."
                },
                "enddate": {
                  "type": "string",
                  "format": "date",
                  "description": "Optional end date (YYYY-MM-DD). Only return snapshots on or before this date."
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/history'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"language\": \"\", \"app\": \"\", \"device\": \"\"}'"
          }
        ]
      }
    },
    "/data/app/search": {
      "post": {
        "summary": "App Search",
        "description": "<br/>Search for apps by keyword in a given market (IOS/PLAY) and optionally a specific country.<br/><br/>\n\nCredit Cost: 1",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                },
                "response": {
                  "type": "array",
                  "description": "App search results (shape depends on upstream search implementation)"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "term"
              ],
              "properties": {
                "term": {
                  "type": "string",
                  "description": "Search term (keyword)"
                },
                "market": {
                  "type": "string",
                  "description": "Optional market filter (IOS, PLAY). If omitted, uses server defaults.",
                  "enum": [
                    "IOS",
                    "PLAY",
                    "MAC"
                  ]
                },
                "country": {
                  "type": "string",
                  "description": "Optional country code (e.g. US, DE, GB). UK is normalized to GB."
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 1,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/search'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"term\": \"\"}'"
          }
        ]
      }
    },
    "/data/app/chart": {
      "post": {
        "summary": "App Charts",
        "description": "This endpoint returns the recent apps ranked for the selected market, device, country and category.<br/>\n\nCredit Cost: 5",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "object",
                  "description": "The response object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "Chart data by type (e.g., free/paid/grossing)",
                      "additionalProperties": {
                        "type": "object",
                        "description": "Rankings by position",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "appid": {
                              "type": "integer",
                              "description": "For Android apps this is the package ID like com.example.app. On iOS this is the numeric app ID such as 123456789"
                            },
                            "diff": {
                              "type": "integer",
                              "description": "Rank difference from previous period"
                            },
                            "title": {
                              "type": "string",
                              "description": "App title"
                            },
                            "subtitle": {
                              "type": "string",
                              "description": "App subtitle or short description"
                            },
                            "developer": {
                              "type": "string",
                              "description": "App developer name"
                            },
                            "ageRating": {
                              "type": "string",
                              "description": "App age rating"
                            },
                            "icon": {
                              "type": "string",
                              "description": "App icon URL"
                            }
                          }
                        }
                      }
                    },
                    "date": {
                      "type": "string",
                      "description": "Date of the ranking data (format YYYY-MM-DD)"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "device",
                "market",
                "country",
                "categoryid",
                "type"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "enum": [
                    "iphone",
                    "ipad",
                    "mac",
                    "play"
                  ],
                  "description": "play / iphone / ipad / mac"
                },
                "market": {
                  "type": "string",
                  "enum": [
                    "IOS",
                    "PLAY"
                  ],
                  "description": "IOS / PLAY"
                },
                "limit": {
                  "type": "integer",
                  "description": "The maximum number of results to return"
                },
                "country": {
                  "type": "string",
                  "description": "Use this to specify countries to look up. Country code follows the ISO 3166-1 Alpha-2 standard in uppercase"
                },
                "categoryid": {
                  "type": "integer",
                  "description": "The category id (use POST /data/list/category to get the list)"
                },
                "type": {
                  "type": "string",
                  "description": "free/paid/grossing"
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 5,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/chart'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"device\": \"iphone\", \"market\": \"IOS\", \"country\": \"\", \"categoryid\": 0, \"type\": \"\"}'"
          }
        ]
      }
    },
    "/data/app/info": {
      "post": {
        "summary": "App Info",
        "description": "This endpoint allows you to get the app meta data.<br/>\n\nCredit Cost: 1",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "array",
                  "description": "List of app metadata objects",
                  "items": {
                    "type": "object",
                    "properties": {
                      "appid": {
                        "type": "string",
                        "description": "The application ID"
                      },
                      "category": {
                        "type": "string",
                        "description": "The app category"
                      },
                      "description": {
                        "type": "string",
                        "description": "The full app description"
                      },
                      "domain": {
                        "type": "string",
                        "description": "The publisher's domain"
                      },
                      "icon": {
                        "type": "string",
                        "description": "App icon URL"
                      },
                      "link": {
                        "type": "string",
                        "description": "App store URL"
                      },
                      "market": {
                        "type": "string",
                        "description": "App market (IOS, PLAY, etc)"
                      },
                      "overallAppRating": {
                        "type": "number",
                        "format": "float",
                        "description": "Overall app rating"
                      },
                      "promovideo": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Promotional video URLs"
                      },
                      "ageRating": {
                        "type": "string",
                        "description": "Age rating (e.g., '12+')"
                      },
                      "ratingAdvisories": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "List of rating advisories"
                      },
                      "screenshots": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "screenshotType": {
                              "type": "string",
                              "description": "Device type for screenshot"
                            },
                            "url": {
                              "type": "string",
                              "description": "Screenshot URL"
                            }
                          }
                        },
                        "description": "App screenshots with type"
                      },
                      "seller": {
                        "type": "string",
                        "description": "Seller or publisher name"
                      },
                      "subtitle": {
                        "type": "string",
                        "description": "App subtitle"
                      },
                      "title": {
                        "type": "string",
                        "description": "App title"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "No data found",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "required": [
                "language",
                "apps",
                "device"
              ],
              "properties": {
                "device": {
                  "type": "string",
                  "description": "play / iphone / ipad / mac"
                },
                "apps": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of app IDs as strings"
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "appid",
                      "category",
                      "description",
                      "domain",
                      "icon",
                      "link",
                      "market",
                      "overallAppRating",
                      "promovideo",
                      "ageRating",
                      "ratingAdvisories",
                      "screenshots",
                      "shortDesc",
                      "seller",
                      "subtitle",
                      "title"
                    ]
                  },
                  "description": "Optional list of fields to include in the response. Possible values: appid, category, description, domain, icon, link, market, overallAppRating, promovideo, ageRating, ratingAdvisories, screenshots, seller, subtitle, shortDesc, title. If not provided, all fields will be returned.\n"
                },
                "language": {
                  "type": "string",
                  "description": "locale code such as en-US, en-GB, de-DE, fr-FR, ja-JP etc - must follow the IETF BCP 47 standard.."
                }
              }
            }
          }
        ],
        "tags": [
          "App"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 1,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/app/info'\\\n  -H 'Authorization: Bearer <token>'\\\n  -H 'Content-Type: application/json'\\\n  -d '{\"language\": \"\", \"apps\": [], \"device\": \"\"}'"
          }
        ]
      }
    },
    "/data/checklicense": {
      "post": {
        "summary": "Check License",
        "description": "This endpoint checks if the user has a valid license and returns the API credit balance for the running billing period.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Successful operation",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "response": {
                  "type": "boolean",
                  "description": "True if the user has a valid license, False otherwise"
                },
                "credits": {
                  "type": "object",
                  "description": "API credit balance for the current billing period",
                  "properties": {
                    "has_subscription": {
                      "type": "boolean",
                      "description": "True if an active DATA subscription was found"
                    },
                    "used": {
                      "type": "integer",
                      "description": "Credits already spent in the current billing period"
                    },
                    "total": {
                      "type": "integer",
                      "description": "Total credits included in the plan for one billing period"
                    },
                    "remaining": {
                      "type": "integer",
                      "description": "Credits left to spend in the current billing period"
                    },
                    "usage_percentage": {
                      "type": "number",
                      "description": "Percentage of the plan credits already spent"
                    },
                    "period_start": {
                      "type": "string",
                      "description": "Start of the current billing period (format YYYY-MM-DD)"
                    },
                    "period_end": {
                      "type": "string",
                      "description": "End of the current billing period (format YYYY-MM-DD)"
                    },
                    "plan_name": {
                      "type": "string",
                      "description": "Name of the active DATA plan"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "A message saying if the Trial expired or there is no PRO subscription. The message will include a link to purchase a subscription"
                },
                "credits": {
                  "type": "object",
                  "description": "API credit balance for the current billing period, in the same shape as the 200 response"
                }
              }
            }
          },
          "500": {
            "description": "Error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "tags": [
          "Lists"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X POST 'https://data.applyzer.com/data/checklicense'\\\n  -H 'Authorization: Bearer <token>'"
          }
        ]
      }
    },
    "/test/callback": {
      "post": {
        "summary": "Test Callback Endpoint",
        "description": "This endpoint logs callback data for testing multi-keyword lookup async tasks.<br/>",
        "responses": {
          "200": {
            "description": "Callback received and logged",
            "schema": {
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "description": "Callback data from async task"
          }
        ],
        "tags": [
          "Test"
        ]
      }
    },
    "/data/keyword/multilookup/status/{job_id}": {
      "get": {
        "summary": "Get Multi Keyword Lookup Task Status",
        "description": "This endpoint allows you to check the status of an asynchronous multi-keyword lookup task.<br/>\n\nCredit Cost: 0",
        "responses": {
          "200": {
            "description": "Task status retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The response message"
                },
                "job_id": {
                  "type": "string",
                  "description": "The Celery job ID"
                },
                "status": {
                  "type": "string",
                  "description": "Task status (PENDING, PROGRESS, SUCCESS, FAILURE)"
                },
                "result": {
                  "type": "object",
                  "description": "Task result if completed"
                },
                "meta": {
                  "type": "object",
                  "description": "Task metadata (progress info, error details, etc.)"
                }
              }
            }
          },
          "404": {
            "description": "Task not found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "The error message"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "The Celery job ID returned from the multi-lookup endpoint"
          }
        ],
        "tags": [
          "Keyword"
        ],
        "security": [
          {
            "Bearer": []
          }
        ],
        "x-credit-cost": 0,
        "x-codeSamples": [
          {
            "lang": "curl",
            "label": "cURL",
            "source": "curl -X GET 'https://data.applyzer.com/data/keyword/multilookup/status/{job_id}'\\\n  -H 'Authorization: Bearer <token>'"
          }
        ]
      }
    }
  },
  "definitions": {},
  "swagger": "2.0",
  "securityDefinitions": {
    "Bearer": {
      "type": "apiKey",
      "name": "Authorization",
      "in": "header",
      "description": "For accessing the protected API endpoints, you must pass your token in the authorization header. Please enter it as 'Bearer <token_here>'."
    }
  }
}