Skip to main content

Facebook

Using hosted SimplePost? See connection requirements. The credential setup below is for your own SDK, local CLI, or self-hosted integration.

Facebook automated posting is for Pages. Personal profile posting is not supported by the Facebook APIs used by SimplePost.

Content support

Current hosted app and core source

CapabilitySimplePost support
Text / caption (characters)63,206 text
Media10 items max; 10 images max; 1 video max; No mixed images/video
Image size4 MiB maximum
Video size4 GiB maximum

These validation limits also match published SDK 1.3.1.

Provider permissions and quotas still apply. SimplePost storage can impose a lower upload limit. MB/GB use decimal bytes; MiB/GiB use binary bytes.

Set up credentials

1. Create a Facebook Page

Use your personal Facebook account to create or select the Page you want to post to. You must be an admin or have equivalent page management permissions.

2. Create a Meta developer account

Open Meta for Developers and complete developer registration if needed.

3. Create a Facebook app

If you also plan to post to Instagram, create the app through the Instagram guide so one Meta app can be used for both Facebook and Instagram.

For Facebook-only posting:

  1. Open Meta Apps.
  2. Create an app.
  3. Select a Page management use case if available.
  4. Finish app creation.

4. Add required permissions

In the app use-case or permissions area, add:

pages_manage_posts
pages_show_list

If your Page is connected to a business portfolio, you may also need:

business_management

5. Get a Page access token

The simplest owner-only path is the Graph API Explorer:

  1. Open Graph API Explorer.
  2. Select your app.
  3. Choose Get Page Access Token.
  4. Grant the required permissions.
  5. Call /me/accounts.
  6. Copy the Page ID and the Page Access Token for the target Page.

Use the Access Token Debugger to inspect token type, permissions, and expiration.

6. Extend the token

Short-lived Page tokens can expire quickly. Use the Access Token Debugger to extend the user token, then call /me/accounts again to obtain a long-lived Page token.

Environment variables

FACEBOOK_PAGE_ACCESS_TOKEN=
FACEBOOK_PAGE_ID=

Both variables must be set together.

SDK options

Schedule a Facebook post through Facebook's native scheduling support:

await post({
content: { text: "Scheduled Facebook post" },
platforms: ["facebook"],
options: {
facebook: {
publishAt: "2030-01-01T12:00:00Z",
},
},
});

REST server account

Add this entry under accounts in the self-hosted REST server's accounts.json:

{
"id": "fb-page",
"platform": "facebook",
"platformAccountId": "1234567890",
"credentials": {
"pageAccessToken": "...",
"pageId": "1234567890"
}
}