Download privacy protected Vimeo videos

Vimeo Logo

There are a lot of websites with embedded Vimeo videos for training or education purposes. Most likely these videos are domain-level privacy protected. That means only the specific website is permitted to embed the videos. If you try to embed the video on another website you will receive an error message.

Of course it’s very easy to identify the URL of the Vimeo video via the source code of the website but this doesn’t help you. The same error will be displayed if you attempt to access the video directly.

Sorry

Because of its privacy settings, this video cannot be played here.

Furthermore it’s not possible to download the video. There are numerous video download tools which promise a fast and easy download but they will all fail.

Download Vimeo videos

If you dig deeper into the privacy settings of Vimeo you will notice how domain-level privacy is working. Generally it’s no real security feature because it’s only based on the HTTP referer. So it’s no problem to handle this.

First of all we need free web debugging proxy Fiddler. This tool allows us to capture, analyze and modify HTTP and HTTPS traffic. You can download Fiddler here. Please use Fiddler 4 if possible which requires .NET Framework 4.

When the installation is finished please launch Fiddler. Now select „Rules“ from the menu and then „Customize Rules…“ (or CTRL + R).

A pop-up appears and wants to know if you want to download and install Fiddler2 ScriptEditor. I recommend that because it’s much easier to do the necessary changes with this editor than in Notepad.

In ScriptEditor search for „OnBeforeRequest“. This is where you can put the code to add or modify HTTP headers. We want to add a specific HTTP referer to all requests for Vimeo videos. Enter the following rules and don’t forget to adapt the referer.

if (oSession.uriContains("vimeocdn.com")) {
	oSession.oRequest.headers.Add("Referer", "http://www.myreferer.com");           
}
if (oSession.uriContains("player.vimeo.com")) {
    oSession.oRequest.headers.Add("Referer", "http://www.myreferer.com");
}

Save the File and close ScriptEditor, but leave Fiddler running. The Fiddler part is finished.

The only thing left to do is pointing your download tool to use Fiddler. You can achieve this with configuring a proxy server. I will not discuss it in detail because every software handles this differently. Just add a HTTP proxy with host „localhost“ and port „8888“.

Finally you should be able to download privacy protected Vimeo videos.

Tobi

Hallo, mein Name ist Tobias und ich habe diesen Blog im April 2009 ins Leben gerufen. Seitdem blogge ich hier über Software, Internet, Windows und andere Themen, die mich interessieren. SSDblog ist mein zweiter Blog, indem es rund um das Thema SSDs geht. Ich würde mich freuen, wenn ihr meinen Feed abonniert oder mir auf Twitter, Facebook, Google+ und Google+ (privat) folgt.

