Sounds like you just need to call “get streams” and see if they are streaming before calling get videos?
Concieveable, however, you could parse the duration and created_at times from the first video and see if created_at + duration = now give or take 30 minutes.
Usually created_at + duration = now is only about 5 minutes behind “now”
twitch api get 'videos?user_id=26610234&first=1'
{
"data": [
{
"created_at": "2022-02-09T23:23:54Z",
"description": "",
"duration": "1h5m46s",
"id": "1292893548",
"language": "en",
"muted_segments": null,
"published_at": "2022-02-09T23:23:54Z",
"stream_id": "39437613033",
"thumbnail_url": "",
"title": "[!Drops ON] Lost Ark (Ladon / Artillerist)! \\o/ #Ad - !Merch in 2 days! - #EpicPartner Creator Code: COHH - YouTube.com/CohhDaily - !PC",
"type": "archive",
"url": "https://www.twitch.tv/videos/1292893548",
"user_id": "26610234",
"user_login": "cohhcarnage",
"user_name": "CohhCarnage",
"view_count": 99,
"viewable": "public"
}
],
"pagination": {
"cursor": "eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MX19"
}
}
23:23:57 + 1:05:46 = 00:29:43 (give or take quick maff) the current time is 00:30:00 ish
Or just assume that a video with no thumbnail is being “recorded”/is the active stream.
The stream_id should also be the stream ID returned from get streams.