# Create, publish and stop a live stream

**URL:** <https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784>\
**Category:** API\
**Created:** [October 10, 2019, 12:53pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784 "2019-10-10T12:53:39Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mikhaelangelo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/mikhaelangelo/32/7191_2.png) [@mikhaelangelo](https://staging-discuss.dev.twitch.com/u/mikhaelangelo)\
**Post date:** [October 10, 2019, 12:53pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/1 "2019-10-10T12:53:39Z")

</div>

Hi, everyone! i’m looking for a way to programmatically start and stop a new live stream video through the new API. I saw something about the **ingest server** but i dont found anything about it on the new twitch API documentation.

Is there a way to do it?

---

<div class="post-metadata">

**Author:** ![Dist](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/dist/32/7192_2.png) [@Dist](https://staging-discuss.dev.twitch.com/u/Dist)\
**Post date:** [October 10, 2019, 12:58pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/2 "2019-10-10T12:58:02Z")

</div>

There isn’t currently an ingests endpoint in Helix, so you’ll have to use the v5 endpoint [https://dev.twitch.tv/docs/v5/reference/ingests#get-ingest-server-list](https://dev.twitch.tv/docs/v5/reference/ingests#get-ingest-server-list) for the time being.

---

<div class="post-metadata">

**Author:** ![mikhaelangelo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/mikhaelangelo/32/7191_2.png) [@mikhaelangelo](https://staging-discuss.dev.twitch.com/u/mikhaelangelo)\
**Post date:** [October 10, 2019, 1:06pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/3 "2019-10-10T13:06:10Z")

</div>

i can get and pick an endopint through [https://stream.twitch.tv/ingests](https://stream.twitch.tv/ingests). The question is: there is a way to launch a live stream through the API? i didnt found anything in the documentation )=

---

<div class="post-metadata">

**Author:** ![Dist](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/dist/32/7192_2.png) [@Dist](https://staging-discuss.dev.twitch.com/u/Dist)\
**Post date:** [October 10, 2019, 1:10pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/4 "2019-10-10T13:10:47Z")

</div>

Once you’ve selected an ingest server, and added your stream key to it, you’ve got all you need from the API.

Now you simply use RTMP to send your stream to that ingest and you’re live.

If you need to change your title/game you’re playing then that can be done through the API [https://dev.twitch.tv/docs/v5/reference/channels#update-channel](https://dev.twitch.tv/docs/v5/reference/channels#update-channel) but as for actually starting the stream once you’ve got an ingest server and your stream key you have everything you need.

---

<div class="post-metadata">

**Author:** ![mikhaelangelo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/mikhaelangelo/32/7191_2.png) [@mikhaelangelo](https://staging-discuss.dev.twitch.com/u/mikhaelangelo)\
**Post date:** [October 10, 2019, 1:31pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/5 "2019-10-10T13:31:58Z")

</div>

Thank you! 😃

---

<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:** [October 10, 2019, 2:09pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/6 "2019-10-10T14:09:07Z")

</div>

The language you used, suggests you are familiar with how YouTube does it.

For Twitch, you JUST only need to start sending video data to one of the ingest endpoints from the ingest API.

Where as YouTube you need to make like 4 API requests before sending video.

And to stop you just stop sending video data, (and YouTube is stop sending video and _then_ make a API request iirc)

---

<div class="post-metadata">

**Author:** ![mikhaelangelo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/mikhaelangelo/32/7191_2.png) [@mikhaelangelo](https://staging-discuss.dev.twitch.com/u/mikhaelangelo)\
**Post date:** [October 10, 2019, 5:33pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/7 "2019-10-10T17:33:03Z")

</div>

i’m not used to do apps with live streaming API, so i’m studying how the new Twitch API can be integraded with my react native app.

---

<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:** [November 9, 2019, 5:33pm UTC](https://staging-discuss.dev.twitch.com/t/create-publish-and-stop-a-live-stream/22784/8 "2019-11-09T17:33:25Z")

</div>

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