Download OpenAPI specification:Download
A live tracker of VTubers, based on generals from /vt/.
Get list of current and recently offline streamers.
last_update | number Timestamp in miliseconds when the data was exported | ||||||||||||||||||||||||||
last_update_twitch | number Timestamp in miliseconds when the Twitch refresh was completed | ||||||||||||||||||||||||||
last_update_youtube | number Timestamp in miliseconds when the YouTube refresh was completed | ||||||||||||||||||||||||||
last_update_others | number Timestamp in miliseconds when the other platform's refresh was completed | ||||||||||||||||||||||||||
object (GetListTags) Tags used in the list, the keys here are the name of the group | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
Array of objects (GetListStreamers) List of streamers | |||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||
object (GetListStats) Some statistics | |||||||||||||||||||||||||||
|
{- "last_update": 1726660547585,
- "last_update_twitch": 1726660159117,
- "last_update_youtube": 1726660547565,
- "last_update_others": 1726660558445,
- "tags": {
- "country": [
- {
- "id": 1,
- "group": "country",
- "title": "Australia",
- "color": "#AEE2FF"
}, - {
- "id": 19,
- "group": "country",
- "title": "France",
- "color": "#AEE2FF"
}, - {
- "id": 21,
- "group": "country",
- "title": "Russia",
- "color": "#AEE2FF"
}, - {
- "id": 16,
- "group": "country",
- "title": "United Kingdom",
- "color": "#AEE2FF"
}
], - "genre": [
- {
- "id": 71,
- "group": "genre",
- "title": "+18",
- "color": "#E1AFD1"
}, - {
- "id": 56,
- "group": "genre",
- "title": "art",
- "color": "#E1AFD1"
}, - {
- "id": 136,
- "group": "genre",
- "title": "ASMR",
- "color": "#E1AFD1"
}, - {
- "id": 49,
- "group": "genre",
- "title": "horror",
- "color": "#E1AFD1"
}, - {
- "id": 57,
- "group": "genre",
- "title": "music",
- "color": "#E1AFD1"
}
], - "group": [
- {
- "id": 30,
- "group": "group",
- "title": "V-Dere",
- "color": "#D37676"
}, - {
- "id": 44,
- "group": "group",
- "title": "VShojo",
- "color": "#D37676"
}
], - "lang": [
- {
- "id": 50,
- "group": "lang",
- "title": "English",
- "color": "#B9F3FC"
}, - {
- "id": 58,
- "group": "lang",
- "title": "French",
- "color": "#B9F3FC"
}, - {
- "id": 69,
- "group": "lang",
- "title": "German",
- "color": "#B9F3FC"
}, - {
- "id": 60,
- "group": "lang",
- "title": "Japanese",
- "color": "#B9F3FC"
}, - {
- "id": 82,
- "group": "lang",
- "title": "Russian",
- "color": "#B9F3FC"
}
], - "model": [
- {
- "id": 51,
- "group": "model",
- "title": "2D",
- "color": "#7BD3EA"
}, - {
- "id": 52,
- "group": "model",
- "title": "3D",
- "color": "#7BD3EA"
}, - {
- "id": 73,
- "group": "model",
- "title": "IRL",
- "color": "#7BD3EA"
}, - {
- "id": 53,
- "group": "model",
- "title": "PNG",
- "color": "#7BD3EA"
}
], - "other": [
- {
- "id": 77,
- "group": "other",
- "title": "TTS",
- "color": "#F5F5F5"
}, - {
- "id": 27,
- "group": "other",
- "title": "duo",
- "color": "#F5F5F5"
}
], - "thread": [
- {
- "id": 40,
- "group": "thread",
- "title": "/asp/",
- "color": "#B0C5A4"
}, - {
- "id": 1,
- "group": "thread",
- "title": "/euro/",
- "color": "#B0C5A4"
}, - {
- "id": 38,
- "group": "thread",
- "title": "/lig/",
- "color": "#B0C5A4"
}, - {
- "id": 78,
- "group": "thread",
- "title": "/pcg/",
- "color": "#B0C5A4"
}, - {
- "id": 37,
- "group": "thread",
- "title": "/pink/",
- "color": "#B0C5A4"
}, - {
- "id": 47,
- "group": "thread",
- "title": "/vsj+/",
- "color": "#B0C5A4"
}, - {
- "id": 80,
- "group": "thread",
- "title": "/wvt/",
- "color": "#B0C5A4"
}
]
}, - "list": [
- {
- "id": 1063,
- "name": "고세구 (Gosegu)",
- "last_live": "1734601719000",
- "is_live": 1,
- "twitch": "gosegugosegu",
- "youtube": "gosegu",
- "soopkr": "gosegu2",
- "avatar_proxied": "IPbaZgH4J03BHwEoEtVDeLa0Ys8=/64x64",
- "avatar_proxied2x": "qy55ntEtbLADY89UAKNr_FkLaqo=/128x128",
- "tags": [
- {
- "id": 1,
- "group": "country",
- "title": "South Korea",
- "color": "#AEE2FF"
}
], - "live": {
- "platform": "twitch",
- "title": "트위치 바이빵가루",
- "category": "Just Chatting",
- "thumbnail_proxied": "eQIxaX5pA-idWGx_HBdZoGKVWGA=/160x90",
- "thumbnail_proxied2x": "Qu5oDGhXKwUmFYrrAdFFK9jIZgM=/320x180",
- "on_twitch": 1,
- "on_youtube": 1,
- "on_soopkr": 1,
- "viewers_twitch": 24,
- "viewers_youtube": 178,
- "viewers_soopkr": 5,
- "viewers": 207
}
}
], - "stats": {
- "status": {
- "total": "937",
- "live": "85",
- "offline30d": "764",
- "gonefishing": "40",
- "unknown": "36",
- "disabled": "12"
}, - "platforms": {
- "twitch": "64",
- "youtube": "31",
- "soopkr": "0"
}, - "viewers": {
- "total": "69578",
- "twitch": "36505",
- "youtube": "33073",
- "soopkr": "0"
}
}
}
All streamers, but no details about live streams.
id | number Unique ID for this streamer |
name | string Given name, might include alternative names or romanized names |
last_live | string Timestamp in miliseconds when the last stream started (or was found live), as a string |
is_live | number Boolean |
twitch | null or string Can be |
youtube | null or string Can be |
soopkr | null or string Can be |
avatar | string An avatar from either 7TV, SOOP, Twitch or YouTube - in that order |
avatar_proxied | null or string Might be |
avatar_proxied2x | null or string Might be |
Array of objects (TagObject) The list of tags given to this streamer | |
Array of objects (LinkObject) List of links to their website or social media | |
twitch_id | null or string The streamer's Twitch ID, can be |
youtube_id | null or string The streamer's YouTube ID, can be |
last_refresh | string Timestamp in miliseconds when the streamer data was last refreshed, as a string |
disabled | number Boolean |
[- {
- "id": 1063,
- "name": "고세구 (Gosegu)",
- "last_live": "1734601719000",
- "is_live": 1,
- "twitch": "gosegugosegu",
- "youtube": "gosegu",
- "soopkr": "gosegu2",
- "avatar_proxied": "IPbaZgH4J03BHwEoEtVDeLa0Ys8=/64x64",
- "avatar_proxied2x": "qy55ntEtbLADY89UAKNr_FkLaqo=/128x128",
- "tags": [
- {
- "id": 1,
- "group": "country",
- "title": "South Korea",
- "color": "#AEE2FF"
}
], - "twitch_id": "707328484",
- "youtube_id": "UCV9WL7sW6_KjanYkUUaIDfQ",
- "last_refresh": "1725734707",
- "disabled": 0
}
]
This is a filtred version of /api/streamers
with only the hidden streamers who don't appear in /api/list
.
A streamer is hidden when it hasn't been live for more than 30 days, has not been seen live yet, or has been disabled.
id | number Unique ID for this streamer |
name | string Given name, might include alternative names or romanized names |
last_live | string Timestamp in miliseconds when the last stream started (or was found live), as a string |
is_live | number Boolean |
twitch | null or string Can be |
youtube | null or string Can be |
soopkr | null or string Can be |
avatar | string An avatar from either 7TV, SOOP, Twitch or YouTube - in that order |
avatar_proxied | null or string Might be |
avatar_proxied2x | null or string Might be |
Array of objects (TagObject) The list of tags given to this streamer | |
Array of objects (LinkObject) List of links to their website or social media | |
twitch_id | null or string The streamer's Twitch ID, can be |
youtube_id | null or string The streamer's YouTube ID, can be |
last_refresh | string Timestamp in miliseconds when the streamer data was last refreshed, as a string |
disabled | number Boolean |
[- {
- "id": 1063,
- "name": "고세구 (Gosegu)",
- "last_live": "1734601719000",
- "is_live": 1,
- "twitch": "gosegugosegu",
- "youtube": "gosegu",
- "soopkr": "gosegu2",
- "avatar_proxied": "IPbaZgH4J03BHwEoEtVDeLa0Ys8=/64x64",
- "avatar_proxied2x": "qy55ntEtbLADY89UAKNr_FkLaqo=/128x128",
- "tags": [
- {
- "id": 1,
- "group": "country",
- "title": "South Korea",
- "color": "#AEE2FF"
}
], - "twitch_id": "707328484",
- "youtube_id": "UCV9WL7sW6_KjanYkUUaIDfQ",
- "last_refresh": "1725734707",
- "disabled": 0
}
]
All tags available, even those not used by any streamer.
object (TagGroupObject) | |||||||
| |||||||
object (TagGroupObject) | |||||||
| |||||||
object (TagGroupObject) | |||||||
| |||||||
object (TagGroupObject) | |||||||
| |||||||
object (TagGroupObject) | |||||||
| |||||||
object (TagGroupObject) | |||||||
| |||||||
object (TagGroupObject) | |||||||
| |||||||
object (TagGroupObject) | |||||||
|
{- "country": {
- "title": "country",
- "color": "#AEE2FF",
- "tags": [
- {
- "id": 1,
- "title": "Australia"
}, - {
- "id": 19,
- "title": "France"
}, - {
- "id": 21,
- "title": "Russia"
}, - {
- "id": 16,
- "title": "United Kingdom"
}
]
}
}
Upcoming YouTube live streams scheduled for the next 48 hours.
last_update | number Timestamp in miliseconds when the data was exported | ||||||||||||||||||||||||||||||
Array of objects List of upcoming streams | |||||||||||||||||||||||||||||||
Array
|
{- "last_update": 1718118747580,
- "list": [
- {
- "stream_id": 558238,
- "upcoming_time": "1718119800000",
- "id": 1063,
- "name": "고세구 (Gosegu)",
- "last_live": "1734601719000",
- "is_live": 1,
- "twitch": "gosegugosegu",
- "youtube": "gosegu",
- "soopkr": "gosegu2",
- "avatar_proxied": "IPbaZgH4J03BHwEoEtVDeLa0Ys8=/64x64",
- "avatar_proxied2x": "qy55ntEtbLADY89UAKNr_FkLaqo=/128x128",
- "tags": [
- {
- "id": 1,
- "group": "country",
- "title": "South Korea",
- "color": "#AEE2FF"
}
], - "live": {
- "platform": "twitch",
- "title": "트위치 바이빵가루",
- "category": "Just Chatting",
- "thumbnail_proxied": "eQIxaX5pA-idWGx_HBdZoGKVWGA=/160x90",
- "thumbnail_proxied2x": "Qu5oDGhXKwUmFYrrAdFFK9jIZgM=/320x180",
}
}
]
}
We're manually archiving the news from /news/, with sources if possible.
page | integer Page number |
object Pagination information | |||||||
| |||||||
Array of objects List of news | |||||||
Array
|
{- "pagination": {
- "current": 1,
- "total": 3,
- "has_next": true
}, - "list": [
- {
- "timestamp": 1718001875,
- "categories": {
- "Hololive": [
- {
- "title": "Shiori Novella shows off her silver play button.",
}, - {
- "title": "Takanashi Kiara unveils a new outfit, themed after 80s jazzercise videos.",
}
], - "Other Corpos": [
- {
- "title": "Miria Rubellite of CosmonoahV, a JP agency, graduates on 6/9.",
- "links": [ ]
}, - {
- "title": "Varium announces 3 new talents.",
}
]
}
}
]
}
Manual archive of Stock Watch anon's posts.
page | integer Page number |
object Pagination information | |||||||||
| |||||||||
Array of objects List of news | |||||||||
Array
|
{- "pagination": {
- "current": 1,
- "total": 2,
- "has_next": true
}, - "list": [
- {
- "timestamp": 1726044004,
- "content": "Stock Watch anon here. It's time to get to work. [...]",
}
]
}
Changelog and notices about the site.
last_update | number Timestamp in seconds when the data was exported | ||||||
Array of objects List of updates | |||||||
Array
|
{- "last_update": 1736329921,
- "list": [
- {
- "id": 1,
- "timestamp": 1736328235,
- "content": "This is a test!<br/>\nBeeh"
}
]
}