Skip to main content
Publishing uses a single endpoint, POST /v1/posts, with per-platform behavior controlled by the platform_data field. This page compares capabilities across all platforms at a glance. For full details on a specific platform, see the deep-dive pages linked below. Use POST /v1/posts/validate to check constraints before publishing, and GET /v1/posts/validate to fetch platform-specific constraints (e.g. TikTok’s per-creator privacy levels and duration limits).

Capability matrix

CapabilityInstagramFacebookGoogleLinkedInThreadsTikTok
Create postYesYesYesYesYesYes
Update postNoYes (text only)YesYes (text only)NoNo
Delete postYesYesYesYesYesNo
ScheduleYesYesNoYesYesNo
First commentYes (best-effort)NoNoNoNoNo
ImageYesYesYesYesYesYes (carousel only, 2-35)
VideoYes (as Reel)YesNoYesYesYes
CarouselYes (2-10 items)NoNoYes (multi-image)YesNo
ReelYesNoNoNoNoN/A (all videos are TikToks)
Max media per post1011202035 (photo) / 1 (video)

Core field handling

How each platform interprets the shared PostDraft fields:
FieldInstagramFacebookGoogleLinkedInThreadsTikTok
textCaption (max 2200 chars)Post messageSummaryCommentaryPost text (max 500 chars)Video description
media_idsPresigned URLs; determines image/video/carouselFirst URL only; photo or videoImage URL for the postPresigned URLs; image or videoPresigned URLsPresigned URLs; video or photo carousel
first_commentPosted as a comment after publish (best-effort, non-blocking)Not supportedNot supportedNot supportedNot supportedNot supported
schedule_atDeferred publishDeferred publishNot supportedDeferred publishDeferred publishNot supported

Platform-specific platform_data summary

Each platform accepts optional fields inside platform_data.<platform>. For the full reference, see the per-platform page.
PlatformRequired fieldsNotable optional fields
InstagramNonealt_text, location_id, share_to_feed, cover_url
FacebookNonelink, picture (text posts only; photo posts ignore platform_data)
GoogleNone (defaults to STANDARD)topicType (STANDARD, EVENT, OFFER, ALERT), updateMask
LinkedInNoneNo platform_data keys supported
ThreadsNonereply_control, link_attachment
TikTokprivacy_levelmedia_type, brand_content_toggle, disable_duet, disable_stitch, disable_comment, is_aigc, video_cover_timestamp_ms

Required OAuth scopes

PlatformScopes
Instagraminstagram_business_basic, instagram_business_manage_comments, instagram_business_manage_messages, instagram_business_content_publish
Facebookpages_show_list, pages_read_engagement, pages_read_user_content, pages_manage_engagement, pages_manage_metadata, pages_messaging, pages_manage_posts, public_profile
Googlehttps://www.googleapis.com/auth/business.manage
LinkedInr_organization_social, w_organization_social, rw_organization_admin
Threadsthreads_basic, threads_content_publish, threads_read_replies, threads_manage_replies, threads_delete
TikTokuser.info.basic, video.publish, video.upload

Per-platform deep dives

Instagram

Images, videos, reels, carousels. Meta Graph API.

Facebook

Text, photo, and video posts. Facebook Pages API.

Google

Business Profile local posts. Google Business API.

LinkedIn

Organization page posts. LinkedIn Marketing API.

Threads

Text, image, video posts. Threads API.

TikTok

Video and photo carousel posts. TikTok Content Posting API.