# Get Started



This document explains how to successfully call the Pages API to post to your Page.

## Before You Start

You will need the following:

* A Facebook Page, this can be an unpublished or published Page on which you can perform the `CREATE_CONTENT` task.
* A Page access token for the Page
* The following permissions:
    * `pages_manage_metadata`
    * `pages_manage_posts`
    * `pages_manage_read_engagement`
    * `pages_show_list`

### Best Practices

When testing an API call, you can include the `access_token` parameter set to your access token. However, when making secure calls from your app, use the [access token class.](https://developers.facebook.com/documentation/facebook-login/guides/access-tokens#portabletokens)

## Step 1. Get Your Page ID

To get a list of IDs and Page access tokens for Facebook Pages on which you can perform a task, send a `GET` request to `/user_id/accounts` endpoint where `user_id` is your user ID.

#### Example Request

*Formatted for readability. Replace **bold, italics values**, such as **page_id**, with your values.*

```curl
curl -i -X GET "https://graph.facebook.com/v25.0/user_id/accounts?access_token=user_access_token"
```

On success, your app receives the following JSON response that includes an array of objects. Each object contains information about a specific Page including the name, ID, a short-lived Page access token, tasks you can perform on the Page, and more:

```json
{
  "data": [
    {
      "access_token": "page_access_token",
      "category": "Internet Company",
      "category_list": [
        {
          "id": "2256",
          "name": "Internet Company"
        }
      ],
      "name": "Name of this Page",
      "id": "page_id",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT"
      ]
    },
...
```

## Step 2. Publish a post {#post}

To publish a post, send a `POST` request to the `/page_id/feed` endpoint, where `page_id` is the ID for the Page you are publishing to, with the `message` parameter set to your message content and the `access_token` parameter set to the Page access token:

#### Example Request

*Formatted for readability. Replace **bold, italics values**, such as **page_id**, with your values.*

```curl
curl -X POST "https://graph.facebook.com/v25.0/page_id/feed" \
     -H "Content-Type: application/json" \
     -d '{
           "message":"your_message_text",
           "access_token":"page_access_token",
         }'
```

Your post will be published immediately.

On success, your app receives the following JSON response with the ID for the post:

```json
{
  "id": "page_post_id"
}
```

Visit your
[Facebook Page](https://www.facebook.com)
to view the post.

## Step 3. Verify Your Post

To verify that the post was published to your Page, send a `GET` request to the `/page_id/feed` endpoint:

#### Example Request

*Formatted for readability. Replace **bold, italics values**, such as **page_id**, with your values.*

```
curl -i -X GET "https://graph.facebook.com/v25.0/page_id/feed?access_token=page_access_token"
```

On success, your app will receive the following JSON response with an array of objects. Each object includes the post ID, the message content, and the time the post was created:

```
{
  "data": [
    {
      "created_time": "2020-03-25T17:33:34+0000",
      "message": "Hello World!",
      "id": "422575694827569_917077345377399"
    },
...
  ]
}
```

## Use the Graph Explorer

The [Graph Explorer tool](https://developers.facebook.com/tools/explorer) is a UI that allows you to experiment with Facebook APIs without adding code to your app or website. You can select permissions, get access tokens, test `GET`, `POST`, and `DELETE` methods, and get code snippets of these queries for Android, iOS, JavaScript, PHP, and cURL.

Note, you will need a [Facebook App ID](https://developers.facebook.com/docs/apps#register) to use the Graph Explorer.

### Step 1. Get Your Page ID

Select the  the `pages_manage_metadata`, `pages_manage_posts`, `pages_manage_read_engagement`, and `pages_show_list` permissions, which ever appear within the Permission dropdown menu, set the `GET` request to the `/me/accounts` endpoint in the query box, and click **Submit**.

Click on the ID of your Page, displayed directly beneath the name of your Page, to move the ID to the query box.

### Step 2. Post as a Page

Under the **User or Page** drop down menu, select the Page access token for your Page. Next, set the method to `POST` with a request to the `/{page-id}/feed` endpoint, then set the **Params** `key` to `message` and the `value` to your post text. Click **Submit**.

On success, the Graph Explorer will show the ID of the Page post.

Visit your [Facebook Page](https://www.facebook.com) to view the post.

### Step 3. Verify Your Post

Send a `GET` request to the `/page-id/feed` endpoint.

On success, the Graph Explorer will display the time the post was created, the text of the post, and the ID of the Page post.

## Next steps

Learn how to get and update information about your Facebook Page include Page details, access tokens, blocked users, and user recommendations, using the [Manage a Facebook Page guide](https://developers.facebook.com/documentation/pages-api/manage-pages).

Learn how to [publish links, photos, and videos to your Page](https://developers.facebook.com/documentation/pages-api/posts).

## See Also

#### Graph API guides

- [Access Tokens](https://developers.facebook.com/documentation/facebook-login/guides/access-tokens)

- [Graph API User Guide](https://developers.facebook.com/docs/graph-api/using-graph-api)

- [Graph Explorer User Guide](https://developers.facebook.com/docs/graph-api/explorer)

- [Pages API Overview – Tasks](https://developers.facebook.com/documentation/pages-api/overview#tasks)

#### References

- [Page Reference](https://developers.facebook.com/docs/graph-api/reference/page)

- [Page Feed Reference](https://developers.facebook.com/docs/graph-api/reference/page/feed)

- [Page Post Reference](https://developers.facebook.com/docs/graph-api/reference/page-post)

- [Permissions Reference](https://developers.facebook.com/docs/permissions)

- [User Accounts Reference](https://developers.facebook.com/docs/graph-api/reference/user/accounts)