{
  "openapi": "3.0.1",
  "info": {
    "title": "Twitch Scraper: Channels, VODs, Clips & Live Streams 🎮",
    "description": "Twitch channels, VODs, clips and live streams by channel, category or search. Followers, live viewers, VOD and clip views, panel social links and public business emails in flat rows. $1.50 per 1,000 rows, $2.50 per 1,000 channels, $0.001/run, usage included. Up to 100 per list. No login.",
    "version": "0.1",
    "x-build-id": "282QPnsAc7NHcEukJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tagadanar~twitch-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tagadanar-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/tagadanar~twitch-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tagadanar-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/tagadanar~twitch-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tagadanar-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",
        "properties": {
          "channels": {
            "title": "Channels, VOD or clip URLs",
            "type": "array",
            "description": "Twitch usernames (shroud) or channel URLs (https://www.twitch.tv/shroud). You can also paste single VOD URLs (twitch.tv/videos/123) and clip URLs (twitch.tv/name/clip/slug or clips.twitch.tv/slug): each returns that one VOD or clip.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories (games)",
            "type": "array",
            "description": "Category names as shown on Twitch (Just Chatting, Fortnite) or directory URLs (https://www.twitch.tv/directory/category/just-chatting). Returns the live streams in each category, most watched first, and its top clips when Clips is on.",
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Channel search",
            "type": "array",
            "description": "Keywords to find channels (valorant, cooking, asmr). Each term returns up to 100 matching channels with their profile data.",
            "items": {
              "type": "string"
            }
          },
          "topLiveStreams": {
            "title": "Top live streams on Twitch",
            "type": "boolean",
            "description": "Add the 30 most watched live streams on all of Twitch right now (Twitch shows 30 to logged-out visitors).",
            "default": false
          },
          "topCategories": {
            "title": "Top categories right now",
            "type": "boolean",
            "description": "Add the most watched categories right now, with live viewers, live channels and followers (up to 100).",
            "default": false
          },
          "includeProfiles": {
            "title": "Channel profiles",
            "type": "boolean",
            "description": "One row per channel: followers, partner or affiliate, live now (title, game, viewers, start time, tags), last stream, VOD count, panel links, social URLs and any business email the channel posts publicly.",
            "default": true
          },
          "includeVods": {
            "title": "VODs (past broadcasts, highlights, uploads)",
            "type": "boolean",
            "description": "Each channel's videos with views, duration, game, date and thumbnail.",
            "default": false
          },
          "includeClips": {
            "title": "Clips",
            "type": "boolean",
            "description": "The most viewed clips of each channel and each category in the clip period below, with views, duration, game, clipper and the source VOD.",
            "default": false
          },
          "includeLiveStreams": {
            "title": "Live streams in categories",
            "type": "boolean",
            "description": "For each category, the channels live in it now with viewers, title, language, tags, followers and partner status.",
            "default": true
          },
          "vodType": {
            "title": "VOD type",
            "enum": [
              "ALL",
              "ARCHIVE",
              "HIGHLIGHT",
              "UPLOAD"
            ],
            "type": "string",
            "description": "Which videos to return for channels.",
            "default": "ALL"
          },
          "vodSort": {
            "title": "VOD order",
            "enum": [
              "TIME",
              "VIEWS"
            ],
            "type": "string",
            "description": "Newest videos or the most viewed ones.",
            "default": "TIME"
          },
          "clipPeriod": {
            "title": "Clip period",
            "enum": [
              "LAST_DAY",
              "LAST_WEEK",
              "LAST_MONTH",
              "ALL_TIME"
            ],
            "type": "string",
            "description": "Clips created in this period, most viewed first.",
            "default": "LAST_WEEK"
          },
          "languages": {
            "title": "Stream languages",
            "type": "array",
            "description": "Keep only live streams in these languages (two-letter codes: en, es, fr, de, pt, ja, ko, ru, it, pl, tr, zh). Empty = all languages.",
            "items": {
              "type": "string"
            }
          },
          "maxItemsPerSource": {
            "title": "Max items per list",
            "minimum": 1,
            "maximum": 3000,
            "type": "integer",
            "description": "Cap for each list: a channel's VODs, a channel's clips, a category's live streams or clips, one search. Twitch shows logged-out visitors the first 100 items of a list; above 100 the actor adds each VOD type's own list and, for live streams, each language's top 100.",
            "default": 100
          },
          "maxResults": {
            "title": "Max rows in total",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stops the run once this many rows were delivered. You pay only for delivered rows.",
            "default": 1000
          },
          "onlyNew": {
            "title": "Only new VODs and clips (monitoring)",
            "type": "boolean",
            "description": "For scheduled monitoring: each run returns one up-to-date profile row per channel (followers, live status, stream title, viewers), one snapshot row per category, the current live streams, and only the VODs and clips that earlier runs with the same monitoring list name did not deliver. Channel profiles are always on in this mode.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitoring list name",
            "type": "string",
            "description": "Keeps separate only-new histories for separate schedules. Letters, digits, underscores and hyphens.",
            "default": "default"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}