For developers

Post to Facebook Page with the 1Post API

Post to Facebook Page from code with one request: POST /v1/posts with your Page id, the text and a schedule_at time. Facebook Page text is limited to 63,206 characters, counted by code points. 1Post allows up to 25 posts a day for each connected Page, and a dry run checks a post against every rule first.

Updated 2026-10-26

Connect Facebook Page first

  1. 01

    Open Accounts in 1Post and choose Connect.

  2. 02

    Pick Facebook.

  3. 03

    Sign in with Facebook and approve access for the Page you want to post to.

  4. 04

    Choose the Page in 1Post. It is ready to pick in the composer.

Then GET /v1/accounts returns the id of the Facebook Page Page to use in the request.

Facebook Page posts go into one of the account's Pages; GET /v1/accounts/{id}/targets lists them.

Send a post to Facebook Page

Schedule a post
curl https://api.get1post.com/v1/posts \
  -H "Authorization: Bearer $ONEPOST_API_KEY" \
  -H "Idempotency-Key: facebook-page-first-post" \
  -d '{"accounts":["ACCOUNT_ID"],"text":"Saturday market: fresh bread from 8am.","schedule_at":"2026-11-02T15:00:00Z"}'

The reply is 202 with the post (status scheduled) and one destination for Facebook Page, which moves from queued to published or failed.

What you can send to Facebook Page

  • Text
  • Link
  • Photos
  • Video
  • Reels
  • Stories
  • First comment

What Facebook Page publishes

  • A scheduled Page post needs a publish date between 10 minutes and 30 days after the request, with the post set as unpublished.

Facebook Page rules the request is checked against

RuleWhat 1Post checks
Text limit63,206 characters, counted by code points
Media acceptedImages, Video
Videos per post1
Images and video togetherNot in one post
Video length3 seconds to 90 seconds
ThreadsNo
First commentYes, up to 8,000 characters
Posts per day, per connected account (1Post)25

The same table with sources is on the Facebook Page specs page.

Facebook Page options in the request

  • First comment: add first_comment with text (up to 8,000 characters) to an account object, and delay_min if it should wait.

Check the post before it is queued

Add "dry_run": true to test a post: nothing is kept, a valid one answers 200 and a broken one answers 422 naming the rule.

A refused request, abridged
{
  "error": {
    "code": "invalid_for_platform",
    "message": "facebook_page refuses this post: Facebook Page counts 63,238 of 63,206 characters in part 1. (text_too_long).",
    "fix": "Fix the rule named in the message and send the post again.",
    "retryable": false,
    "request_id": "REQUEST_ID"
  }
}

An assistant connected to the MCP server sends the same fields to create_post; set one up.

Try it

Start a trial

7-day trial for $1. Connect your accounts and schedule a week of posts in one sitting.

Start a trial
Free in your browser

Free tools

Count characters the way each network does, split threads and preview posts. No account needed.

Open the tools
For builders

API and MCP

Post to every network from your own code or assistant with one key, signed webhooks and idempotent requests.

See the API

Questions

Can I post to Facebook Page with an API key?

Yes. A key with write scope can create, change and cancel Facebook Page posts for the workspace it belongs to, with the role of the member who made it. See API authentication.

What happens if a Facebook Page post breaks a rule?

The request is refused with invalid_for_platform and the failing rule is named. Fix it and send the request again, or send it with dry_run to test the fix first.

How many Facebook Page posts can I send in a day?

Up to 25 for each connected Page. A request that would pass that answers daily_cap with the time the day frees up.

Sources

Get this week’s posts scheduled

Connect your accounts, write once and let 1Post publish on time while you get on with the rest of your day.