Channels HTTP API

This is so awesome. I can control the channels app on my Apple TV now with the google home with my voice. As for now I have to say which channel number to watch but it also works in german, thanks to ifttt.
In german I can say “switch to channel 9” and it will play channel number 9.

Thanks guys!

1 Like

That’s awesome! Please do share how you setup your Google Home integration in the #hacks section of the forum, so others can try it as well.

Sure, will do later today! Any idea if its possible to access channel api via names and not number? so /api/play/number can be used wth /api/play/name ?

That is not currently implemented by the API. It’s tough because many channels have cryptic callsigns in some regions. You could, however, query the favorite_channels API to get the names and use that to do the name->number mapping.

Sounds good, thanks. Don’t think this will just work with just iftt but I will look into it :slight_smile:

Can someone work on Alexa skill to support new features just announced


Have to say that would get my vote. There is some Alexa functionality with Home Assistant for example but to get the full experience that is touted by the new video skill would be great. “Alexa, record Masterchef”. “Alexa, change to BBC HD”. Cool.

@maddox are you guys writing the homebridge plugin? Any update on timeframes for it? This is awesome by the way. I’ve just setup a homebridge plugin to control the Apple TV4 so combined with a channels homebridge plugin = AMAZING

@Maddox @tmm1 - any update on the homebridge plugin?

Since HomeKit doesn’t really support media players, I decided to hold off until maybe they support it. There was no great news from WWDC about expanded types in HomeKit unfortunately.

I’d rather not put something out like a “Switch” that incorporates the functionality to fake it for a media player.

If you’re finding the need for HomeKit support, I’d suggest using one of the HTTP accessories and just make an HTTP switch that can point at the Channels API.

1 Like

What a shame, the whole preface of homebridge is HomeKit support for the impatient. We will be waiting a long time for native support for media players. Oh well.

Is there any way to open up a command to enable/disable closed captioning? I turn it on/off a decent amount and the Apple TV swipe down then up then right then… is not very accessible.


This is a fair request. It will still only work while watching something though since it’s not a global setting.


Would it be possible to change the currently selected tab through the API? I’d like to create HomeAssistant scripts that could toggle between Guide and DVR modes programmatically, so it can be mapped back to a remote button press or voice command. Scripting a sequence of navigation button presses to do the same thing is not terribly reliable.

At the same time, could a command to open the guide include an optional filter parameter? This way one could go directly to “Favorites”, “HD Channels”, etc.? Thank you for the consideration!

Thanks for the suggestion. At this time we probably won’t be adding things to the API to control the UI or focus and keep it to just controlling the video player.

1 Like

Does the API only work while Channels is in the foreground? Any thought of a option to "quit" channels vs the pause?

I love the Siri Shortcuts. Have been working with them a bit now that you released those 4.

iOS and tvOS don't allow apps to run in the background, so the api only works if the app is running in the foreground. There is an api to stop the player, but we don't have a way to leave the app programmatically.

1 Like

I suspected that being the case. Attempted Channel changes with hopes it would bring into focus... Nope.

1 Like

This API is awesome! I plan on adding a few curl statements as Actions in my Indigo Home Automation Server. One question, not related to the API: Is there any way to tell TVOS launch the Channels app if it's not already running?
I'd love to have an action in Indigo, for example, "Watch BBC America", which would set the right input on the Stereo Receiver, Launch the Channels app, then use the Channels HTTP API to start playing BBC America.
As it stands, I now have all the tools to achieve this except launching (or switching to) the Channels TVOS app. Any thoughts?