The Facebook #Sourcing Tutorial Part1

Dedicated to my old/new friends, Irina, Stacy and Jim who inspired me to complete this tutorial

START HERE! Boy, this is a little bit advanced stuff on how to crack Facebook Graph Search. If you are a newbie in leveraging Graph Search please first go watch Johnny Campbell’s video or read Glen’s posts or these posts on SourceCon. Once you have got the go and love into it I bet you will so much enjoy my tutorial.

(NB1: If you still do not have Graph Search please give a read to James’ recent post. That is a simple and genius way to get the access.) (NB2: To see most of the sample links added to this post you have to sign into Facebook first.)

But OK then! You should be ready for this journey by now.  Sit tight and fasten your seat belt and I am showing you all the secret ways how to make Graph Search totally serve all of your sourcing need.

QUITE A FEW DIFFICULTIES Facebook Graph Search is rather limited (surprised?). Often, when we search for something we do not get (the right or any) results. I have listed three major issues below but – don’t panic! – also figured out the solutions for them.

(1) When entering a search query into Graph Search (e.g. People who live in…) Facebook try to figure out what you are after and offer you variations of search queries. Nice! however, when you try and search for something special Facebook seem not to understand your wish.

issue1

(2) Have you seen Facebook’s request to use ‘simple phrases’? Well, ‘simple phrases’ usually are not applicable when we are sourcing. The query of searching for ‘Linux Engineers who live in Gelderland, Netherlands and speak Dutch’ contains three requirements and Facebook fail with that.

issue2

(3) Sourcers need to use keywords in their searches and while we understand Facebook is not as keyword-rich as LinkedIn is we believe there should be a way to search for, at least, job titles and employers. The sad fact is that this seems to be the most limited within Graph Search… so R.I.P. Facebook sourcing?

issue3

Of course, not! And I am going to show you the newest tricks how to maximize your location, language, employer and job title search. There is a solution for everything just be patient and bear with me.

ALL THE WORLD’S A PAGE Facebook is building pages and there is a page for everything. My profile is a page but also my employer added to my profile, Randstad Sourceright, is a page, too in Facebook’s terms. There are also fanpages, pages of interests, language pages, you can check in at certain places – and as said, places and any locations listed on Facebook are also just pages. The same structure everywhere!

Why is it so amazing for us? Because every page Facebook has developed has a unique ID number that Graph Search is using when you enter and run a search query.

This is the URL of the province I used above, Gelderland, Netherlands:

facebook.com/pages/Gelderland-Netherlands/236523019697099

The long number code at the end of the URL is the unique ID number of the location-page. If I want to find people who live in this location I have to add this ID number together with some other URL commands as follows:

facebook.com/search/236523019697099/residents/present

In some cases it is not easy to find the unique ID number as that is not added into a page’s default URL. My employer’s page URL, for instance, does not contain this code:

facebook.com/RandstadSourceright

To figure out a page’s unique ID number you have to play around with Graph Search.

Take my employer as a sample and run a query in Graph Search searching for ‘People who work at Randstad Sourceright’. With this you can see the unique ID number of the Randstad Sourceright page in the Graph Search URL. This is it:

facebook.com/search/107632737751/employees/present

If you have any doubts whether you found the right ID number you can easily double check by adding that to the URL like this:

facebook.com/107632737751

This above link will navigate you back to the original Randstad Sourceright page.

To see a person’s unique ID number just do the same and leverage Graph Search. For instance, this is the friends of one of my friends – check it out whose ID it is! 😉

facebook.com/search/511207059/friends

As you can see there is always some other words (commands) in the Graph Search URL in addition to the unique ID numbers. In my next post I will provide you with a listing of all of these commands. For now, I would like to give you some hot secret tricks that you can immediately build into your sourcing activity. Hope you will find it useful. Happy sourcing, my friend!

LOCATION SEARCH For location searches you have to add the /location-ID/residents/present commands into your Graph Search URL. The command /present can be replaced with /past and /ever to find former and ‘former or current’ residents of a location.

It is also important to mention that there is a solution to run a sort of radius search. (Hey, I only said ‘sort of’…)

When you complete a search for a certain city go to the very first result and hoover your mouse over the location (‘Lives in…’). A new window will pop up (actually, that is the location-page) and that will show you which state, province and/or country your city is located in. This can be extremely helpful when running a search in a country you are little familiar with.

location_search

LANGUAGE SEARCH Usually, you can run a language search with Graph Search in the traditional way (People who speak… or People who study…) but if you need to create a complex string (for instance, you have to find multi-lingual speakers) it is an easy way to work with the URL.

  1. Enter this query into Graph Search or use the language you need: Languages named “Polish”
  2. If you get multiple pages open the page on the top as usually that page is the most referenced by Facebook users
  3. Copy the page’s unique ID numberlanguage_search
  4. Go to Graph Search and add this command: /language-ID/speakers

