# Creating custom channels

**URL:** <https://forums.plex.tv/t/creating-custom-channels/184613>\
**Category:** Dev/API Corner\
**Tags:** plugin-dev\
**Created:** [March 15, 2017, 3:02pm UTC](https://forums.plex.tv/t/creating-custom-channels/184613 "2017-03-15T15:02:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Namgorf2001](https://avatars.discourse-cdn.com/v4/letter/n/ecb155/32.png) [@Namgorf2001](https://forums.plex.tv/u/Namgorf2001)\
**Post date:** [March 15, 2017, 3:02pm UTC](https://forums.plex.tv/t/creating-custom-channels/184613/1 "2017-03-15T15:02:13Z")

</div>

So, I want to create a channel but have limited knowledge in regards to how to do it. I’ve checked other posts and have tried to figure it out but i’m totally lost. Here’s my request…  
Is there a way to make a template that can simply be adjusted per website it’s reading from so that basically any streaming site can be configured? I know all websites are different but surely there’s a way to have a template where you can go in and change the website focal point and be able to make it into a channel?

No? Yes? Please.

---

<div class="post-metadata">

**Author:** ![dane22](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/dane22/32/4389_2.png) [@dane22](https://forums.plex.tv/u/dane22)\
**Post date:** [March 15, 2017, 8:05pm UTC](https://forums.plex.tv/t/creating-custom-channels/184613/2 "2017-03-15T20:05:14Z")

</div>

Short answer is no, since not only is a channel most of the times scraping the website to search for streams, but the formats used also differs, so channels/service bundles has to differ.

What I can suggest, is to go to [this thread](https://forums.plex.tv/discussion/200017/support-find-my-plug-in-here-for-support-read-me-first#latest "this thread"), and locate a channel siml. to what you want, and then fork the source on GitHub

/T

---

<div class="post-metadata">

**Author:** ![shopgirl284](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@shopgirl284](https://forums.plex.tv/u/shopgirl284)\
**Post date:** [March 18, 2017, 4:41pm UTC](https://forums.plex.tv/t/creating-custom-channels/184613/3 "2017-03-18T16:41:40Z")

</div>

To provide a little bit longer answer, if you have ever worked with programming languages, pulling the front end data from a website for a Plex channel is the easy part, once you figure out the basics of Python, Xpath and how the Plex API uses xpath. The most difficult part of Plex channel design is the URL Service and/or figuring out the playback of media within your channel.

Plex works on a large variety of devices, but the thing that makes Plex so flexible also makes channel design more difficult. Plex works on a large variety of devices by allowing each Plex player app to determine how to play each piece of media. This means that you must define all of the data about every piece of media you want Plex to play from a channel, so you have to figure out how to access all that data from the website.

There is no simple template to use because the HTML, JSON, etc used by each website is different, as well as the method each website uses to store and access the media played on the site. And Plex does not use any shortcut options for accessing and playing online content like the use of webkit to just pull the Flash object out of a page. Webkit may make designing a channel easier, but it is highly unstable, uses way too many resources, and does not allow each Plex player app to decide the best method of playing media.

There are tutorials on Xpath and URL services in the pinned document [Plex Channel Development Support Documents](https://forums.plex.tv/discussion/262554/plex-channel-development-support-documents#latest "Plex Channel Development Support Documents") and the [Channel Development support documents](https://support.plex.tv/hc/en-us/sections/200308733-Channel-Development "Channel Development support documents") includes some good step by step tutorials. The Templates listed in those support documents are not as much templates to provide a basic sample to build from but to provide a lot of description, so you can better understand what each of the lines of code do.

I would also suggest looking to the [plexinc-plugins Github repository](https://github.com/plexinc-plugins "plexinc-plugins Github repository") for example channels. That repository has channels from the Channel Directory. Since they are more stable channels, they tend to use much more simple code and therefore are better examples for beginners to review. The [Services bundle](https://github.com/plexinc-plugins/Services.bundle "Services bundle") available in that repository lists a wide variety of URL services and you can search them for keywords that may be similar to your project and find examples.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [January 8, 2020, 8:03pm UTC](https://forums.plex.tv/t/creating-custom-channels/184613/4 "2020-01-08T20:03:04Z")

</div>


