Skip to main content

Facebook API Guide

Publish text posts, image posts, Reels, video posts, and link shares to Facebook Pages. PostEverywhere handles Facebook's Graph API interactions, media uploads, and post creation through a single endpoint. For a general overview of all supported platforms, see the Introduction.

Supported Content Types

Content TypeMedia RequiredDescription
Text postNonePlain text status update on your Page.
Image postImage(s)Post with one or more attached images.
ReelVideo (MP4, 9:16)Vertical short-form video. Default for video uploads.
Video postVideo (MP4)Standard video post with any aspect ratio. Set videoType to "video".
Link shareNonePost with a URL that generates a link preview card.

Platform-Specific Settings

Use the platform_content.facebook object to customise your Facebook post:

{
"platform_content": {
"facebook": {
"content": "Facebook post text",
"settings": {
"videoType": "reel",
"link": "https://example.com",
"firstComment": "First comment text"
}
}
}
}

Settings Reference

SettingTypeDefaultDescription
contentstringOverride the default text with a Facebook-specific version.
settings.videoTypestring"reel"Video format: "reel" (vertical, 9:16) or "video" (any aspect ratio).
settings.linkstringURL to share. Facebook generates a preview card with title, description, and thumbnail.
settings.firstCommentstringText posted as the first comment after publishing.

Video Types

ValueAspect RatioDescription
reel9:16 (vertical)Facebook Reel. Appears in the Reels tab and feed. Default for video uploads.
videoAnyStandard video post. Supports landscape, square, or portrait aspect ratios.

Example: Create a Post

Schedule a Facebook Reel

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Default text for other platforms",
"account_ids": [2278],
"media_ids": ["c9d0e1f2-a3b4-5678-9012-cdef01234567"],
"scheduled_at": "2026-04-16T10:00:00Z",
"timezone": "America/New_York",
"platform_content": {
"facebook": {
"content": "3 things I wish I knew before starting my business 👇",
"settings": {
"videoType": "reel",
"firstComment": "What would you add to this list? Drop it below!"
}
}
}
}'

Schedule a Link Share Post

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Check out our new blog post",
"account_ids": [2278],
"scheduled_at": "2026-04-16T14:00:00Z",
"timezone": "Europe/London",
"platform_content": {
"facebook": {
"content": "We just published a deep dive into social media scheduling for 2026.\n\n5 strategies that actually work (based on data from 10,000+ posts).\n\nLink in the comments!",
"settings": {
"firstComment": "Read the full article: https://example.com/blog/scheduling-strategies"
}
}
}
}'

Schedule a Standard Video Post

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Product demo",
"account_ids": [2278],
"media_ids": ["d0e1f2a3-b4c5-6789-0123-def012345678"],
"platform_content": {
"facebook": {
"content": "Full product walkthrough — 5 minutes, no fluff.",
"settings": {
"videoType": "video"
}
}
}
}'

Requirements & Limits

RequirementLimit
Post text length63,206 characters
Image formatsJPEG, PNG, WebP, GIF
Image max file size20 MB
Video formatMP4 (H.264)
Video max file size500 MB
Reel duration3 - 90 seconds
Reel aspect ratio9:16 (vertical, 1080x1920)
Standard video durationUp to 240 minutes
Recommended image ratio1.91:1 (landscape) or 1:1 (square)
Link previewAuto-generated from Open Graph tags on the URL

Tips

  • Use "videoType": "reel" for maximum reach. Facebook heavily promotes Reels in the feed and Reels tab. If your video is vertical (9:16), use the default "reel" type for significantly better organic distribution than standard video posts.
  • Put links in firstComment instead of the post body. Similar to LinkedIn, Facebook deprioritizes posts with external links in the main text. Use firstComment to share your URL after publishing to protect your organic reach.
  • Use the link setting for intentional link shares. When you explicitly want a link preview card (with title, image, and description), use the link setting. This tells Facebook to generate the preview from the URL's Open Graph meta tags.

Frequently Asked Questions

What is the difference between a Facebook Reel and a standard video post?

Reels are vertical (9:16) short-form videos between 3 and 90 seconds. They appear in the dedicated Reels tab and get significantly more organic reach. Standard video posts support any aspect ratio and can be up to 240 minutes long. Set videoType to "reel" or "video" in platform_content.facebook.settings when creating a post.

How do I create a link share post with a preview card?

Use the settings.link field in platform_content.facebook with a valid HTTPS URL. Facebook generates a preview card automatically from the URL's Open Graph meta tags (title, description, image). You do not need to attach any media -- the preview is generated from the linked page.

Can I post to Facebook Groups via the API?

No. The PostEverywhere API currently supports posting to Facebook Pages only. Facebook's API does not allow third-party apps to post to Groups. Connect your Page as a social account and use its account_id when creating posts.

Should I put links in the post body or in a first comment?

Use the firstComment setting for external links. Facebook's algorithm deprioritizes posts that contain links in the main text. By placing your link in the first comment (posted automatically after publishing), you preserve organic reach while still driving traffic.

  • Instagram -- owned by Meta, supports cross-posting of Reels and image content
  • LinkedIn -- similar post formats with text, image, video, and link support
  • Threads -- Meta's text-first companion platform

Further Reading