{
  "openapi": "3.0.1",
  "info": {
    "title": "Kick Clips",
    "description": "Find public Kick clips by scope and rank them by views per hour or total views. Enrich one Kick clip URL with metadata, media details, and an optional transcript. Get structured clip data with source links when Kick provides them.",
    "version": "0.0",
    "x-build-id": "N8HRMGIXYnmyTLAQy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~kick-clips/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-kick-clips",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/maximedupre~kick-clips/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-kick-clips",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/maximedupre~kick-clips/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-kick-clips",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "findClipsBy"
        ],
        "properties": {
          "findClipsBy": {
            "title": "Find clips by",
            "enum": [
              "discover",
              "enrich"
            ],
            "type": "string",
            "description": "Choose whether to discover many clips or enrich one known clip."
          },
          "discoveryScope": {
            "title": "Discovery scope",
            "enum": [
              "global",
              "category",
              "channel"
            ],
            "type": "string",
            "description": "Choose where to look. Fill the matching Category or Channel field when you choose that scope. The other field is ignored."
          },
          "category": {
            "title": "Category",
            "minLength": 1,
            "type": "string",
            "description": "Enter one Kick category name or slug when Discovery scope is Category. Leave it blank for other scopes."
          },
          "channel": {
            "title": "Channel",
            "minLength": 1,
            "type": "string",
            "description": "Enter one Kick channel name or slug when Discovery scope is Channel. Leave it blank for other scopes."
          },
          "recencyWindow": {
            "title": "Time window",
            "enum": [
              "lastHour",
              "last24Hours",
              "last7Days",
              "last30Days",
              "allTime"
            ],
            "type": "string",
            "description": "Limit discovery to clips from this time window. All time includes every clip available in the selected scope."
          },
          "rankBy": {
            "title": "Rank clips by",
            "enum": [
              "viewsPerHour",
              "totalViews"
            ],
            "type": "string",
            "description": "Views per hour puts recently rising clips first. Total views puts the most watched clips first.",
            "default": "viewsPerHour"
          },
          "maxItems": {
            "title": "Maximum clips",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many ranked clips. Leave it blank to return all matching clips until the source is exhausted."
          },
          "excludeMature": {
            "title": "Exclude mature clips",
            "type": "boolean",
            "description": "When on, leave out clips flagged as mature.",
            "default": false
          },
          "maxDurationSeconds": {
            "title": "Maximum clip duration in seconds",
            "minimum": 1,
            "type": "integer",
            "description": "Leave it blank to allow clips of any duration. The value is in seconds."
          },
          "minimumViews": {
            "title": "Minimum views",
            "minimum": 1,
            "type": "integer",
            "description": "Return only clips with at least this many views. Leave it blank to skip this filter."
          },
          "minimumViewsPerHour": {
            "title": "Minimum views per hour",
            "minimum": 0,
            "type": "number",
            "description": "Return only clips with at least this views-per-hour rate. Leave it blank to skip this filter."
          },
          "onlyNewClips": {
            "title": "Only new clips",
            "type": "boolean",
            "description": "Use this with recurring runs to return only clips this Actor has not delivered in earlier runs. The first run can return all matching clips.",
            "default": false
          },
          "clipUrl": {
            "title": "Kick clip URL",
            "pattern": "^https?://(?:www\\.)?kick\\.com(?:/|$)",
            "minLength": 1,
            "type": "string",
            "description": "Enter one publicly accessible Kick clip URL. Fill this when Enrich a clip URL is selected. It must use the kick.com domain, with an optional www subdomain."
          },
          "includeTranscript": {
            "title": "Include transcript",
            "type": "boolean",
            "description": "For the one clip URL, request a detected-language transcript with ordered, time-aligned segments. This is used only when Enrich a clip URL is selected.",
            "default": false
          },
          "translationLanguage": {
            "title": "Translate transcript to",
            "type": "string",
            "description": "Enter or choose a target language for the transcript. Leave it blank to keep only the detected language. This is used only when Include transcript is on."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}