Skip to content

API

Facebook Pages API for scheduling

SkedCast's `/v1` REST API schedules text, image, link, carousel, video, Reel, and Story to Facebook Pages with one authenticated `POST` call — the same request shape as every other connected platform, with Facebook Pages's own required fields folded in.

All platforms

Scheduling to Facebook Pages through SkedCast's API#

SkedCast's /v1 REST API schedules text, image, link, carousel, video, Reel, and Story to Facebook Pages the same way it does every other platform: one POST https://api.skedcast.com/v1/posts call with a content caption and a targets block naming the connected accounts. You need a Facebook Page (page admin access), connected once through the console (or minted as a self-serve connect link via POST /v1/clients/:id/connect-invites).

SkedCast is not a raw wrapper over Facebook Pages's own developer API — it is one versioned, platform-agnostic contract that fans a single compose call out across every connected network, with the Facebook Pages-specific fields listed below folded into the same request shape.

Example: schedule a post to Facebook Pages#

json
{
  "clientId": "…",
  "content": "Our Q3 roadmap is live — link in the first comment.",
  "targets": { "mode": "accounts", "accountIds": ["…"] },
  "schedule": { "type": "at", "at": "2026-10-01T09:00:00" }
}
POST https://api.skedcast.com/v1/posts — Authorization: Bearer sked_live_…, Idempotency-Key: <uuid>

Facebook Pages facts#

FactValue
Max caption length63,206 characters
Media per postup to 10 media items per post.
Native platform schedulingYes — SkedCast hands the timer to Facebook Pages's own scheduler
SkedCast's default pacing50 posts/day, ~1 min apart per account (conservative anti-ban default — not Facebook Pages's own published rate limit; see the rate-limit guide below)
Published-post URL (permalink)the feed/video/Reel forms are derivable from the stored {pageId}_{postId} id; Stories are read live (permalink_url) since they have no addressable feed URL.

Reading status and results#

GET https://api.skedcast.com/v1/post-targets/:id returns the Facebook Pages target's status (scheduled, published, failed, …), plus error, statusReason, and retryAt when it's parked waiting on something — SkedCast's own pacing, a platform rate limit, or media still transcoding, each with its own machine-readable reason. Once published, externalId and permalink (see the table above) point at the live post.

  • Subscribe to target.published / target.failed webhooks (or the legacy post.* pair) instead of polling — see [Webhooks](/developers/webhooks).
  • Or connect an MCP client and ask an agent to check — see [Connect an AI agent](/mcp).
Facebook Pagesapischedulingrest

FAQ

What can I schedule to Facebook Pages through the API?
Facebook Pages posts of type: text, image, link, carousel, video, Reel, and Story, via one `POST https://api.skedcast.com/v1/posts` call — the same endpoint used for every other connected platform.
Can I schedule directly on Facebook's own scheduler through the API?
Facebook is one of only two platforms (with YouTube) where SkedCast hands the timer to the platform's own native scheduler instead of holding it ourselves — the API behaviour is identical either way; `nativeSchedule` in the capabilities response just tells you which engine owns the wait.
How do I authenticate against the Facebook Pages API endpoint?
The same way as every `/v1` route: an API key (`Authorization: Bearer sked_live_…`) or an OAuth 2.1 bearer token, scoped to `posts.compose` to schedule and `posts.read` to read back status. See Authentication.

Ready to broadcast everywhere?

Sign up free — no credit card. You land on the Free plan, and you can start a one-time 7-day Studio trial from your workspace whenever you are ready. Connect your first accounts, import a batch, and watch one post fan out across every platform.