Is there a reliable way to find VOD id of a live stream?

Assuming you’re starting with an active stream, if you make a call to:{channelId}/videos

using the channel id provided (broadcast_type = archive) in the get stream request of the stream your following, you’ll get a list of the recent VODs of the channel. The ID you’re looking for would be the most recent VOD, which would be the stream your tracking up to the current time (or shortly before).