How To Specify People as a Search Scope / Content Source Using SharePoint 2013 REST API

I had reason to work with the SharePoint 2013 Search API via REST for the first time.  I wanted to search for people, not documents.  The key learning here is that you specify content sources via its GUID (or at least in this case). The following jQuery snippet shows how:

    loadExpertsAsync: function() {

        jQuery.support.cors = true;

        $.ajax({
            url: this.CreateFullApiUrl() +
                "?querytext='portals'&sourceid='b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Skills,AboutMe,Interests,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit=99",
            method: "GET",
            headers: { "Accept": "application/json; odata=verbose" },
            cache: false,
            success: function (result) {

In my case, I’m running the API against SharePoint online. To get the GUID, I followed these steps:

  1. Access the SharePoint admin center
  2. Select “search” from the left hand navigation
  3. Select “Manage Result Sources”
  4. Select “Local People Results”
  5. Look at the URL.

My URL looked something like:

https://xyzzy-admin.sharepoint.com/_layouts/15/searchadmin/EditResultSource.aspx?level=tenant&sourceid=b09a7990%2D05ea%2D4af9%2D81ef%2Dedfab16c4e31&view=1

The sourceid parameter is what worked for me.

(I understand that the sourceid may actually be a sort of permanent thing with SP, but I’ll always check anyway 🙂 ).

</end>

undefinedSubscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

2 thoughts on “How To Specify People as a Search Scope / Content Source Using SharePoint 2013 REST API

  1. Ashish Patel

    Yes, Paul it seems the IDs are fixed in all SP13 environments and here is list that I got from another source:

    Documents e7ec8cee-ded8-43c9-beb5-436b54b31e84
    Items matching a content type 5dc9f503-801e-4ced-8a2c-5d1237132419
    Items matching a tag e1327b9c-2b8c-4b23-99c9-3730cb29c3f7
    Items related to current user 48fec42e-4a92-48ce-8363-c2703a40e67d
    Items with same keyword as this item 5c069288-1d17-454a-8ac6-9c642a065f48
    Local People Results b09a7990-05ea-4af9-81ef-edfab16c4e31
    Local Reports And Data Results 203fba36-2763-4060-9931-911ac8c0583b
    Local SharePoint Results 8413cd39-2156-4e00-b54d-11efd9abdb89
    Local Video Results 78b793ce-7956-4669-aa3b-451fc5defebf
    Pages 5e34578e-4d08-4edc-8bf3-002acf3cdbcc
    Pictures 38403c8c-3975-41a8-826e-717f2d41568a
    Popular 97c71db1-58ce-4891-8b64-585bc2326c12
    Recently changed items ba63bbae-fa9c-42c0-b027-9a878f16557c
    Recommended Items ec675252-14fa-4fbe-84dd-8d098ed74181
    Wiki 9479bf85-e257-4318-b5a8-81a180f5faa1

    Reply
  2. Pingback: Example SharePoint REST Calls « Paul Galvin's SharePoint Space

Leave a Reply

Your email address will not be published. Required fields are marked *