SP.Web.getSubwebsForCurrentUser Method (sp.js)

SharePoint 2013

Returns the collection of child sites of the current site based on the specified query.

Last modified: April 27, 2014

Applies to: apps for SharePoint | SharePoint Foundation 2013 | SharePoint Server 2013



Type: SP.SubwebQuery

Specifies which child sites to return.

If the query is not valid, the server must return an empty collection.

The following example creates an input button on an application page that displays the titles of the child sites of the current site.

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
<script type="text/ecmascript" language="ecmascript">

    var webCollection = null;
    function runCode() {

        var clientContext = new SP.ClientContext.get_current();
        if (clientContext != undefined && clientContext != null) {
            var web = clientContext.get_web();

            this.webCollection = web.getSubwebsForCurrentUser(null);

            clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));

    function onQuerySucceeded() {
        var webInfo = 'Child sites of the current site: \n\n';
        var webEnumerator = this.webCollection.getEnumerator();
        while (webEnumerator.moveNext()) {
            var web = webEnumerator.get_current();
            webInfo += web.get_title() + '\n';

    function onQueryFailed(sender, args) {
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());


    <input id="Button1" type="button" value="Run Code" onclick="runCode()" />


See Web resource for more information.

Endpoint URI structure


HTTP requests

This resource supports the following HTTP commands:

POST syntax

POST http://<sitecollection>/<site>/_api/web/getSubwebsForCurrentUser(query)

Resource parameters