Android — coming very soon Learn more
← All articles

Where to find an XMLTV EPG source for your country

Country by country — France, UK, Germany, Spain, Italy, Canada and the US — where the open XMLTV guides come from, how to judge one before you rely on it, and how to combine several without duplicating programmes.

"Where do I get an EPG URL?" is the most-asked IPTV question that never gets a durable answer, because individual URLs rot. Lists of them go stale within months. What does not go stale is knowing where guide data comes from in your country and how to tell a good source from a bad one in five minutes — so that is what this covers.

The three families of source

Every XMLTV guide you will ever use falls into one of three groups.

  • Your provider's own guide. If you use an Xtream account, the panel exposes a schedule and the app configures it for you. Its identifiers match your playlist perfectly, which no external source can promise. It is usually shallow and its titles are often generic. Details in Xtream EPG vs XMLTV.
  • Open grabber projects. Community-run software that scrapes public broadcaster schedules and republishes them as XMLTV, usually one file per country. The long-running XMLTV project defined the format and its grabber ecosystem; several open-source projects on GitHub publish ready-made per-country endpoints built the same way. Free, generally decent coverage of mainstream channels, and maintained by volunteers — which is also the risk.
  • Commercial listings services. Companies that license schedule data properly, with real episode metadata and an actual uptime commitment. In North America Schedules Direct is the long-standing non-profit option. Modest annual cost, and the one category that will still be there next year.

A fourth category circulates on forums: URLs pasted between users, origin unknown. They work until they do not, and you have no way of knowing whether the file is maintained. Treat them as disposable.

How to judge a source in five minutes

Load it, then check these in order. Anything that fails here will keep failing later.

  1. Match rate. Open your channel list. If most channels show a programme, the identifier scheme is compatible with your playlist — that alone is worth more than richer data you cannot attach to anything.
  2. Depth. Scroll the guide forward. Two days is thin, five to seven is good. Depth is what makes catch-up and reminders useful.
  3. Time accuracy. Compare one evening programme against the real broadcast. If it is off by a whole hour, the source mishandles UTC offsets and will be wrong for half the year.
  4. Freshness. Come back tomorrow. If the last update time never moves, the file is abandoned even though it still downloads.
  5. Size and format. Prefer a gzipped, country-scoped file. A global file with every channel on earth costs memory on a TV box at every refresh for no benefit.

France

France is unusually well served: the free national sources cover TNT, the main cable and satellite line-ups and most sport channels, with several days of data. The historical reference the French IPTV community relies on is the xmltvfr family of grabbers.

The characteristic French problem is not coverage, it is naming. Playlists ship "TF1 HD", "|FR| TF1", "TF1 FHD" while the guide declares TF1.fr. Normalised name matching handles most of it; the rest is a one-off manual mapping. We wrote a dedicated guide on this: free French EPG sources.

United Kingdom

UK schedules are published in detail by the broadcasters themselves, so grabber-based sources are rich — proper episode titles, series and episode numbers, and long descriptions, which makes a UK guide genuinely browsable rather than a bare grid.

Watch two things. Regional variants: "BBC One" is a dozen different regional feeds, and picking the wrong one gives you the right programmes with the wrong local news. And the +1 channels, which need their own guide entries — a source that omits them leaves a visible hole.

Germany, Austria and Switzerland

German-language guides are dense, with a strong public-broadcaster core (ARD, ZDF and the regional Dritte) that grabbers cover reliably. Descriptions are usually complete.

The friction here is the sheer number of near-identical channel names across three countries — several ORF, SRF and regional ARD feeds normalise to very similar strings. This is exactly the case where a matcher refuses rather than guesses, so expect a few manual mappings and check that you got the right national feed rather than its neighbour.

Spain and Italy

Both are well covered for national free-to-air channels and reasonably covered for the main pay packages. Two local habits are worth knowing.

In Spain, autonomous-community channels multiply the line-up and public sources vary a lot in how they name them. In Italy, sport channels get renumbered and rebranded more often than elsewhere, so a source that was perfect last season may have drifted — this is a market where it is worth re-checking your guide at the start of a football season rather than assuming.

United States and Canada

North America is the one region where paying is the obvious answer. Listings are commercially licensed, so free grabber coverage is thinner and less stable than in Europe, and the sheer number of local affiliates makes matching harder: your playlist's "ABC" has to become a specific market's affiliate to be right.

Schedules Direct exists precisely for this, is run as a non-profit, costs a few dollars a month, and is the source most self-hosted TV setups on the continent standardise on.

Combining several sources without duplicating programmes

Sources stack rather than compete. For a given channel and time slot, the first source that has a programme is used and the others fill the gaps, so adding a second source cannot produce two overlapping entries for the same slot. That makes the following pattern safe:

  • Your provider's guide as the baseline — it matches everything, including channels no public file lists.
  • One national XMLTV source for depth and real titles on mainstream channels.
  • Optionally one sport source, if you plan around fixtures.

Do not add five sources hoping something sticks. Every source is downloaded and parsed on every refresh, and on a TV device that is real memory and real time. Two well-chosen sources beat five random ones.

When you run more than one provider, tie a source to the playlists it belongs to. Two providers using the same generic identifiers for different channels is a classic way to end up with confidently wrong programmes.

Frequently asked questions

Is there one XMLTV source that covers every country?

Global files exist, but they are a poor trade. You download tens of thousands of channels to use a few hundred, which costs parse time and memory on a TV device at every refresh. A country-scoped file is smaller, faster and usually better maintained.

How many days of guide should a good source publish?

Five to seven days is the practical sweet spot for national channels. Fourteen-day files exist but the last week is mostly provisional, and sport in particular gets rewritten days before broadcast.

Is a paid EPG service worth it?

For most people, no — free national sources cover mainstream channels well. A paid listings service earns its keep if you depend on accurate episode data, a large regional channel line-up, or a guarantee that the source will still be there next year.

How do I know a source is any good before relying on it?

Load it and check three things: how many of your channels it actually matched, how many days forward it reaches, and whether an evening programme starts at the right minute. A source that fails any of those will keep failing.

Once you have picked a source, the remaining work is matching it to your channels — see how tvg-id matching works. If the guide stays empty after adding a source, go through the loading checklist before blaming the source.