{
  "openapi": "3.0.1",
  "info": {
    "title": "Twitch Streamer Finder by Game - Emails, Socials, New Only",
    "description": "Find the Twitch streamers live in any game right now, with follower and viewer counts, stream title, language, social links and the business email each streamer published in the channel bio or panels. Filter by followers, viewers, language or email, and get only new streamers on each scheduled run.",
    "version": "0.0",
    "x-build-id": "ihGF6nxtl5gLK8epX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~twitch-streamer-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-twitch-streamer-finder",
        "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/neverempty~twitch-streamer-finder/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-twitch-streamer-finder",
        "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/neverempty~twitch-streamer-finder/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-twitch-streamer-finder",
        "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": {
          "games": {
            "title": "Games or categories",
            "type": "array",
            "description": "The Twitch games or categories to search, one per line: the name as Twitch shows it (VALORANT, Grand Theft Auto V, Just Chatting), the slug (grand-theft-auto-v) or the category URL (https://www.twitch.tv/directory/category/valorant). Names are matched without regard to upper or lower case. A name Twitch does not know comes back as a free row with Twitch's closest matches. Up to 50 per run. If you leave this empty, the example game VALORANT is searched and every row says so in inputGame.",
            "items": {
              "type": "string"
            }
          },
          "maxStreamersPerGame": {
            "title": "Maximum streamers per game",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many matching streamers to return for each game. Popular games have more than 1,000 people live at once; this Actor reaches about 1,000 of them per game (see Good to know in the README).",
            "default": 100
          },
          "maxRecords": {
            "title": "Maximum rows to return in total",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The most charged rows this run returns across all games. When it is reached, a free row says which games were not searched to the end.",
            "default": 1000
          },
          "maxRequests": {
            "title": "Maximum requests to Twitch",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "A safety limit on how many pages are read in this run. Each page holds up to 100 live streams. Finding one game's streamers takes 1 to about 50 pages, depending on how many people stream it. When the limit is hit, a free row says what was not searched.",
            "default": 60
          },
          "minFollowers": {
            "title": "Minimum followers",
            "minimum": 0,
            "type": "integer",
            "description": "Return only channels with at least this many followers. Leave empty for no lower limit."
          },
          "maxFollowers": {
            "title": "Maximum followers",
            "minimum": 0,
            "type": "integer",
            "description": "Return only channels with at most this many followers, for example to find small and mid-size streamers. Leave empty for no upper limit."
          },
          "minViewers": {
            "title": "Minimum viewers right now",
            "minimum": 0,
            "type": "integer",
            "description": "Return only streams with at least this many viewers at the moment of the run."
          },
          "maxViewers": {
            "title": "Maximum viewers right now",
            "minimum": 0,
            "type": "integer",
            "description": "Return only streams with at most this many viewers at the moment of the run."
          },
          "languages": {
            "title": "Stream languages",
            "type": "array",
            "description": "Two-letter language codes of the stream, for example en, es, ja. Leave empty for all languages.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithEmail": {
            "title": "Only streamers with a business email",
            "type": "boolean",
            "description": "On = return only streamers who published an email address in their channel bio or panels. Streamers without one are read but not returned, so they cost nothing.",
            "default": false
          },
          "monitoringMode": {
            "title": "Return only streamers not returned before",
            "type": "boolean",
            "description": "On = the Actor remembers every streamer it returned and charged for, and later runs return only streamers it has not returned before. Put it on a schedule to receive new streamers in a game each day. Streamers who were found but not returned (for example because the run hit its maximum total charge) are not remembered, so they still count as new next time. The memory is shared by all your runs of this Actor.",
            "default": false
          },
          "resetMonitoringState": {
            "title": "Forget the remembered streamers and start over",
            "type": "boolean",
            "description": "Clears the list of streamers already returned, so the next monitoring run returns everyone again. This affects all your monitoring runs of this Actor.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}