---
title: "Publish to Pages: Post to Facebook via API"
description: "One REST call to post to Facebook via API: Page text, image, video, 2-10 image carousels, Reels, and video Stories, published now or scheduled."
url: "https://adaptlypost.com/en/usages/post-to-facebook-via-api"
---

# 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.

[Get an API key](https://adaptlypost.com/en/signup)

![AdaptlyPost API request publishing to a Facebook Page, showing the pageIds connection field, facebookConfigs postType, and the per-platform publish result](https://cdn.adaptlypost.com/public/adaptlypost_dashboard.png)

### A REST endpoint for Facebook Page publishing

Bearer-token auth, Pages addressed by pageIds, facebookConfigs for Reels and Stories, presigned media uploads, and webhooks that fire when the Page post lands or fails.

[ManagePost to all your platforms at onceShare to Instagram, TikTok, YouTube, X, and more with one click. Each post auto-adapts to fit the platform.](https://adaptlypost.com/en/features/post-multiple-social-media-accounts-once)

[ScheduleVisual content calendarPlan your week at a glance and never miss your best posting times.](https://adaptlypost.com/en/features/social-media-content-calendar)

[IntegrateAPI access & OpenClaw skillConnect via API or let your OpenClaw AI agent manage posts for you. Automate social media with natural language commands.](https://adaptlypost.com/en/features/openclaw-integration)

[GenerateAI image generator for social mediaGenerate scroll-stopping images in seconds. Just describe your vision and let AI bring it to life.](https://adaptlypost.com/en/features/ai-social-media-image-generator)

[CreateAI caption generator for every platformGet caption ideas, rewrite for different platforms, and add trending hashtags, all with one prompt.](https://adaptlypost.com/en/features/ai-caption-writer)

[OrganizeSocial media content plannerSee drafts, scheduled posts, and published content in one place. Know exactly what's going live and when.](https://adaptlypost.com/en/features/ai-social-media-scheduler)

## 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](https://cdn.adaptlypost.com/public/denys.jpg)Denys ZinychSoftware Engineer](https://www.linkedin.com/in/denys-zinych-b75543287/)

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](https://cdn.adaptlypost.com/public/irena.jpg)IrenaContent Creator](https://www.instagram.com/iirennails/)

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](https://cdn.adaptlypost.com/public/dorian.jpg)Dorian OpackiSoftware Engineer](https://www.linkedin.com/in/dorianopacki/)

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](https://cdn.adaptlypost.com/public/denys.jpg)Denys ZinychSoftware Engineer](https://www.linkedin.com/in/denys-zinych-b75543287/)

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](https://cdn.adaptlypost.com/public/irena.jpg)IrenaContent Creator](https://www.instagram.com/iirennails/)

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](https://cdn.adaptlypost.com/public/dorian.jpg)Dorian OpackiSoftware Engineer](https://www.linkedin.com/in/dorianopacki/)

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](https://cdn.adaptlypost.com/public/denys.jpg)Denys ZinychSoftware Engineer](https://www.linkedin.com/in/denys-zinych-b75543287/)

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](https://cdn.adaptlypost.com/public/irena.jpg)IrenaContent Creator](https://www.instagram.com/iirennails/)

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](https://cdn.adaptlypost.com/public/dorian.jpg)Dorian OpackiSoftware Engineer](https://www.linkedin.com/in/dorianopacki/)

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](https://cdn.adaptlypost.com/public/denysK.jpg)Denys KholinFreelance Designer](https://www.linkedin.com/in/denys-kholin/)

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](https://cdn.adaptlypost.com/public/taras.jpg)Taras ShynkarenkoStartup Founder](https://www.linkedin.com/in/taras-shynkarenko/)

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](https://cdn.adaptlypost.com/public/denysK.jpg)Denys KholinFreelance Designer](https://www.linkedin.com/in/denys-kholin/)

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](https://cdn.adaptlypost.com/public/taras.jpg)Taras ShynkarenkoStartup Founder](https://www.linkedin.com/in/taras-shynkarenko/)

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](https://cdn.adaptlypost.com/public/denysK.jpg)Denys KholinFreelance Designer](https://www.linkedin.com/in/denys-kholin/)

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](https://cdn.adaptlypost.com/public/taras.jpg)Taras ShynkarenkoStartup Founder](https://www.linkedin.com/in/taras-shynkarenko/)

## 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

[Start 7-day Trial](https://adaptlypost.com/en/signup)

* 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

[Start 7-day Trial](https://adaptlypost.com/en/signup)

* 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

[Start 7-day Trial](https://adaptlypost.com/en/signup)

* 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](https://adaptlypost.com/en/pricing)

## 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.

[Get an API key](https://adaptlypost.com/en/signup)
