in Projects, Programming, Technology

Gist Power Tip: Export Facebook Page Fans

October 13th 2011 update: This blog post is out of date. Recent Facebook changes broke the script and I’m working to fix it. Please enter your email to be notified when the new export script is available.

Your email ==>  

Businesses that embrace social media are faced with the challenge of communicating with customers on Facebook, Twitter, and other social networks. While philosophically I think this fragmentation is good, it is critical to be able extract, evaluate, and communicate with your user base wherever they may find you.

Facebook member and fan lists are not very portable. Even within Facebook, it isn’t obvious whether a Facebook Group or Facebook Page is better for communicating with customers. Gist is an emerging as a social Swiss Army knife (and social CRM) that can help solve this problem.

One thing that has always annoyed me about Facebook Pages is that there is no way to export fans. I’ve discovered workable hacks for downloading the member list from both groups and pages.

For Facebook groups, you can use the handy Export group members to CSV application. It uses the Facebook API to export members in to a handy Comma Separated Value file, which you can in turn import into Outlook or Gist.

Export Facebook group members

Using the EGMCSV app, select your group and the attributes “Facebook ID”, “Full name”, and “Picture URL”. Once you have a CSV file, edit the column names to those below.

  • facebook_id
  • Name
  • facebook_pic_big

These are undocumented CSV columns that Gist supports. They are required to track that the contact came from Facebook. Gist will automatically download their photo.

Import CSV into Gist

In Gist, click the “Account” link, then “Other/CSV” under “Connect More Accounts”. Once Gist has processed your file, contacts will start to appear.

Gist contact import

Getting fans from a Facebook page is not yet supported by the Facebook API. Luckily, the Facebook Web interface uses a simple AJAX/JSON call to supply the data when you view the page.

Gist Fans

My strategy to set this data free was to sniff the network traffic with the Wireshark tool, then replay the HTTP calls with a ruby script. The script below will iterate over the page’s fans, save the pages as JSON in plain text files, then load the text files and convert them to CSV files in the format we used above for groups. Note that if you run this you will need to substitute the value of your cookies and the form values in the HTTP post body. This insures you are authenticated as yourself when you connect to Facebook.


Here is the text-friendly version of the Facebook Page Fan export script. I didn’t try this with pages for which I am not the administrator. I don’t see any reason why this wouldn’t work for your competitors’ fans.

The net result is a consolidated list of fans (prospects and leads) in Gist.

Gist People List

Gist will help de-dup contacts whether they originated from Facebook or Twitter. You could for example, use Gist to identify customers from your Web site that are on Twitter, and generate a special Twitter focused mailing to them. Gist has a ways to go to make this easier (bulk contact tagging by import), and also does not yet automate the communication side of the process (send a message to a person regardless of what network they are on).

