{
  "openapi": "3.0.1",
  "info": {
    "title": "Twitch Scraper: Channels, Live Streams, VODs and Clips",
    "description": "Scrape public Twitch data without a login: channels with followers, partner status, live stream, last broadcast, schedule and social links; live streams by category and language; VODs; clips; top categories. Pay per row.",
    "version": "0.1",
    "x-build-id": "wEcsjuNRlnccAjIsU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~twitch-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-twitch-scraper",
        "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/themineworks~twitch-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-twitch-scraper",
        "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/themineworks~twitch-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-twitch-scraper",
        "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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "channels",
              "streams",
              "videos",
              "clips",
              "top_categories"
            ],
            "type": "string",
            "description": "channels returns one row per channel. streams lists live streams of the categories you name (or of all of Twitch). videos and clips list the VODs or clips of each channel. top_categories lists the categories with the most viewers right now.",
            "default": "channels"
          },
          "channels": {
            "title": "Channels (channels, videos, clips)",
            "type": "array",
            "description": "One channel per line: a channel name (shroud), @name, or a channel link (https://www.twitch.tv/shroud, any sub page). Up to 500 per run.",
            "default": [
              "shroud",
              "pokimane"
            ],
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories (streams)",
            "type": "array",
            "description": "One category per line: a name (Just Chatting, Fortnite), a slug (just-chatting) or a directory link (https://www.twitch.tv/directory/category/just-chatting). Each category (and each language) is its own list of up to 100 streams. Leave empty to list live streams across all of Twitch, which Twitch limits to 30 per language. Up to 500 per run.",
            "default": [
              "Just Chatting"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max results per channel, category or language",
            "minimum": 20,
            "maximum": 100,
            "type": "integer",
            "description": "How many streams, videos, clips or categories to return per list, 20 to 100. Twitch shows a logged out visitor the first 100 of each list; to cover more streams, list several languages (each language is its own list of up to 100).",
            "default": 50
          },
          "languages": {
            "title": "Stream languages (streams)",
            "type": "array",
            "description": "Optional. Two letter codes such as en, es, de, ja. Each language is read as its own list of up to maxResults streams. Leave empty for every language together.",
            "items": {
              "type": "string"
            }
          },
          "streamSort": {
            "title": "Stream order (streams)",
            "enum": [
              "viewers_high",
              "viewers_low",
              "recent"
            ],
            "type": "string",
            "description": "streams mode: which streams come first. Fewest viewers first finds small and new streamers.",
            "default": "viewers_high"
          },
          "tag": {
            "title": "Stream tag (streams)",
            "type": "string",
            "description": "Optional. Only streams with this tag, for example vtuber, English or DropsEnabled."
          },
          "videoType": {
            "title": "Video type (videos)",
            "enum": [
              "all",
              "archive",
              "highlight",
              "upload"
            ],
            "type": "string",
            "description": "videos mode: which kind of video to list.",
            "default": "all"
          },
          "videoSort": {
            "title": "Video order (videos)",
            "enum": [
              "time",
              "views"
            ],
            "type": "string",
            "description": "videos mode: newest first or most viewed first.",
            "default": "time"
          },
          "clipPeriod": {
            "title": "Clip period (clips)",
            "enum": [
              "last_day",
              "last_week",
              "last_month",
              "all_time"
            ],
            "type": "string",
            "description": "clips mode: clips created in this period.",
            "default": "last_week"
          },
          "clipSort": {
            "title": "Clip order (clips)",
            "enum": [
              "views",
              "trending"
            ],
            "type": "string",
            "description": "clips mode: most viewed or trending first.",
            "default": "views"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}