The Facebook #Sourcing Tutorial Part1

Posted: 08/11/2013 in cracking, facebook

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.


(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.


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


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:

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:

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:

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:

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:

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!😉

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.


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:


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


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.


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



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.

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!


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




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

  1. […] When you are searching for candidates on Facebook (more info on how) you have an incredible advantage of being able to search for interests. Your position is located […]

  2. I enjoy reading a post that can make people think. Also, thank
    you for allowing for me to comment!

  3. […] 1) The Facebook #Sourcing Tutorial by Balazs Paroczay . It’s not “just” a tip but a whole methodology of constructing Facebook Graph searches. Once you go through the initial digesting of the technique, you would be able to create searches like “People who like Python programming language have worked at Apple and have worked at Google and live near San Francisco, California” in no time. This technique allows to create searches even beyond those that Facebook can express in English, such as this: Registered Nurses who work at Kaiser. […]

  4. […] in Five Sourcing Tips I Learned From Others that sourcer/recruiter Irina Shamaeva recommends is The Facebook #Sourcing Tutorial. Invoke your powers of concentration and carve out a bit of time to absorb this step-by-step guide […]

  5. […] my last graph search post I was mainly focusing on leveraging FB IDs in the search. Now I am showing you how to use the /str […]

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

      • thebalazs says:

        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.

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


    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.🙂

    • Mike says:

      But this does work:


      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


  7. […] my last graph search post I was mainly focusing on leveraging FB IDs in the search. Now I am showing you how to use the /str […]

  8. m88 says:

    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!

  9. […] As far back as 2013, the ever perspicacious Balazs paid close attention to the URL’s when experimenting with Graph Search and he was able to piece together commands and utilize specific ID’s that allow you to construct Facebook Graph Search queries via custom URL’s and essentially search for just about any combination of information on Facebook profiles that you could possibly imagine. […]

  10. Jad El Argane says:

    the easiest way to get the ID of a page or a profile is by changing the WWW with the word ” graph” and hit enter. here is an example = ==> the ID will be the first on top. and so many useful things lol.
    by the way your work is wonderful. Thank you so much.

  11. Trey Neill says:

    Reblogged this on The Rhythm Within.Us.

  12. to find Page’s ID press ctrl+u and search page_id
    to find personal page’s ID press ctrl+u and search fb://profile/

  13. and what about finding groups by people who live in a place?

  14. Philipe says:

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

    • thebalazs says:

      Hi Philipe, unfortunately not wirking this way. Only positive (AND) queries are supported.

      • Mike says:

        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. for groups my friends are in that I’m not in 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

      • thebalazs says:

        Excellent, Mike! Thx for sharing!

      • Philipe says:

        Fast reply🙂, tks.

      • Philipe says:

        Great, Mike. Really works, tks.

  15. […] passive candidates has opened. When Balázs Paróczay first wrote about how the graph works and how can you (ab)use it, the potential capabilities shocked the sourcing world. Although the user interface and the […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s