Skip to main content

TV listings XmlTv updated every day for 11 days


Every night, I generate an XmlTV TV guide for nearly 800 channels, and you can connect it to your IPTV player, your set-top box or your script with a single URL.

XmlTV is the format that almost all applications use to display a program guide (the EPG, the grid you see when you press the “Guide” button). The file is compressed in GZIP, weighs just under 30 MB, and updates itself once a night. For years, I focused on French channels. Then I changed my mind.

484 new channels in the file

At the end of October 2026, the complete file went from 314 to 798 channels. That's 484 more channels, all at once. There are mostly channels from Germany (205 channels) and Poland (165), but also Austria, Greece, Spain, Italy, the Netherlands, Switzerland and a few others. And about ten French channels that I didn't have yet. The old ones are all still there, none have disappeared.

And they're not empty shells. Each new channel comes with its real programs: titles, times, descriptions. The guide is genuinely enriched, not just made longer. Personally, the first time I scrolled down the channel list all the way to the bottom, I had time to make myself a coffee.

I prefer to be honest about one point: not all channels are treated equally. The French channels keep their 11 days. For the new ones, some only have 3 days of programs ahead of them, most have 7, and a few go up to a month. But everything is updated every night: today's third day becomes tomorrow's second day, and a new day arrives behind it. The guide never runs empty, it moves along with the calendar.

These new channels are in the complete file, the one for XMLTV and PRO subscribers. The free file keeps its 314 French channels.

They don't only exist in the file. The tv.digital3d.com website displays them too: a selector at the top of the page switches from France to Germany or Poland, and each logo carries its country's two letters. Handy when three Canal+ channels follow one another in the list. And the xmltv.digital3d.com API serves them too, with the same key as usual: GetChannelIds lists them all. And so does the MCP server: ask your assistant what's on tonight on TVN or ZDF, it will find it.

What changes for free accounts

Okay, let's be serious for two minutes. Some people were creating several accounts to download the complete guide without ever contributing. I wasn't born yesterday, so I changed the rules of the game. It comes down to one drawing: the days in green contain the real programs.

And since many of you only want the TV guide, without my software, there is now a plan just for that: the XMLTV subscription at €3 per month or €25 per year.

Free account

€0, one registration is enough

1 2 3 4 5 6 7 8 9 10 11
  • Today's and tomorrow's programs, complete
  • 2 downloads per day
  • One free account per IP address per day
  • The XmlTV API: 10 requests per day

XMLTV subscription

€3 per month or €25 per year, the guide and API only

1 2 3 4 5 6 7 8 9 10 11
  • Full schedules for 11 days
  • 24 downloads per day
  • The version without accents for old decoders
  • The XmlTV API: 300 requests per day
  • My software isn't included

Subscribe

PRO account

€12 per month, all my software included

1 2 3 4 5 6 7 8 9 10 11
  • Full schedules for 11 days
  • 1000 downloads per day
  • The version without accents for old decoders
  • The XmlTV API: 1000 requests per day
  • All my software included

Go PRO

One detail that matters: the free file keeps the same channels and the same schedule throughout the whole period. From the third day on, every time slot is still there, but its title is replaced by a reminder about the subscription and it no longer has a description. Your application doesn't crash, it just displays a guide that stops telling you anything after tomorrow.

The subscription, XMLTV or PRO, is taken into account from the next download, without changing the URL or key. It renews itself every month or every year, and you can stop it whenever you want from the subscription page: access remains open until the end of the paid period.

Getting the file

You need an API key, and it only takes a minute: create an account, verify your email address, then copy the key displayed in your account. Next, paste it into one of these URLs in place of VotreCleApi, without brackets or quotation marks.

FormatURLWho it's for
GZIPhttps://digital3d.com/api/xmltv/VotreCleApi.xml.gzEveryone. It's the lightest, take that one.
Raw XMLhttps://digital3d.com/api/xmltv/VotreCleApi.xmlDevices that require a URL ending in .xml.
Old URLhttps://digital3d.com/api/xmltv?userId=VotreCleApiThose already using it. It still works.

The first two are the simplest: no parameter, a real file extension, and they work in IPTV applications (iMPlayer, TiviMate and the like) that refuse redirects.

Does your receiver not speak HTTPS? Replace https:// with http://, it works too. It's made for satellite receivers (Enigma2, Dreambox, Vu+).

Once downloaded, the .gz can be opened with 7-Zip if you want to look inside.