31 Antworten

    • Tobi sagt:

      Yes it’s still working with small adjustments.

      First of all you have to use two fiddler script rules (see article I updated it). Moreover your referrer should be only „http://www.sha-education.com“. The third thing is make sure that Fiddler decrypts HTTPS connections and trust the Fiddler Root-CA.

  1. Rodrigo sagt:

    Thank you man!
    Solved my problem!

  2. Ion sagt:

    Hello Tobi

    What is the download tool? Do you mean the Windows Download Tool? Or is an different program for download?

    • Tobi sagt:

      I didn’t refer to a special program. You could use your browser (Chrome, Firefox, etc.) or for example special download tools like JDownloader.

  3. Ion sagt:

    Hello Tobi

    You a great man. Thank you so much for
    beeing so kind and for your time. Your advices
    helped me to solve my problem.
    Thanks again.

  4. Dan sagt:

    Hi, I do not have a referrer – I only have a vimeo link e.g. https://player.vimeo.com/video/133341431/

    In case a referred is necessary i pasted the link on a site I have access to:
    https://www.ezymathtutoring.com.au/migration-new-system/

    Would that work?

    Also I am not sure how to set up proxy 100% – i googled it and in lan advanced settings for internet explorer i just put htp://127.0.0.1 and 8888 for the port…. but it all just gets stuck.

    Not sure where i’m going wrong, with the referrer or proxy?

  5. sam sagt:

    Hi

    I followed your instruction and I no longer get the privacy error, however I still cannot find the source .mp4 file to download. Tried via inspecting element in chrome& firefox and tried using jdownloader however i’m not very familiar with it?

    the vimeo link is : https://player.vimeo.com/video/221451337
    referrer: http://legacyelitetraining.co.uk

    What else must be done to extract video file from the vimeo link?

    • Tobi sagt:

      You are really close to your target. Go to your chrome tab where you can view the video. Right click the video and select „View page source“. After that search for „.mp4“.
      You should get four results. These are the originate URLs of the video. Try all URLs until you find the video with the highest resolution. Now paste that URL into a new tab and again right click on the video. Choose „Save video as…“ and the download starts.

    • Alex P. sagt:

      Hi! It works in this way . The link contains a long string similar with this one: https://fpdl.vimeocdn.com/vimeo-prod-skyfire…./339588987.mp4?token=….. the video file that ca be download by right click. Thanks Tobi!

  6. Ruslan sagt:

    If you don’t want to deal with local proxy setup you can use Referer Control plugin for Chrome. You just set what you want to have as a referrer for player.vimeo.com and it will automatically change it every time you open private videos.

  7. zasid sagt:

    https://www.patreon.com

    Will this going to work with this as its already using the HTTPS and not HTTP ? its the most hardest website to download embeded vimeo videos. Please reply when you get chance many thanks for your help on this.

  8. Jan sagt:

    Hello. Can you explain me exactly what i need to do if i want to download this video (it wil be active just today): https://thetruthaboutcancer.tv/agq-episode-4-20918964/?gl=59fb0bf8595c977c0b17930f&em=jankopetek.sola%40gmail.com
    As i am not good with this and got confused i would want whole procedure (and the easyest) to download this. I even dont know what is Referer and what do i need to change there and what do i need to check/do in there (in Fiddler).
    For other videos, that i can download i am using aTube Catcher.

  9. Mateusz sagt:

    Hello. Can you explain what I need to do now, because it’s not working.

    Video on site: https://radiopaedia.org/courses/abdominal-emergency-radiology-course-online/pages/147

    Referrer: „https://radiopaedia.org“ is it correct?

    Video url: https://player.vimeo.com/video/239720856

    I installed Fiddler and paste it:
    if (oSession.uriContains(„vimeocdn.com“)) {
    oSession.oRequest.headers.Add(„Radiopaedia“, „http://radiopaedia.org“);
    }
    if (oSession.uriContains(„player.vimeo.com“)) {
    oSession.oRequest.headers.Add(„Radiopaedia“, „http://radiopaedia.org“);
    }
    Is it correct?
    I would like to use Jdownloader to download it. Thanks a lot

    • Tobi sagt:

      No it’s not correct. Please try this:

      if (oSession.uriContains(„vimeocdn.com“)) {
      oSession.oRequest.headers.Add(„Referer“, „https://radiopaedia.org“);
      }
      if (oSession.uriContains(„player.vimeo.com“)) {
      oSession.oRequest.headers.Add(„Referer“, „https://radiopaedia.org“);
      }

  10. Mateusz sagt:

    Unfortunately, still it’s not working…
    Any ideas?
    I tried with JDownloader (I set proxy server with „localhost“ and port:8888). I have been asked for vimeo user and pass…
    Thanks

  11. Ion sagt:

    Hello Mateusz

    Why are you traying to download with JDownloader? Open the video with firefox and then click on the video and then select View source and then search for mp4. Copy url and open it in other tab and then right click on video and select save video.

  12. Ion sagt:

    Hello Mateusz

    https://gcs-vimeo.akamaized.net/exp=1522396119~acl=%2A%2F857653949.mp4%2A~hmac=035832087bb0fe2429e3c07a7a54c1a2a1c8bc334d68bc651c54d93e0b9834e4/vimeo-prod-skyfire-std-us/01/2944/9/239720856/857653949.mp4

    This is what you need?

    This is what I used:

    if (oSession.uriContains(„vimeocdn.com“)) {
    oSession.oRequest.headers.Add(„Referer“, „https://radiopaedia.org“);
    }
    if (oSession.uriContains(„player.vimeo.com“)) {
    oSession.oRequest.headers.Add(„Referer“, „https://radiopaedia.org“);
    }

  13. Vando Eduardo sagt:

    Hi guys, anyone able to give me a clue on what I might be doing wrong?

    Video: https://player.vimeo.com/video/269113832
    Referral (using Chrome > F12 > Network): http://lms-chat.trafficmanager.net/?t=80df14e1b29054dc57536a664a99eaa8

    What i’m adding to Fiddler:
    if (oSession.uriContains(„vimeocdn.com“)) {
    oSession.oRequest.headers.Add(„Referer“, „http://lms-chat.trafficmanager.net“);
    }
    if (oSession.uriContains(„player.vimeo.com“)) {
    oSession.oRequest.headers.Add(„Referer“, „http://lms-chat.trafficmanager.net“);
    }

    Proxy: Went to network setting, and choose to use url 127.0.0.1 port 8888…

    Even aftert all this, still unable to load video outside it’s original website…

    Using firefox, if I go to http://127.0.0.1:8888/https://player.vimeo.com/video/269113832, this is what I get:
    GET /https://player.vimeo.com/video/269113832 HTTP/1.1
    Host: 127.0.0.1:8888
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    Cache-Control: max-age=0
    Referer: http://lms-chat.trafficmanager.net

  14. Bernd sagt:

    Hi Tobi, thanks for your ongoing support!

    Unfortunately, I can’t manage to download videos.

    – I want to download videos from a closed membership site with url https://training.xyz.com/elearning/videopage_x

    – On this page is an embedded Vimeo video

    – I can find a Vimeo video url (but not directly in page source, only via Chrome Dev Tools F12). URL is https://player.vimeo.com/video/123456

    – When I paste this URL to new tab, it says „Sorry…. because of privacy settings…“

    – When I paste this URL to Jdownloader, it wants to have a password

    – „.mp4“ is displayed nowhere in source

    – I have set jdownloader proxy settings to 127.0.0.1:8888 for URL training.xyz.com (i.e. whitelisted this url)

    – I updated Fiddler rules to („Referer“, „https://training.xyz.com“) as well as „(„Referer“, „https://xyz.com“)

    – Fiddler is running, JD is running, website is opened, I’m logged in to website

    How is JD now supposed to download the embedded mp4??

    Thanks in advance!

  15. Jakob sagt:

    Bernd, I have the same issue as you. Still couldn’t find a solution.

  16. Lorenz sagt:

    Hey guys!

    So i am not that into source codes and stuff.

    I tried to download this video https://player.vimeo.com/video/256478671?autoplay=0 several times but i think i am copmletely messing it up.

    Can anyone help me with this?

    What code should i enter where, to run the download?

  17. none sagt:

    How do i run fiddler in OS? Nothing happens.

  18. Ion sagt:

    Hello none

    I also tried OS but I couldn’t make it running so I used windows.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.