One REST call to post to Facebook via API

Send one authenticated request to /social-posts and post to Facebook via API: text, a photo, a video, a 2-10 image carousel, a Reel, or a video Story on a Facebook Page you have connected.

AdaptlyPost API request publishing to a Facebook Page, showing the pageIds connection field, facebookConfigs postType, and the per-platform publish result

Trusted by Creators and Teams

See how creators, marketers, and small businesses use AdaptlyPost to stay consistent and save hours every week.

I'm a software engineer, not a marketer. My partner runs a TikTok page, so I help out by scheduling her posts, I batch everything in one sitting and let the AI handle the captions. Takes me about 20 minutes a week now.

Denys Zinych
Denys Zinych

Software Engineer

I run my nail art page and a personal brand. Scheduling both from one dashboard changed everything, I actually post consistently now and my engagement went up pretty noticeably within a month.

Irena
Irena

Content Creator

I'm an SWE and honestly terrible at posting consistently. I just line up a week of updates for my personal brand whenever I have a spare minute, and the AI drafts captions per platform so I'm not rewriting the same thing five different ways.

Dorian Opacki
Dorian Opacki

Software Engineer

I'm a software engineer, not a marketer. My partner runs a TikTok page, so I help out by scheduling her posts, I batch everything in one sitting and let the AI handle the captions. Takes me about 20 minutes a week now.

Denys Zinych
Denys Zinych

Software Engineer

I run my nail art page and a personal brand. Scheduling both from one dashboard changed everything, I actually post consistently now and my engagement went up pretty noticeably within a month.

Irena
Irena

Content Creator

I'm an SWE and honestly terrible at posting consistently. I just line up a week of updates for my personal brand whenever I have a spare minute, and the AI drafts captions per platform so I'm not rewriting the same thing five different ways.

Dorian Opacki
Dorian Opacki

Software Engineer

I'm a software engineer, not a marketer. My partner runs a TikTok page, so I help out by scheduling her posts, I batch everything in one sitting and let the AI handle the captions. Takes me about 20 minutes a week now.

Denys Zinych
Denys Zinych

Software Engineer

I run my nail art page and a personal brand. Scheduling both from one dashboard changed everything, I actually post consistently now and my engagement went up pretty noticeably within a month.

Irena
Irena

Content Creator

I'm an SWE and honestly terrible at posting consistently. I just line up a week of updates for my personal brand whenever I have a spare minute, and the AI drafts captions per platform so I'm not rewriting the same thing five different ways.

Dorian Opacki
Dorian Opacki

Software Engineer

I'm not a social media person but I need to post my work somewhere. The AI writer drafts something decent, I tweak it a bit, schedule it, done. Went from posting once a month to three times a week.

Denys Kholin
Denys Kholin

Freelance Designer

We connected our OpenClaw agent to AdaptlyPost and now our AI posts product updates across all channels automatically. It sounds futuristic but honestly it just works. The API integration was straightforward.

Taras Shynkarenko
Taras Shynkarenko

Startup Founder

I'm not a social media person but I need to post my work somewhere. The AI writer drafts something decent, I tweak it a bit, schedule it, done. Went from posting once a month to three times a week.

Denys Kholin
Denys Kholin

Freelance Designer

We connected our OpenClaw agent to AdaptlyPost and now our AI posts product updates across all channels automatically. It sounds futuristic but honestly it just works. The API integration was straightforward.

Taras Shynkarenko
Taras Shynkarenko

Startup Founder

I'm not a social media person but I need to post my work somewhere. The AI writer drafts something decent, I tweak it a bit, schedule it, done. Went from posting once a month to three times a week.

Denys Kholin
Denys Kholin

Freelance Designer

We connected our OpenClaw agent to AdaptlyPost and now our AI posts product updates across all channels automatically. It sounds futuristic but honestly it just works. The API integration was straightforward.

Taras Shynkarenko
Taras Shynkarenko

Startup Founder

How it works

Step 1

Create a token, then list your Pages