The options

There are two settings, to be added at the end of the URL.

Without accents, for old receivers that display hieroglyphics instead of « é ». This variant is reserved for subscribers (XMLTV or PRO), the free file only exists in one version:

https://digital3d.com/api/xmltv/VotreCleApi.xml.gz?noAccent=true

Uncompressed, on the old URL only (on the new ones, the extension decides):

https://digital3d.com/api/xmltv?userId=VotreCleApi&noCompressed=true

Would you rather click? The page https://digital3d.com/XmlTv?Id=VotreCleApi starts the download from a browser.

If you receive a weird file

The service never responds with an error page, it always sends back XML, so applications do not crash. Two cases to know about.

You receive TooManyDownload.xml : the daily limit has been reached, either your 2 downloads, or another free account has already downloaded from the same IP address. The counter resets at midnight UTC, which means at 1 a.m. or 2 a.m. in France depending on the season.

You receive error.xml : the key is not recognized. Check that it is complete and that your account has been validated.

And there is no point downloading ten times a day : the file only changes once per night.

On an Enigma2 decoder (Dreambox, Vu+)

The guide can load itself every day on your box.

  1. Install the CrossEPG plugin.
  2. Download my configuration file.
  3. Open it in a text editor and put your key in this line, keeping http:// intact :
    epg_url_0=http://digital3d.com/api/xmltv/VotreCleApi.xml.gz
  4. Copy the file to the box, into /usr/crossepg/providers.
  5. On the box : Settings, System, EPG, CrossEPG. Choose "XmlTV Providers", then "France - Digital3d.com", save and launch "Download Now".

For geeks : the XmlTV API

Downloading 20 MB to find out what's on TF1 tonight is a bit like taking the truck out to get the bread. This is where it gets really interesting : I have an XmlTV API that responds in JSON, with the same key as the file.

The channel list is open to everyone, without a key :

curl https://xmltv.digital3d.com/api/GetChannelIds

And a channel's programs, with your key in the header :

curl -H "Authorization: Bearer VotreCleApi" "https://xmltv.digital3d.com/api/GetTvPrograms?channelId=TF1.fr"

You can also find what's on right now, search by title, the highest-rated programs and an endpoint for finding out your quota. Everything is documented in the Swagger, you can test it from the page.

As for the quota, it follows the same logic as the file. The green bar shows what you can request in one day.

Free API

€0, your account key is enough

10 per day
  • 10 requests per day
  • All endpoints, the same data as PRO
  • The list of channels and categories doesn't count
  • Enough to cobble together a dashboard or a home automation setup

XMLTV subscription API

€3 per month or €25 per year, the guide and API only

300per day
  • 300 requests per day
  • Enough to power a home automation setup or a small personal website
  • The complete file for 11 days as a bonus
  • Active from the next request, with the same key

Subscribe

PRO API

Included in the same €12 per month subscription

1000 per day
  • 1000 requests per day
  • Enough for a real application or website
  • The complete file for 11 days as a bonus
  • Active from the next request, with the same key

Go PRO

The TV guide in your AI assistant

Now this was fun. Asking your assistant “what's on France 2 tonight?” and getting the real answer, with the real times, is now possible. I connected the API to an MCP server (Model Context Protocol, the standard plug that lets an assistant fetch data from somewhere other than its memory).

The assistant gets seven tools: the list of channels, the categories, what's on right now, a channel's schedule day by day, search by title or actor, the highest-rated programmes and your quota. Everything is read-only, it can't break anything at your place or mine.

In every case you need the same thing: the API key from your My account page, the one already used for the file. Then go straight to the section for your tool.

With Claude Code

This is the simplest. Two lines to type in Claude Code:

/plugin marketplace add digital3d/xmltv-mcp
/plugin install xmltv@digital3d

It asks for your key, stores it in its vault, and that's it. Nothing else to install.

