How I downloaded all videos from a private Facebook group

This is a short tutorial for how to use yt-dlp to download videos from Facebook. I haven't used Facebook in ages, however I used to be quite active on there many years ago and shared a lot of content in a specific group with friends. Since I wanted to archive all that content I had to figure out some way to download all the content on there because Facebook is a shit site that makes this process difficult for reasons that don't belong in this post. Anyway, this process was more difficult than I originally had thought it would be. I looked into web scrapers which were too complicated for me to figure out but after some browsing and asking ChatGPT I came up with my own solution using yt-dlp that worked great. I really have to do a post about yt-dlp sometime. It is one of my favorite pieces of software, but I digress.


So if you're in the same situation or just curious to read this you can follow these steps, I'll also tell about the process and some of my thoughts behind the decisions I made.


1. Create a fake profile

I used inboxes.com to create a disposable E-Mail. I used the blondmail.com one, in case you care about that. Then I used Google Chrome with no browser extensions installed to create the profile. I did that because I wanted to make sure Facebook doesn't interfere with the account creation, I suspect they do not like any ad blockers and they surely prefer people using Google Chrome, a shit browser that is terrible for privacy. I accepted all the stupid cookies and et voilĂ , I had no issues at all accessing the website. Had I used LibreWolf with uBlock Origin like I usually do I am sure this process would have been annoying. I had a friend add me to the group and went to the media-, then the "video" tab and scrolled down all the way, so all video links are displayed on the page.


Scroll down to the very bottom of the video page on Facebook

2. Create a folder to put all the contents in

I made sure I did this in a drive with enough space, then I added yt-dlp.exe to that folder, which you can download here.

3. Install and use the browser extension "Link Klipper"

Before I used this I started copying the videos one by one and pasting them into a .txt file. Once I realised the sheer amount of videos I looked for an alternative and ChatGPT provided me with this solution. It worked great! I simply clicked on the extension, pressed "Extract all Links" and had downloaded a neat list of all links. I looked for the video files and put them in a separate file called facebook.txt. The only issue left was that every link had " brackets before and after the link. This would interfere with yt-dlp, so I removed them all with one click with Notepad++ by pressing CTRL + H and then choosing the " symbol and replacing it with nothing. After that I saved the file and added it to the folder that we created in the previous point where yt-dlp.exe is also located.


This is Notepad++ which only exists for Windows. On Linux or Mac you'd have to figure out a different way

4. Install and use the browser extension "Cookie-Editor"

This is important because this plugin allows to export a file that grants yt-dlp access to your account to download the content. I installed the plugin and change the settings for it to export in "Netspace" Format. Then I went to the Facebook tab in Chrome, opened the extension and press "Export". This will copy text to your clipboard. I created a file called cookies.txt and pasted the contents in there. Now, I also added this cookies.txt file to the folder I previously created.


Here is the Netscape setting, JSON will not work

5. Download the content with yt-dlp

Alright, at this point I am ready to download the content. So I am going into my folder, highlight the address bar, type in cmd and press enter. A command prompt opens up. Using the same filenames for the text I will now use a yt-dlp command to download everything. First, just for good measure, I run an update for yt-dlp by typing yt-dlp -U and press enter. For Facebook especially it's good to have the newest version. Then I copied this command into the command prompt and pressed enter: yt-dlp --write-info-json --cookies cookies.txt --batch-file facebook.txt


It now downloads all the content I pasted into the facebook.txt file, sit back and enjoy!


Something I've noticed is that download speeds are quite slow on Facebook, ranging from 70kb/s to 300kb/s. Usually yt-dlp is very fast (it is to my knowledge the fastest way to download videos from webpages); Facebook seems to artificially bottleneck the speed. This is nothing new, however Facebook is the page with the most extreme bottleneck I've encountered so far. I also want to note that I am writing this on 5th October 2024 and Facebook often implements new measures to prevent people from downloading the data. So if you are looking this page up, future person, chances are that this method may not be viable anymore. I will probably not update this page due to me not having any reason to visit Facebook ever again.