Graph API Version

Page Tabs

This edge allows you create, delete, and reorder Page Tabs.

  • All operations require a Page access token.
  • You can only create tabs on Pages that have 2000 or more fans, or if you are an app developer with Admin privileges on those Pages.

Reading

Feature Permissions

NameDescription
Page Public Content AccessThis is a required feature permission

This Page's tabs and the apps in them

Example

Graph API Explorer
GET /v3.0/{page-id}/tabs HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{page-id}/tabs',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{page-id}/tabs",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/tabs",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
// For more complex open graph stories, use `FBSDKShareAPI`
// with `FBSDKShareOpenGraphContent`
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/tabs"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
If you want to learn how to use the Graph API, read our Using Graph API guide.

Parameters

NameDescription
tab
list<string>

tab

Fields

Reading from this edge will return a JSON formatted result:

{ "data": [], "paging": {} }

data

A list of Tab nodes.

paging

For more details about pagination, see the Graph API guide.

Validation Rules

ErrorDescription
200Permissions error
100Invalid parameter
159Invalid protocol, must be https

Creating

To update a tab's position, perform a POST operation and include the tab=TAB_NAME&position=TAB_POS parameters and values.

You can make a POST request to tabs edge from the following paths:
When posting to this edge, a Tab will be created.

Parameters

NameDescription
app_id
integer

The App ID for custom apps added tabs.

custom_image_url
URL

URL for an image for this tab app

custom_name
string

Custom name for this tab

is_non_connection_landing_tab
boolean

A flag to identify whether the tab is a custom landing tab for viewers who are not already connected to this Page

position
integer

Where this tab is located in the list of tabs

tab
string

The Tab key. For default apps which appear on tabs this is a value such as timeline. For custom apps this is app_{app_id}.

Return Type

This endpoint supports read-after-write and will read the node to which you POSTed.
Struct {
success: bool,
}

Validation Rules

ErrorDescription
200Permissions error
100Invalid parameter
210User not visible

Updating

You can't perform this operation on this endpoint.

Deleting

It may take a few minutes for the deletion to take effect.

You can dissociate a Tab from a Page by making a DELETE request to /{page_id}/tabs.

Parameters

NameDescription
tab
string

Tab key for the custom app to remove. For default tab apps this is a name such as timeline. For custom tab apps, this is app_{app_id} where {app_id} is the id of the custom app.

Required

Return Type

Struct {
success: bool,
}

Validation Rules

ErrorDescription
100Invalid parameter
200Permissions error