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 und Facebook folgt.

57 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?

    • Tobi sagt:

      You need the original referrer. If you don’t have it you cannot continue. The proxy settings should be fine.

  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.

  19. Mary J. sagt:

    Hello Tobi,

    Thank you for sharing this knowledge.

    I would like to know if the owner of the video will know and can track me if I am downloading the video.

    I am asking it because the majority of the videos have copyright.

    thank you

  20. Mary J. sagt:

    Hello Tobi,

    Thank you for your help. I will try to apply this procedure to a Vimeo video and send you the feedback.

    By the way, I am using Linux OS Ubuntu. Does the Fiddler run on it ?

  21. John sagt:

    Hello Tobi I need help.

    I’ve already done this part.

    if (oSession.uriContains(“vimeocdn.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “https://training.xyz.com”);
    }
    if (oSession.uriContains(“player.vimeo.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “https://training.xyz.com”);
    }

    The Fidder is running in the background.

    What’s next?

    Because if i put

    https://player.vimeo.com/video/123456789

    link to google chrome. I still get the same

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

    What am I doing wrong?

    How do I access the video?

    Like this?

    http://localhost:8888/https://player.vimeo.com/video/243008420

    I’m just getting this response back.

    Fiddler Echo Service

    GET /https://player.vimeo.com/video/123456789 HTTP/1.1
    Host: localhost:8888
    Proxy-Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate, br
    Accept-Language: en-US,en;q=0.9
    Referer: https://training.xyz.com

    This page returned a HTTP/200 response
    Originating Process Information: chrome:46948
    To configure Fiddler as a reverse proxy instead of seeing this page, see Reverse Proxy Setup
    You can download the FiddlerRoot certificate

    Help!

  22. John sagt:

    Hello Mary J.
    I’ve tried your link and typed this in google chrome:

    http://localhost:8888/https://player.vimeo.com/video/109727604

    This is what i get.

    Fiddler Echo Service

    GET /https://player.vimeo.com/video/109727604 HTTP/1.1
    Host: localhost:8888
    Proxy-Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate, br
    Accept-Language: en-US,en;q=0.9
    Referer: https://cybrary.it/

    This page returned a HTTP/200 response
    Originating Process Information: chrome:24572
    To configure Fiddler as a reverse proxy instead of seeing this page, see Reverse Proxy Setup
    You can download the FiddlerRoot certificate

    I’m not getting the actual video link. I don’t know what I did wrong.

    By the way I’m using a Windows 10 PC.

  23. Mary J sagt:

    Hello Guys, is there a way to discover where a specific site is on vimeio without knowing previously the link ? As far as I am concerning, I need to know the website vimeo.com/”numbers” and the referer. If I only know the refer, and suspect that he is hosting the videos on vimeo. Is there such a mechanism to do it ?

  24. w sagt:

    Hi!

    Your method worked wonderfully to access private vimeo video but I’m still having trouble downloading it because browser streams it by m4s segments. Any insight how to overcome that?

  25. eras sagt:

    The method seems to have stopped working now.

  26. Steve sagt:

    Seems the same to me.
    Tobi – could you confirm that.

  27. rohit sagt:

    i am doing same but didn’t work for me please help
    video url-https://player.vimeo.com/video/308983249
    Referer- http://www.offline.my-pathshala.com

    i use this string as you said

    if (oSession.uriContains(“vimeocdn.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “http://www.offline.my-pathshala.com”);
    }
    if (oSession.uriContains(“player.vimeo.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “http://www.offline.my-pathshala.com”);
    }

  28. Jo sagt:

    Man, Thank you so much, I follow all the steps and completely worked.
    A Million of Thanks.

  29. Techgeek sagt:

    Hi,

    Thank you for sharing.

    In the example you have given the website is http but the site that I am trying to download from is https

    I have the url and also the Vimeo video link that comes up in Chrome that displays the above message.

    Will the above work on https websites sir?

  30. João Silva sagt:

    I am not able to do this. The video is this one: https://player.vimeo.com/video/312512888 and here’s the website: https://cursos.dialetico.com.br/mod/page/view.php?id=290 . I put this on fiddler: if (oSession.uriContains(“„vimeocdn.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “, „https://cursos.dialetico.com.br/”);
    }
    if (oSession.uriContains(“„player.vimeo.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “https://cursos.dialetico.com.br/”);
    }
    Then I tried the referer control chrome plugin but I really dont know how it works. Can you tell me if you can do it with this video? I would like to download it

  31. João Silva sagt:

    Hi Tobi, I did all that but now how do I download the video? I don’t know what to do. Sorry for my ignorance

  32. Virat sagt:

    Hello Tobi,

    Is this method still working?

    I am having a paid subscription to a video-tutorials website which uses Vimeo.
    The website is not accessible through a Normal Web Browser(like Chrome or Firefox) but it uses a Custom Windows App (a modification of chromium project).

    I have configured the Fiddler

    if (oSession.uriContains(“vimeocdn.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “https://that.tutorial-site.com”);
    }
    if (oSession.uriContains(“player.vimeo.com”)) {
    oSession.oRequest.headers.Add(“Referer”, “https://that.tutorial-site.com”);
    }

    Where am I doing it wrong? How Can I download the Video now?

    P.S. I analysed the network tab (inspect element) so the content under XHR tab was .m4s

    Kindest Regards

    • Tobi sagt:

      Hello Virat,
      yes this method still works. But in your case it could be problematic. Can you see the URL of the website in the Windows app? If not you don’t know the referer and can’t download the videos with this method.
      Best regards
      Tobi

  33. Virat sagt:

    Thanks for your Reply Tobi,

    I know the referee. I am just not aware of what to do next after setting up the Fiddler.
    Where will I get the video file? Sorry if it’s a noob question.

    Regards

  34. Niket sagt:

    Thanks for the article! Recently there is a Chrome extension (https://chrome.google.com/webstore/detail/vimeo-private-downloader/bigelpnhidcahdkpmbgpllmiibdkllai?hl=en) to download private vimeo videos.

    This was the simplest– just play the video and click on search vimeo videos and click 1920px or whatever resolution you need.

  35. SB sagt:

    Hi Tobi,

    funktioniert diese Methode immer noch? Ich habe es noch nicht zu 100% verstanden, aber ich zahle ohnehin für die Referrer-Website, auf denen die Videos liegen.

Schreibe einen Kommentar

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