Easily export data from Facebook groups


Export data from your Facebok groups.

This program comes with two executables: facebook-export which handles downloading and saving your information from Facebook and facebook-analyze which provides several ways for you to inspect and analyze your data.

To install:

First install node.js.

Then run in your terminal:

npm install -g facebook-export

To access your data through the Facebook API, Facebook requires you to use an access token. This must be included when you run facebook-export. The easiest way I've found is to grab one from Facebook's API explorer https://developers.facebook.com/tools/explorer

There click on the "Get Access Token" button and make sure you check the "user_groups" data permission. Once you've approved this app, copy the long random alphanumeric Access Token. We'll use it next to export your Facebook data.

You need to know the Group ID of the group you wish to export data from. To see a list of all your groups and their Group IDs run:

facebook-export -a <YOUR-ACCESS-TOKEN> -l

This should return a list something like:

* The Vinyl Club [122351275176234206]
* The Stanford 2nd Ward [1881523481214555]
* Frisbee [1462342888234234]
* etc.

To export the information (posts and members) for one of these groups run:

facebook-export -a <ACCESS-TOKEN> -g <GROUP-ID> -d

The downloaded information will be saved in LevelDB DBs at ~/.facebook-export

Once you've saved your information locally, you'll probably want to have a look at it. You'll use the facebook-analyze command for this.

To get a raw dump of the JSON encoded information from the API run:

facebook-analyze -g <GROUP-ID> -s

This will write all the group's posts to STDOUT.

You can filter posts by the year and month they were created in. E.g. to grab all posts from 2013 and save them to a file run:

facebook-analyze -g <GROUP-ID> -y 2013 -s >> posts_2013.json

I've also added a script which calculates an activity score for each member of the group. Members get points when they post/comment/like. To emphasize more recent activity, points have a 1/2 life of six months. Generate the activity chart by running:

facebook-analyze -g <GROUP-ID> -a