# What constitutes an embed?

**URL:** <https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625>\
**Category:** API\
**Created:** [December 23, 2020, 10:38am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625 "2020-12-23T10:38:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![rune911](https://avatars.discourse-cdn.com/v4/letter/r/3d9bf3/32.png) [@rune911](https://staging-discuss.dev.twitch.com/u/rune911)\
**Post date:** [December 23, 2020, 10:38am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625/1 "2020-12-23T10:38:38Z")

</div>

Hello,

I wanted to get started working with the twitch API and I thought a neat project would be a shoutout player that monitors twitch chats for shoutouts and plays the top clip of the person receiving the shoutout on-stream. To do this we could use websockets to connect to chat and monitor the messages. Pick out the username of a shoutout then use the API to get that user’s top clips and play them on a web source inside of the streaming app (in my case SLOBS). I’ve got things working, but I want to make sure this method doesn’t violate any of Twitch’s rules.

My main concern is with the downloading and playing of the video file. In this case the web source is a local HTML document, so I can’t use embeds as I don’t have a parent. What I can do is have the web source download the video .mp4 file and play that. My question is: Is this allowed or does it break the embedding rules for twitch? If this does break the rules does anyone have any thoughts on an alternate way to do this?

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://staging-discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [December 23, 2020, 11:03am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625/2 "2020-12-23T11:03:04Z")

</div>

> [@rune911](#):
>
> What I can do is have the web source download the video .mp4 file and play that. My question is: Is this allowed or does it break the embedding rules for twitch? If this does break the rules does anyone have any thoughts on an alternate way to do this?

There are no documented/supported ways to automatically obtain the MP4 URL for a video/vod or clip

> **[Extend Clips API to provide the MP4 url so editors can automate downloads](https://twitch.uservoice.com/forums/310213-developers/suggestions/39228784-extend-clips-api-to-provide-the-mp4-url-so-editors)**
>
> If I have an oAuth that represents a User, where the User is either
> 
> \- the broadcaster the clip is of
> \- an editor of the channel that the clip is of
> \- the user is the owner of the clip
> 
> And I make a request for a Clip as documented:...

> **[Extend videos API to allow editors (and above) to automate downloads](https://twitch.uservoice.com/forums/310213-developers/suggestions/41560489-extend-videos-api-to-allow-editors-and-above-to)**
>
> In a similar fashion as
> 
> 
> https://twitch.uservoice.com/forums/310213-developers/suggestions/39228784-extend-clips-api-to-provide-the-mp4-url-so-editors
> 
> 
> The Videos API should be extended to provide the (original) VOD to authenticated users where...

---

<div class="post-metadata">

**Author:** ![rune911](https://avatars.discourse-cdn.com/v4/letter/r/3d9bf3/32.png) [@rune911](https://staging-discuss.dev.twitch.com/u/rune911)\
**Post date:** [December 23, 2020, 11:23am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625/3 "2020-12-23T11:23:38Z")

</div>

Thanks @BarryCarlyon for the quick reply. I’m new to this community so I’d like clarification on what unsupported means here. When you say there’s no supported way to do it does that mean it’s not allowed or I should do it at my own risk because the way I’ve found if doing it could break at any time?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://staging-discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [December 23, 2020, 11:26am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625/4 "2020-12-23T11:26:26Z")

</div>

> [@rune911](#):
>
> When you say there’s no supported way to do it does that mean it’s not allowed or I should do it at my own risk because the way I’ve found if doing it could break at any time?

All of the above. And technically means you violated the Dev agreement (on reverse engineering the Twitch website)

To display a clip you have to do an iFrame via the embed documentation

> **[Video & Clips](https://dev.twitch.tv/docs/embed/video-and-clips/)**
>
> Embedding Video and Clips

or you manually go to your dashboard, and manually download the clip.

---

<div class="post-metadata">

**Author:** ![rune911](https://avatars.discourse-cdn.com/v4/letter/r/3d9bf3/32.png) [@rune911](https://staging-discuss.dev.twitch.com/u/rune911)\
**Post date:** [December 23, 2020, 11:31am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625/5 "2020-12-23T11:31:21Z")

</div>

@BarryCarlyon that’s a big oof. I didn’t do any reverse engineering myself, but found something elsewhere via google-fu. Just wanted to see if it was legit or not and based on what you’ve said that’s a big NOPE! Looks like it’s time to build a website so I can run things through there utilizing parent. Thanks a ton for the quick replies!

---

<div class="post-metadata">

**Author:** ![rune911](https://avatars.discourse-cdn.com/v4/letter/r/3d9bf3/32.png) [@rune911](https://staging-discuss.dev.twitch.com/u/rune911)\
**Post date:** [December 23, 2020, 11:44am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625/6 "2020-12-23T11:44:24Z")

</div>

@BarryCarlyon sorry, I do have one final followup question. If I do go forward and I build a website and embed the videos there and have the parent value set up and working and add it as a web source to a streaming app - that would be 100% ok and allowed, right? I feel like the purpose behind the parent is to know where people are viewing from, but in this case the parent wouldn’t really be where people are viewing from - they’d be viewing from a twitch stream itself. Again, I just want to make sure everything I write is 100% on the level before I let streamers use it.

---

<div class="post-metadata">

**Author:** ![system](https://d2spem0quai2ol.cloudfront.net/original/2X/0/05909729875cce3b53e59d5561c4d23bb14948fc.png) [@system](https://staging-discuss.dev.twitch.com/u/system)\
**Post date:** [January 22, 2021, 11:44am UTC](https://staging-discuss.dev.twitch.com/t/what-constitutes-an-embed/29625/7 "2021-01-22T11:44:30Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