I tried it one Sunday evening by asking it what was on TF1. It gave me the whole evening in a little table: the news at 8:00 p.m., the weather, “Aquaman and the Lost Kingdom” at 9:10 p.m. with its IMDb rating (5.6 out of 10, I'll let you be the judge), then “Fast & Furious X” until 1:50 a.m. And at the bottom, my remaining quota. Honestly, it makes quite an impression.

Don't feel like using a plugin? The server can also be connected with a single command:

claude mcp add --transport http xmltv https://xmltv.digital3d.com/mcp --header "Authorization: Bearer VotreCleApi"

With Claude Desktop

For Claude Desktop, I prepared an extension: an .mcpb file to download from the releases page, one for Windows, one for Apple silicon Macs. You open it, enter your key in the form, done. No need for .NET or a terminal, everything is in the file. I installed it at home right away, and the TV guide answers in Claude Desktop just as it does in Claude Code.

With Codex

MCP is an open standard, so it doesn't stop at Claude. Codex, OpenAI's programming assistant, reads its servers from its ~/.codex/config.toml file. Add these three lines to it:

[mcp_servers.xmltv]
url = "https://xmltv.digital3d.com/mcp"
bearer_token_env_var = "XMLTV_API_KEY"

Then put your key in the XMLTV_API_KEY environment variable before launching Codex. I asked it what was on TF1 and how much of my quota was left: it called both tools and answered me “Grands reportages, in progress until 4:10 p.m.”

With OpenAI's API

For developers who call OpenAI's API from their own program, the server is declared as a tool, with the key in the header:

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "tools": [{
      "type": "mcp",
      "server_label": "xmltv",
      "server_url": "https://xmltv.digital3d.com/mcp",
      "headers": { "Authorization": "Bearer VotreCleApi" },
      "require_approval": "never"
    }],
    "input": "Qu'est-ce qui passe en ce moment sur TF1 ?"
  }'

The model finds the seven tools all by itself and queries the guide. Be careful not to confuse the two keys: OpenAI's authorizes the call to the model, mine opens the TV guide.

With ChatGPT

Here, it's more limited, and I might as well say it clearly. The ChatGPT application knows how to add an MCP server (on its plugins page, “Add custom MCP server” button), but it can't send a personal key: OpenAI only provides OAuth login there, or no login at all. I tried it by choosing “No authentication”: ChatGPT does call my server and gets the list of channels and categories, but as soon as you ask it for TF1's schedule, it says it's missing the key, without having anywhere to put it. So for programs in an OpenAI tool, use Codex or the API, just above.

On your machine, with any other client

Any MCP client that knows how to send an HTTP header can use the address https://xmltv.digital3d.com/mcp with Authorization: Bearer VotreCleApi. And if you have the .NET 10 SDK, the server also runs on your machine. The NuGet package downloads itself on the first launch, with this block in your client's configuration:

{
  "mcpServers": {
    "xmltv": {
      "command": "dotnet",
      "args": ["dnx", "XmltvDigital3d.Mcp", "--yes"],
      "env": { "XMLTV_API_KEY": "VotreCleApi" }
    }
  }
}

Are you on Linux and don't want to install .NET? Claude Desktop doesn't exist for Linux, so there's no extension on that side, but the releases page also offers an archive xmltv-mcp-1.0.10-linux-x64.tar.gz: a single executable that includes everything it needs. You unpack it with tar -xzf, then in the block above you put the path to the xmltv-mcp file in "command" instead of dotnet, and remove the args line.

This local version has one small advantage: it keeps the answers in memory for a few minutes, so asking the same question twice only costs one request.

How many questions per day?

Nothing new, it's the API counter: 10 requests per day for free, and the channel and category lists don't count. A question generally costs one request. When you only have two left, the assistant warns you. If ten aren't enough, the XMLTV subscription goes up to 300 starting with the next request, without waiting until midnight. The complete instructions are on GitHub, and for a question or a problem, write to me.

Just watch the listings

You don't have anything to connect and you only want to know what to watch? I made a small site for that: tv.digital3d.com. French channel listings in your browser, on your phone or computer, and nothing to install.

Why a subscription?

Because all this runs on a server that I pay for. Between hosting, bandwidth and maintenance (the sources change, things need fixing), the service costs me about €1,200 per year, not counting the evenings I've spent on it.

Let's be clear about what you're paying for: not the programmes themselves. They come from third-party public sources, they belong to their publishers and I don't sell them. The subscription is a contribution towards the server costs and the work of putting everything together and maintaining it, with expanded access in return.

The free option stays there for testing and light use. If the guide is useful to you every day, you have two plans:

In both cases, that's what keeps the service alive. Commercial use without a subscription isn't allowed.

Join the conversation

You need an account to comment on this article. Creating one is free and takes under a minute.

  • The XMLTV file, free to download every day
  • Comment on articles and reply to other readers
  • Get an e-mail when an article you follow is updated
joebar il y a 3 sem.
Bonjour,
Un peu déçu de devoir payer un abonnement, même si je comprends très bien que le temps passé à entretenir cet EPG plus les frais d'hébergement représentent un coût non négligeable.
On s'habitue à un fichier de qualité gratuit. Le seul reproche que je peux faire, c'est – de ce que je peux lire entre les lignes – que ceux qui, comme moi (je pense), en faisaient un usage raisonnable avec deux téléchargements par semaine se font pénaliser par certains qui abusent (comme toujours).
Je l'ai pris pour un an, ensuite je verrai si je renouvelle.
Cette demi mauvaise nouvelle (je dis demi nouvelle car cela devait bien arriver un jour ou l'autre) ne retire en rien à la qualité du travail effectuée jusqu'à présent.
joebarAdmin il y a 3 sem.
Hélas oui, c’est souvent comme ça : les utilisateurs raisonnables finissent parfois par subir les conséquences des abus de quelques-uns. Un peu comme certaines règles qui sont mises en place à cause d’une minorité, mais qui s’appliquent ensuite à tout le monde.

Merci en tout cas pour ton message, ta compréhension et surtout pour ton soutien. C’est vraiment apprécié.
irico1395free il y a 3 sem.
Étant chez free, ton EPG ne sert plus a rien
irico1395freeAdmin il y a 3 sem.
Tu fais partie de ceux qui a créer plusieurs comptes pour télécharger mon fichier, bon vent chez free
irico1395free il y a 3 sem.
Salut,

Non je ne comprends pas ,Il passe aussi via Dormuz ou l'Ukraine ton fichier, pas sympa en tout cas.
D'autre viable existe, dommage, car tu étais sympa, mais vraiment pas cool du tout, je doute tu réussisses à avoir du fric pour cela.
Bonne continuation et santé malgré tout

@+
irico1395freeAdmin il y a 3 sem.
3 ans de gratuit, 2 jours payant, voilà déjà un chouette commentaire de remerciement pour toutes ces années, on est toujours sympa quand c'est gratuit
Admin il y a 3 sem.
Mise à jour : l’accès complet au fichier XMLTV devient payant
Bonjour,

J’aimerais vous annoncer un petit changement concernant le téléchargement du fichier XMLTV, dont vous êtes nombreux à profiter.

J’ai constaté que certaines personnes créaient plusieurs comptes afin de télécharger gratuitement le guide complet, sans jamais contribuer au service.

Comme je ne suis pas né de la dernière pluie 😉, j’ai donc décidé de limiter désormais l’accès gratuit à 2 jours de programmes.

Pour ceux qui souhaitent continuer à recevoir le fichier XMLTV complet sur 11 jours, un abonnement est disponible à partir de 3 € par mois ou 25 € par an. À vous de choisir la formule qui vous convient le mieux.

Cet abonnement comprend :

Les programmes complets sur 11 jours

Jusqu’à 24 téléchargements par jour

Une variante sans accents, compatible avec certains anciens décodeurs

L’accès à l’API XMLTV, avec jusqu’à 300 requêtes par jour

Attention : mes logiciels ne sont pas inclus dans cet abonnement. Ils restent disponibles séparément dans leur version PRO.

Merci de votre compréhension,

David
Admin il y a 3 sem.
Mise à jour importante : le fichier XMLTV gratuit contient désormais 2 jours de programmes au lieu du guide complet. Ce service a un coût (serveurs, données, maintenance) et je ne peux plus l'offrir en entier sans contribution. Les abonnés PRO conservent le guide complet jusqu'à11 jours et profiteront des prochaines améliorations. Merci à tous ceux qui soutiennent le projet. Pour le programme complet inscrivez vous ici: https://digital3d.com/StripeAbo
Admin 18/02/2026 08:48
Nouvelle mise à jour: vous pouvez désormais utiliser une nouvelle URL pour Implayer ou autres logiciels capricieux: https://digital3d.com/api/xmltv/[VotreCleApi].xml ou (http sans le s http://digital3d.com/api/xmltv/[VotreCleApi].xml si cela pose problème, la documentation a été mis à jour)
Admin 14/01/2025 09:27
Merci, n'hésitez pas à regarder vous même la qualité du fichier XML en l'ouvrant avec un Notepad++, parfois c'est juste un caractère spécial qui s'est introduit.
Une erreur s'est produite. Cette application peut ne plus répondre jusqu'à ce qu'elle soit rechargée.Veuillez contacter l'auteur. Reload 🗙