XMLTV from Channels?

I know I can get the M3U file from Channels via


but can I get the XMLTV file that has the guide date also?

Apologies if this has been asked before

No we do not have any xmltv export

Thanks for the prompt repsonse - any chance of that happening any time in the future?

Nope sorry not in our roadmap.

Is this still not in the roadmap? I would like to use my Channels DVR with my IPTV player Tivimate. M3U is supported but it requires XMLTV guide data.

The Silicondust people allow you to extract XMLTV if you have their DVR service.... Maybe Channels should allow it too.

1 Like

Channels serves its guide data to clients as JSON. You can request guide data from Channels with a GET request to endpoint /devices/ANY/guide. It also accepts the following parameters: time as the point in time to begin the guide data expressed in Unix epoch time (defaulting to the current time if omitted), and duration as the amount of guide information to provide expressed in seconds. (By default, the Channels clients request guide data in 8 hour (28800 seconds) blocks of time.) For example, if CHANNELS_DVR is the IP of your DVR server, then:

curl -sSL "http://${CHANNELS_DVR}:8089/devices/ANY/guide?duration=86400" -o guide.json

will retrieve the next 24 hours of guide data and save in the current directory as guide.json.

It shouldn't be too difficult to craft a small parser to massage the JSON to XML.


Do you know if it's possible to filter a single channel?
I tried specifying the DeviceID instead of ANY and tried adding ?channel= in all sorts of spelling contortions.

Looks like you can specify time back to the previous guide update, so this morning at 9am for me.

I think Gracenote's TOS requires not saving past guide information, and only keeping present-to-future in its local database. The pruning of the database upon update I think corresponds to this.

You can specify the device, but I don't think you can filter by channel from the initial query; however, a jq expression could probably easily be crafted to isolate a particular channel.

Yep, I already have a curl/jq setup to get what's coming up on a channel using an advanced pass as a template. With jq I can select unique shows and movies and just see the titles instead of every time slot.

I wouldn't want to do it using this guide method as it returns so much data.

i paid i believe like less than 30 bucks, for epgbestc.om gives you about 250 with epg for a year still better than cable or cheaper in that case

also iptveditor.com provides a pretty cheap XMLTV format EPG. Irs only like 12 or 13 bucks for the year or something. I tried epg-best and found that I was still missing the data for the same channels I was with my epg from my provider. and it Ultimately made my provider have a small anuerism seeing that their were updates and changes to the m3u link he had given out. In fact, it was announced that their would no longer be any m3u lists handed out. I left that service. apparently he must have had a poor reseller deal, probably 3rd or 4th man type deal and the updates did something. I would not have used it if A.)I had been told not to, or B) nthe Epg i was provided worked worth a damn. I dont know why this seems to be so difficuly for services to get down pat. Take Philo, thats an IPTV service, yet their guide is good. And Channels DCR, Great guide, but apparently not XMLTV? or XMLTV-TOPSCRET?
If I could integrate m3u lists that IO create using my own media I would be a semi happy man. Which is huge for me
DO IT! let me use my quatro! Telly is it? yikes its too much crazies my friends Too Much!

Thank you for the tip! I did not know there was an API url for the guide info. I coded a PHP file to parse the JSON on the fly to a very basic XMLTV output. It seems to be working ok. My only concern with it is that the session cookie expires after 30 days so my XMLTV php file will need to be manually maintained by updating this session string.

I want to use TiviMate also, any ideas?

This is available in the latest release.


Is it possible to get 24 hours ?

Yes, change the duration parameter to 86400 (60 secs * 60 mins * 24 hours)

@tmm1 THANK YOU SO MUCH FOR DOING THIS! Christmas has come early!!!!


Thanks will try that ... and thanks to the Channels DVR team ... much appreciated.

1 Like

Do you know if the export is limited to 10K programs? I used duration=259200 (3 days) and 1209600 (14 days) but they both cap out at 10,000.

Could be. I will check.

1 Like