XmlTv TV schedule updated every day for 11 days
Every night, I generate an XmlTV TV guide for around 300 French channels, and you can plug it into 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, it weighs around twenty MB, and it updates itself once a night. I focus on French channels. Other countries, frankly, I have neither the time nor the inclination.
What changes for free accounts
Well, 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 revised the rules of the game. It boils down to one drawing: the green days contain the actual programs.
Free account
€0, one registration is enough
- Today's and tomorrow's programs, in full
- 2 downloads per day
- A single free account per IP address and per day
- The XmlTV API: 10 requests per day
PRO account
€12 per month, all my software included
- Complete programs over 11 days
- 1000 downloads per day
- The version without accents for old set-top boxes
- The XmlTV API: 1000 requests per day
One detail that matters: the free file keeps the same channels and the same schedule throughout the period. From the third day onward, every 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 saying anything after the day after tomorrow.
The PRO upgrade is taken into account from the next download, without changing the URL or key.
Getting the file
You need an API key, and it takes a minute: create an account, verify your email address, then copy the key displayed in your account. Then, paste it into one of these URLs in place of VotreCleApi, without brackets or quotation marks.
| Format | URL | For whom |
|---|---|---|
| GZIP | https://digital3d.com/api/xmltv/VotreCleApi.xml.gz | Everyone. It's the lightest, choose that one. |
| Raw XML | https://digital3d.com/api/xmltv/VotreCleApi.xml | Devices that require a URL ending in .xml. |
| Old URL | https://digital3d.com/api/xmltv?userId=VotreCleApi | Those who already use 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 company) that refuse redirects.
Does your decoder not speak HTTPS? Replace https:// with http://, that works too. It's made for satellite receivers (Enigma2, Dreambox, Vu+).
Once downloaded, the .gz opens with 7-Zip if you want to look inside it.
The options
There are two settings, to add to the end of the URL.
Without accents, for old decoders that display hieroglyphics instead of « é ». This variant is reserved for PRO accounts, the free file only exists in a single 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=truePrefer clicking? 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 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 starts over at midnight UTC, so 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 a night.
On an Enigma2 decoder (Dreambox, Vu+)
The guide can load itself every day on your box.
- Install the CrossEPG plugin.
- Download my configuration file.
- Open it in a text editor and put your key on this line, keeping
http://in place:epg_url_0=http://digital3d.com/api/xmltv/VotreCleApi.xml.gz - Copy the file to the box, into
/usr/crossepg/providers. - 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 is on TF1 tonight is a bit like taking the truck to go and get 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 list of channels is open to everyone, without a key:
curl https://xmltv.digital3d.com/api/GetChannelIdsAnd 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 is on right now, search by title, the highest-rated programs and an endpoint to check your quota. Everything is documented in the Swagger, you can test it from the page.
For the quota, it is the same logic as for the file. The green bar shows what you can request in one day.
Free API
€0, your account key is all you need
- 10 requests per day
- All endpoints, the same data as PRO
- The list of channels and categories doesn't count
- Enough to hack together a dashboard or a home automation setup
PRO API
Included in the same €12-per-month subscription
- 1000 requests per day
- Enough for a real application or website
- The complete file for 11 days thrown in
- Active from the next request, with the same key
Just looking at the schedule
You don't have anything to plug in and you only want to know what to watch? I made a small site for that: tv.digital3d.com. The French channels' schedule in the browser, on your phone as on your 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 a year, not counting the evenings spent on it.
The free version stays there for testing and light use. If the guide is useful to you every day, the PRO subscription at €12 per month gives you the 11 days, removes the limits, includes all my software, and that's what keeps the service alive. Commercial use without a subscription is not allowed.
Join the conversation
You need an account to comment on this article. Creating one is free and takes under a minute.