If you need to search for multiple languages use this command /language-ID1/speakers/language-ID2/speakers/intersect. The command /intersect is needed and I will explain in my next post why.

This is the URL, for instance, of people who speak Polish, French and Japanese:

facebook.com/search/107623259267486/speakers/108106272550772/speakers/

109549852396760/speakers/intersect

And this is the URL to find everyone in the Netherlands who speaks the above three languages:

facebook.com/search/106123262753066/residents/present/107623259267486/speakers/

108106272550772/speakers/109549852396760/speakers/intersect

EMPLOYER SEARCH Here we have to apply quite a few tricks… The biggest issue with Facebook’s employer search is that Graph Search is only searching for employer pages and cannot conduct a keyword search. In addition to it, probably even worse, it is offering to go after only one employer page in one time.

One bigger employer, however, often has multiple pages on Facebook as employer pages are usually created on a country or on a business line or subsidiary basis. Randstad as an employer have more than 1000 pages on Facebook and we cannot search for all of them in the traditional Graph Search way.

employer_search

The work-around for this difficulty is described below:

  1. The command to find Employers named “Randstad” is this one: /str/Randstad/pages-named/employer/pages/intersect (Replace the keyword “Randstad” with yours but leave the other commands unmodified)
  2. Now we have to make Facebook understand that we are not looking for employers but the current employees of these employers so we add the following commands to the end of the above URL: /employees/present/intersect (Again, instead of /present you can use the /past or /ever commands, too, to look for former or ‘former and current’ employees)
  3. Usually, when we run a search by cracking the URL Facebook is translating our commands into wording (natural language search) and adding the words into the Graph Search box (People who…). Here, however, with this employer search Facebook is not adding the wording to the search box… Wow, you see that?! Facebook literally became speechless but is still working on my search!

Now, you can really combine your Graph Search string and create as complex queries as you just wish. This below string, for instance, is bringing us People who currently work for companies called “Randstad” and live in Hungary and speak “Polish”. You very-very much like it, don’t you!?

/search/str/randstad/pages-named/employer/pages/intersect/employees/present/intersect/

107623259267486/speakers/intersect/106502519386806/residents/present/intersect

WORK POSITION SEARCH The only way how you can currently search for work positions with Graph Search is using exact job titles. You can, for instance, search for People who are Linux Engineers and will get only a few results. Well, there is certainly thousands of Linux Engineers on Facebook so instead of logging off from Facebook work with the URL.

If you check the URL of the above query you see that there are two pages added into that: Engineers and Linux.

facebook.com/search/107629839267064/job/106021162761735/employees-2/present

The commands following the ID numbers are different and that made me thinking first.

After some long trial and errors I have figured out that if you use a keyword that has either an interest or a work position page you can embed that into your query and use as a sort of Boolean string keyword search. Use this one and see what you get: /106021162761735/employees. It is bringing everyone who has ever used the keyword Linux in their job title!

Now you can combine it and add a second keyword as well. I am summarizing how to do so:

  1. Run a search for Work position/Interest pages called “X” (your keyword; I will use IBM AIX)
  2. Open the top-end page and copy its ID number
  3. Go back to the above URL command (/106021162761735/employees) and add ID2/employees
  4. At the end of the URL add the command /intersect
  5. This is my query that searches for people who have ever had the keywords Linux AND AIX in their work position: /search/106021162761735/employees/132114323492885/employees/intersect
  6. As you see Facebook’s natural language search translation (Linux employees who are IBM AIX employees) is totally false as none of the people on my screenshot works either for IBM or for Linux – this is a pure job title keyword search!

job_title_search

OK, so by now, you have most probably got quite exhausted… Let me finally show you one last string that combines all of it. Still awake? Let’s go!

I want to find Employees of companies called “Google” who have “Account Manager” in their work position and speak French and live in Ireland. This is a search, the complexity that you cannot currently run in Graph Search with natural language search but you can conduct this search by little cracking the URL.

I am using again colors to help you see which command sits and where – you can replace them with your requests (and do not forget: request means here ID number). This is it: Employees of companies called “Google” who have “Account Manager” in their work position and speak French and live in Ireland

/search/108106272550772/speakers/105580162808279/residents/present

/str/google/pages-named/employer/pages/intersect-2/employees/present/intersect/

102190653156262/employees/intersect

Hope you enjoyed this tutorial – stay tuned and look for my second post in this topic. There is more to discover!