Generate a key in Settings > API Tokens (it starts with adaptly_) and send it as Authorization: Bearer on every call. Then GET /social-accounts: each Facebook Page you connected in the dashboard comes back as its own account with a pageId field. Personal profiles and Groups never appear - Facebook publishing here is Pages-only, and OAuth happens in the dashboard, not over the API.

Step 2

POST /social-posts with pageIds

Call POST https://post.adaptlypost.com/post/api/v1/social-posts with text, platforms: ["FACEBOOK"], a timezone such as Europe/Berlin (both are required), and pageIds holding exactly one Page - two Page connections in the same array are rejected with a 400. Add scheduledAt to schedule instead of publishing now. facebookConfigs takes only postType and videoTitle, and postType REEL or STORY is applied only when contentType is VIDEO: an IMAGE payload with postType STORY silently goes out as a normal feed photo.

Step 3

Read the Facebook result

GET /social-posts/:id/results returns the Facebook entry with its status and the native platformPostId - no permalink is ever returned, so store that ID against the Page yourself. Payload errors never show up here: a carousel outside the 2-10 image range or a second Page in pageIds fail synchronously with a 400 on the create call, before any post record exists, and unsupported file types are refused earlier by POST /upload-urls. What lands in errorMessage is what Facebook did after we accepted and dispatched the post - a Page whose access was revoked (reconnect it in the dashboard, there is no token-refresh endpoint), or media the Graph API refused during its own ingest. Re-fire only the Facebook entry with POST /social-posts/:id/retry, or register a webhook: every endpoint you register receives all four events - post.published, post.failed, post.partially_failed and post.scheduled.

Simple, transparent pricing

Choose the perfect plan for your needs

Creator

Perfect for individuals and solopreneurs

$19

/month

  • 30 connected social accounts

  • Unlimited scheduled posts

  • 1 team member

  • 3 workspaces

  • 150 credits/month

  • AI Captions

  • AI Image Studio

  • API access & OpenClaw integration

  • Image, video & carousel posts

Most Popular

Pro

For professionals and growing teams

$39

/month

  • 60 connected social accounts

  • Unlimited scheduled posts

  • 5 team members

  • 15 workspaces

  • 400 credits/month

  • AI Captions

  • AI Image Studio

  • API access & OpenClaw integration

  • Image, video & carousel posts

Enterprise

For agencies and enterprises ready to scale

$89

/month

  • 100 connected social accounts

  • Unlimited scheduled posts

  • 20 team members

  • 50 workspaces

  • 1000 credits/month

  • AI Captions

  • AI Image Studio

  • API access & OpenClaw integration

  • Image, video & carousel posts

All plans include a 7-day free trial

Want to see the full feature comparison? View pricing page

What the API can publish to a Facebook Page

Text posts to the Page feed

contentType TEXT sends the text field straight to the Page timeline. There is no link-preview control, no first comment, no @mention or location field, and no boosting - the payload is the copy and nothing else.

Photos and 2-10 image carousels

One image, or contentType CAROUSEL with 2 to 10 images in a single Page post. Files must be image/jpeg, image/png, or image/webp and stay under 4MB each (no GIF, no HEIC). Point mediaUrls at your own public URLs, or push files through POST /upload-urls for presigned uploads.

Reels from facebookConfigs.postType

Set contentType VIDEO and facebookConfigs.postType = REEL to publish a Facebook Reel, with an optional videoTitle. Uploads accept video/mp4 and video/quicktime. postType and videoTitle are the only two Facebook-specific options the API exposes.

Video Stories on the Page

facebookConfigs.postType = STORY publishes a Page Story, but only from a video - image Stories are not possible through the API. Everything routes to the single Page named in pageIds; fanning the same copy out to a second Page takes a second call.

Ready to publish to your Facebook Page over REST?

Connect a Page in the dashboard, create an adaptly_ token, and send your first POST /social-posts call. The OpenAPI 3.0.3 spec at /openapi.json is public and needs no auth.