Since I am a bit of a sucker for German “Krimis” as well as some their excellent documentaries I like to watch ARD Mediathek IPTV. However there are several problems with this when you live at the opposite side of the world. ARD has a block for any films that are 15+ years outside of 20.00h-6.00h GMT+1. Which makes it pretty much impossible to watch at a reasonable time in Australia. I also like to watch these things on the plane which requires download of the media files.

Install JSON Parser

sudo apt-get install jq

Download script

chmod +x


./ -f save_as_filename.mp4 -q 3 MEDIATHEK-URL

The -f and -q parameters are optional.
-f filename.mp4 (or full path + filename to save in different directory). Defaults to original filename
-q quality setting from 0 to 3 (where 0 is lowest and 3 highest quality). Defaults to highest quality

Please leave a comment if you find any issues or log an issue on GitHub.

NOTE (2014-07-06): If you are only interested in the Tatort series I suggest you look at this script by Felix Knecht (see comment below)

Leo Gaggl

ict business owner specialising in mobile learning systems. interests: sustainability, internet of things, ict for development, open innovation, agriculture

This Post Has 11 Comments

  1. Felix


    I was just pointed in your direction after I released a script as well:
    Mine is a lot more specialized and is mainly meant to be run via a cronjob and queries an rss feed. So I think instead of making mine more generalized I’ll just link to your script :)

  2. Leo Gaggl

    @Felix: Thanks for sharing. I like your’s for the auto-download. Might use it myself for Tatort ! I added a note to the blog. Gruss von down under !

  3. Carsten

    I have used your script but I have one little question request. Is there a chance that I could filter out “Hörfassung” und “Vorschau” ?
    Many thanks !

  4. Felix

    Just wanted to run your script on debian. The jq package is not in the repos though. Have you found(/looked for) a solution or is the only way to install jq manually somehow?

  5. Gnuso


    I always get the error message “No DocumentID found in URL”. Am I using the wrong URL?

    Thanks in advance!

  6. Leo Gaggl

    This is most likely very outdated. With every change to the Mediathek backend, new obfuscation components are added.

    I ended up using for the limited TV watching I am still doing….

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.