Guide

Set up an XMLTV guide for your IPTV playlist.

An XMLTV file is the program guide that goes with a playlist: what is on each channel, and when. Xtream providers supply one automatically. For an M3U playlist you paste its URL once, and Spectati turns it into a full-screen timeline.

Published · Updated

Add the guide URL

When you add a playlist, the address screen has an optional XMLTV URL field. To add or change it later, open Settings, Sources, Providers, choose the playlist, then Edit. The field is EPG URL, under Electronic Program Guide.

The URL has to start with http:// or https://. Plain .xml and compressed .xml.gz files both work, since Spectati reads the file’s contents rather than its extension, and a gzip file made of several combined parts imports completely.

Xtream logins fill it in

While you type an Xtream server, username and password, Spectati fills the guide field with the provider’s own xmltv.php address, and uses that address even if the field is left empty. Replace it only if your provider gives you a different guide.

How channels find their programmes

Each playlist channel is matched to the guide by, in order, its channel-id, its tvg-id, its tvg-name and finally its name. Case and punctuation are ignored, and so are quality markers such as HD, SD and 4K, so every feed of one channel shares the same programmes.

A channel without a tvg-id is also looked up by the display-name entries in the XMLTV file. A channel listed in several categories shows the same programmes in each.

Fixing a channel with no programmes

When a provider’s playlist and guide use different IDs for the same channel, the match fails and the row stays empty. Mapping it by hand takes one line.

  1. Open the source

    In Settings, open Sources, then Providers, and choose the playlist.
  2. Check what matched

    Analyze Guide and the Guide status row show how much of the lineup found programmes.
  3. Map the stragglers by hand

    Choose Edit and add lines under Channel mappings, one per channel, in the form guide-id = channel-id or guide-id = channel name. For example, bbc-one = BBC One HD. The guide ID is the id on the channel’s <channel> element in the XMLTV file.

Times that look shifted

Spectati applies the offset written on each programme, such as +0100, +01:00 or Z for UTC. A time with no offset is read in the device’s own time zone, and there is no manual shift setting, so a guide that runs consistently early or late is usually a file that leaves its offsets out.

Refresh and Play From Start

The guide refreshes on its own every hour, and again whenever the source refreshes on the schedule set in Library Updates.

Play From Start appears on a programme in the guide when the channel has an archive: Xtream marks it with tv_archive, and M3U playlists with catchup, catchup-source, catchup-days or timeshift attributes. The programme has to have started already and still be inside the provider’s archive window. Play From Start comes with a subscription.

Still stuck? Start here.

Something in your setup not covered here? Get in touch.

Why is my guide empty?

For an M3U playlist, add the guide URL under EPG URL in the source’s Edit screen. If the URL is there and some channels are still empty, Analyze Guide shows which ones did not match.

Why are the guide times an hour or two out?

Times in an XMLTV file normally carry an offset such as +0100 or Z, and Spectati applies it. When yours run consistently early or late, ask the provider for a guide whose times include their offset.

Can one playlist have two guide files?

No. Each source takes one guide URL.

Is the guide part of the free tier?

Yes. Live channels, the full guide and channel curation all work on the free tier.

A guide you read from the sofa.

Spectati is free on Apple TV, iPhone, iPad and Mac, with live channels and the full guide on the free tier.

Download freeDownload on the App Store

Also on Apple TV, iPad and Mac

Requires tvOS, iOS, iPadOS or macOS 26