{ "streamer": { "name": "MyFavoriteStreamer", // String - Platform specific username, with proper capitalization, of the streamer "id": "12345" // Number as a string - Platform specific user ID of the streamer, should never change even if the streamer changes usernames }, "streamId": "54321", // Number as a string - Platform specific ID of the stream "comments": [ { "_id": "e9c557df-aa4e-4254-bbfb-e0942bd4d83a", // String - ID of the comment, likely used internally by the streaming platform "created_at": "2023-09-28T00:31:53.659Z", // String - The time in UTC format at which this comment was displayed in chat "content_offset_seconds": 1.277, // Number - The time in relative to the archived video when the message was displayed in chat "commenter": { "display_name": "JohnDoe", // String - The displayed name of the commenter, usually the same as the "name" field but with proper capitalization "_id": "123456789", // Number as a string - Platform specific user ID of the commenter "name": "johndoe" // String - Username of the commenter }, "type": "chat", // String - Defines what type of message this is, only chat messages are supported currently "message": { "body": "Hi my favorite streamer!!!", // String - Raw chat message sent by the commenter "user_badges": [ // Array, empty if none { "type": "sub_gifter", "name": "Sub Gifter", "count": 1 }, ], "user_color": "#93EBE0", // String - HEX value of the displayed username in chat "emoticons": [ // Array, empty if none used in message {"_id": "303512117", "begin": 0, "end": 5} // Only used for Twitch when a Twitch emote is used, the begin and end fields tell between which characters in the message body are an emote ] } } ], "video": { "start": 0.0, // Number - Defines when in the video the chat starts "end": 240 // Number - Defines when in the video the chat ends } } The JSON file does NOT include the "//", those are included to show a note of what each field is for. Last Updated: October 2nd, 2023