Write a Comment



  1. can someone confirm before i go through all these steps if this exports the email addresses for the fans of the page? or only the names and facebook ids? i need email addresses for my fans.

  2. Hi all,

    I want to create and update fan page from my website without login to facebook. Is there any API to create facebook fan page ?

  3. I don’t think you can create one, but I believe you can post a status update – just like any other Facebook profile.

  4. Hey Adam. This is awesome. It worked great for me for my Page. Quick question – any easy way to get the friend count for each FB user in the csv?

  5. Hi Adam,

    I have been trying to use your facebook code, with no avail to export fans form a page I am admin of. This is the script that I am using. Please help 🙂

    var uri = ‘/ajax/social_graph/fetch.php?__a=1’;
    var lastResponse = null;
    var usersPerPage = 100;
    var totalUsersDownloaded = 0;
    var throttle = 3000; // how long to wait between pages
    var startPage = 0;
    var endPage = 10; // change this if you have more than 1,000 fans

    // Find the social graph node ID (page profile ID) by peeking at meta tags
    var getNodeId = function() {
    var metaTags = document.getElementsByTagName(‘meta’);
    for (i in metaTags) {
    var tag = metaTags[i];
    if (tag.content && tag.content.match(/_([0-9]+)_/)) {
    return tag.content.match(/_([0-9]+)_/)[1];
    return null;

    // Process the AJAX call response and dump the user data to the console
    var OnResponse = function(e) {
    console.log(‘— Page: ‘ +;
    lastResponse = e; // for debugging

    for (userId in e.payload.user_info) {
    var userData = e.payload.user_info[userId];
    console.log(userId + ‘,’ + userData.title + ‘,’ + userData.subtitle + ‘,’ + userData.pic)

    console.log(‘Downloaded: ‘ + totalUsersDownloaded + ‘ of ‘ + e.payload.count)
    if ( <= endPage && totalUsersDownloaded < e.payload.count) {
    setTimeout(function() { downloadUsers( + 1); }, 3000);

    // Make an AJAX call for the data using FB's AJAX library
    var downloadUsers = function(page) {
    var nodeId = profileid;

    if (!nodeId) {
    alert('Sorry couldn\'t find profile ID');

    var data = {
    edge_type: 'fan',
    page: page,
    limit: usersPerPage,
    node_id: nodeId,
    'class': 'FanManager',
    post_form_id: document.getElementById('post_form_id').value,
    fb_dtsg: document.getElementsByName('fb_dtsg')[0].value,
    lsd: null,
    post_form_id_source: 'AsyncRequest'

    var req = new AsyncRequest()
    .setURI(new URI(uri))

    result = req.send();


  6. Hi, is there any way to extract facebook fanpage creator’s/admin’s info? I need it badly. Please help me 🙁

  7. Hi Adam,

    I would like to export my fans from one Facebook page to another. I can’t request a merge because they have slightly different names but they are the same musician (me). Is there a way to do this?

  8. I tried script from git in chrome and firefox with profile_id (nodeId) hardcoded (and dinamic from meta) and returns a 404 status after post, it seems they changed something in their ajax requests or is “me”:D.

  9. Yes, the inner workings of Facebook changed. I’ve got a fix for those who previously purchased the premium script. It scrapes the data from DOM nodes instead of using Facebook’s AsyncRequest libraries.

  10. I find the new ajax route but it needs a little reverse engineering of the scripts. I hope it will be an update if i can’t/can hack this:D.

  11. Adam, I was a big fan of your old AJAX script. Have you figured out a new way to do this? I would purchase a “premium” script as well.

  12. You mentioned a work around for buyers of the premium script. Is this still for sale? If so I’m interested. Shoot me an email.

  13. When I copied the code and pasted it on javascript console (Chrome) it returns: SyntaxError: Unexpected token ILLEGAL

    Please help.

  14. hi adam, where could i get the script to get the info of my fanpage fans ?
    thanks, best regards

  15. I sure could use a working script too! Just trying to get a list of likes off my business page so I can select a random person from the list of likes. Really just need names in the simplest sense. Any luck on an updated script? Or a premium version? Thanks much!

  16. I’m interested in using this script too. please email me if you’ve gotten this to work. Happy to get a paid version as well. Thanks.

  17. Adam, Have you figured out a new way to do this? I would purchase a “premium” script as well.

  18. Hi Adam,
    I have face book page .That page is liked by more face book user.Is there any way to get face book user email id and profile id.Please help me in this problem if you know

  19. Hi Adam,
    Can you predict if you will get the script done? I would make a donation for it.
    Thanks, Pi

  20. Adam, as with everyone, I am also interested in getting the emails of the “likers” of the pages I admin. Do advise if you are still offering a premium version for our purpose. Thanks!

  21. Adam, interested in getting the email ids of about 0.3 Mn members on our fan page but not familiar with scripting. Can you help us extract these ids without putting the page at risk from FB? How much would that cost?

  22. Hey,

    It seems the new url is “[THE_PAGE_ID]&edge=public_profile%3Afbpage_to_user&start=[OFFSET]&__user=[YOUR_USER_ID]&__a=1” , but there is a limit of 500 users returned … bummer.

  23. Sherryl – Thanks for checking in. I haven’t researched it lately, and haven’t heard anything from Facebook about it. It has been quite a while so I will look again when I have the chance!

  24. I’m also interested in extracting emails out of a facebook fan page, that I am the admin of. Possible?

  25. hello – I was trying to order a script from you on Fiverr –if that’s you. They sent me to this link. Can you please contact me?


  • How to Transfer Your Facebook Friends to Twitter & Other Networks [Bookmarklet] May 14, 2017

    […] friends– not your Facebook page’s friends. I’m hoping that Adam Loving will update his Facebook Page Hack for this! (Any update on […]

  • Killing Facebook Personal Pages For Your Nonprofit » Social Needia May 14, 2017

    […] is an old script that used to scrape your likes and allow you to export to csv and Excel (here).  Unfortunately, Facebook has seemed to have caught up to this script and doesn’t love that […]

  • How to Migrate your Facebook Friends to Twitter and Google+ | Ian Anderson Gray May 14, 2017

    […] your Face­book pages. There have been many hacks that have tried to achieve this (not­ably this Javas­cript hack by Adam Lov­ing — @adamloving) but many either don’t work or have been removed, pre­sum­ably […]

  • Beth Granter – Interesting data projects and articles May 14, 2017

    […] Gist Power Tip: Export Facebook Page Fans – if out of date, check comments […]

  • Is it possible to track the source of fans of a Facebook fanpage? - Quora May 14, 2017

    […] try and I don't know if they can also show what you are asking for, but maybe it helps a bit.…Insert a dynamic date hereCannot add comment at this […]

  • Gagner des bijoux Molusk sur Facebook ! | Molusk : Création de bijoux fantaisie en plastique contemporain May 14, 2017

    […] n’ai pas trouvé de méthode simple pour faire un tirage au sort parmi nos fans Facebook, ou pour exporter cette liste en format .CSV. […]