57 thoughts on “The Facebook #Sourcing Tutorial Part1

    1. What is the significance of “interesect” vs “intersect-2”

      Similarly, “employees” vs “employees-2”

      In what situation is an additional “-2” included in the url??

      1. Hi Jayesh! Yes, there is a -2 type command, however, I have not seen any difference those may do with the URL/string. You can replace them with the regular /intersect and the same results will appear.

  1. Hi Balazs, good to hear from you. Well, I tried what you suggested in the following string

    /search/108106272550772/speakers/105580162808279/residents/present/str/gsoogle/pages-named/employer/pages/intersect-2/employees/present/intersect/102190653156262/employees/intersect

    by replacing “intersect-2” with “intersect” and it did not show any results. I know this is a silly doubt which we can work around but just trying to understand the logic behind the two different commands. 🙂

    1. But this does work:

      /search/str/google/pages-named/employer/pages/intersect/employees/present/intersect/108106272550772/speakers/105580162808279/residents/present/102190653156262/employees/intersect

      It seems intersect-2 only operates on the last two elements (pages named google, and employers page) but intersect combines all elements back to the start of the search.

      There’s also a /union which you could use in the instead of French speakers in Ireland you simply wanted people who spoke French OR lived in Ireland

      /search/108106272550772/speakers/105580162808279/residents/present/union/str/google/pages-named/employer/pages/intersect-2/employees/present/intersect/102190653156262/employees/intersect

  2. wonderful put up, very informative. I wonder why
    the opposite specialists of this sector do not realize this.

    You must continue your writing. I am sure, you have a great
    readers’ base already!

  3. Hi Balazs. Do you know if exists the operator “not”? Like “not-friends” instead “friends” ?

      1. There is, but non-friends and non-groups seem to work only with me e.g. me/non-friends and need to be intersected with another search to be useful e.g.
        facebook.com/search/me/friends/groups/me/non-groups/intersect for groups my friends are in that I’m not in
        facebook.com/search/me/friends/friends/me/non-friends/intersect for friends of my friends who are not our mutual friends
        If you view source on any facebook page and search for intersect you will see a full list of operators, but some trial and error will be needed to get them to work. For OR use /union instead of /intersect

    1. Hello there, is there a way to use the search intersect to find people who’s name begins with letters of the alphabet? Im trying to figure out a way to not pull up the same people over and over again.

      1. I think it shows me the ones without button first, after I sent them a friend request. But I would like to not see them and only ones where I can send a request.

      1. Thanks.

        Do you think you’ll write another part of the tutorial (I’ve read the 2nd part)? I’m sure you’ve discovered many new URL queries since you wrote them!

      1. Hi, is there a way to source the “angry” and “love” tags? I think something like the “likes” category

  4. Like this… but for “angry” ones…./str/erzieherIn/pages-named/likers/intersect

      1. Jan, I think (but I might be wrong) that the like button (and /likers in the URL) is equally tracked at this stage regardless that is a like, a heart or an angry face.

  5. Thanks to your fast answer! That would be poor, because it might be very helpful who is angry about an topic or Company…..

  6. however, thanks a lot for your hard work here….. it is really helpful and nice to work with this search strings…

  7. Is it possible to search for photo album titles (not for individual photos which have missed tags/titles often)?

  8. Hi Balazs, I just came across your both tutorials and I am amazed. Really great work and thank you for sharing this with all of us.

    I have actually 2 questions.

    1) How can I find the ID of the country or speakers group? Like you use Ireland/Hungary and French/Japanese. What should I type into FB search please?

    2) I would like to search for posts with a given words e.g. Robots.
    This will give me a list of all the posts with Robots which will be sorted by Latest column.
    Is there any way to sort it for example by different criteria like Oldest, Shares, Comments or Engagement?

    I am looking forward to hearing from you and learning more about URL searching on FB.

    Regards
    Kamil

    1. Hi Kamil,

      Thanks for the feedback and the questions. Here are some answers:

      1) In these particular cases, I would use keywords and not the IDs but… if you want to check country go type in “people who live in…” and Facebook will bring this search for you. This is, for instance, “people who live in Hungary” – the long ID at the end is Hungary https://www.facebook.com/search/109316735753810/residents/present Concerning the language go search for the language’s page and the same applies here: the end number is the ID, like this: https://www.facebook.com/pages/Japanese-language/109549852396760

      2) So I just checked. You can sort by date of posting (it’s on the left hand side) but I am afraid you cannot sort in other ways (comments, engagement etc.).

      All the best – thanks fro reading my blog!
      Balazs

      1. It was some custom app created by Facebook representative I guess. As it is possible with the app then there should be a “code” that gives all the options.

  9. Hi Balazs,
    I’m looking for a way to access the much-toted

    “{music/books/whatever} my friends like”

    search, which currently returns a string query. I can’t find any reference to the url construction which results in this kind of graph search in your article or anywhere else. Do you have any idea what to try?

    Thanks for your insight!

    Leo

    1. Hi kg, the algorithm sees those as ‘likes’, no further differentiation. And likes are searchable on public pictures. Easiest way is using Shane’s tool.

Leave a Reply

%d bloggers like this: