PostPost

Platform Limits

This comprehensive guide documents the limits for all 10 social media platforms supported by PostPost. Understanding these limits is essential for building reliable integrations with the PostPost API.

Last Updated: March 2026

Overview

When building applications with the PostPost API, it is critical to understand that API limits often differ from native app limits. Social media platforms impose different restrictions depending on whether content is posted through their official apps, web interfaces, or third-party APIs.

Note: PostPost defines 11 platform keys internally (including Pinterest), but only 10 platforms are actively supported. Pinterest is listed for reference and is planned for a future release.

PostPost validates your content against these API-specific limits before scheduling. This guide covers:

  • Character limits for captions and descriptions
  • Image formats, sizes, and counts
  • Video duration, file size, and format requirements
  • Platform-specific requirements (which platforms require media)
  • Rate limits for posting frequency
  • Common API error messages and validation codes

Key Principle: Always design your integration around the API limits documented here, not the limits you observe when posting manually through native apps.


Critical API vs Native App Differences

The following table highlights the most significant differences between API and native app limits. These are the restrictions most likely to cause unexpected failures if you assume native app behavior.

PlatformAPI RestrictionNative App AllowsImpact
Twitter/X2 min video max2:20 (140s) videoVideos over 2 min will fail
Instagram3 min Reels, 10 carousel items, JPEG only15-20 min Reels, 20 items, PNG/GIFPNG images will be rejected
TikTok10 min video, 2,200 char captions60 min video, 4,000 charsLong captions truncated or rejected
Facebook45 min video, 2 GB files240 min video, 4 GB filesLarge files will fail
LinkedIn500 MB video5 GB videoVideos over 500 MB will fail
Telegram50 MB files (Bot API)4 GB (user clients)Large media uploads will fail

Character Limits

All platforms have character limits for text content. Some platforms have different limits for premium accounts or specific content types.

PlatformStandard LimitPremium/SpecialNotes
Twitter/X280 characters25,000 (Premium)Threading supported for long content
Instagram2,200 characters-First 125 chars visible before "more"
Threads500 characters10,000 (text attachment)Threading supported; max 5 links per post
TikTok2,200 characters (API)4,000 (native app)API enforces stricter limit
LinkedIn3,000 characters-First 210 chars visible before "see more"
YouTube100 (title) / 5,000 (description)-First 150 chars of description visible
Facebook63,206 characters-Posts under 80 chars get 66% more engagement
Mastodon500 charactersInstance-configurableSome instances allow 5,000+
Bluesky300 characters-Links count toward the limit in PostPost
Telegram4,096 characters1,024 (bot caption)Bots limited to 1,024 for media captions
Pinterest100 (title) / 800 (description)500 (ads)Not currently supported -- planned for a future release

Character Limit Best Practices

  1. Design for the lowest common denominator when cross-posting. If posting to Twitter and Threads, keep content under 280 characters.

  2. Use threading for long-form content on Twitter/X and Threads rather than truncating.

  3. Front-load important information since most platforms truncate visible content with a "see more" link.


Image Limits

Image requirements vary significantly across platforms. Pay particular attention to the Instagram API restriction requiring JPEG format only.

PlatformMax SizeMax CountSupported Formats
Twitter/X5 MB4JPEG, PNG, GIF, WebP
Instagram8 MB10 (API carousel)JPEG only (API)
Threads8 MB10JPEG, PNG
TikTok-0Video only platform
LinkedIn5 MB10 (multi-image)JPEG, PNG, GIF
YouTube-0Video only for uploads
Facebook10 MB10JPEG, PNG, GIF, BMP, TIFF
Mastodon16 MB4JPEG, PNG, GIF, WebP (instance-configurable)
Bluesky1 MB4JPEG, PNG, WebP (max 2000x2000 px)
Telegram10 MB10JPEG, PNG, GIF, WebP, BMP
Pinterest20 MB5 (carousel)JPEG, PNG, TIFF, BMP, GIF, WebP

Critical Image Notes

IssuePlatformDetails
JPEG OnlyInstagramThe Instagram API only accepts JPEG format. PNG and GIF uploads will fail with an error.
Carousel LimitInstagramAPI carousels are limited to 10 items (native app allows 20).
No Mixed MediaInstagramCannot mix images and videos in the same carousel via API.
Strict Size LimitBlueskyHard 1 MB limit. Compress images to 80-85% JPEG quality before uploading.
No Organic CarouselsLinkedInOrganic swipeable carousels are NOT supported via API (only sponsored content).

Server-Side Upload Limits

The multipart upload endpoint enforces server-side limits in addition to platform-specific limits:

  • Maximum 4 files per upload request
  • Maximum 512 MB per file

Presigned URL uploads bypass these server-side limits -- use presigned URLs for larger files.

Image Processing in PostPost

PostPost automatically handles some image conversions:

  • WebP images are automatically converted to JPEG for platforms that do not support WebP natively.
  • Oversized images are validated and rejected with a clear error message.

Video Limits

Video restrictions through APIs are often significantly more restrictive than native apps. This is one of the most common sources of failed posts.

PlatformMax DurationMax SizeSupported Formats
Twitter/X (API)2 min (120s)512 MBMP4, MOV
Instagram Reels (API)3 minutes (180s)300 MBMP4, MOV
Instagram Carousel60s per video300 MBMP4, MOV
Threads5 min500 MBMP4, MOV
TikTok (API)10 min4 GBMP4, MOV, WebM
LinkedIn (API)30 min500 MBMP4
YouTube12 hours256 GBMP4, MOV, AVI, WebM
Facebook (API)45 min2 GBMP4, MOV
Facebook Reels (API)90 seconds1 GBMP4, MOV
MastodonNo limit*~99 MBMP4, MOV, WebM
Bluesky3 min100 MBMP4
Telegram (Bot API)No limit50 MBMP4, MOV, AVI, MKV, WebM
Pinterest15 min1 GBMP4, MOV

*Mastodon video duration is limited only by file size (~99 MB default).

Platform-Specific Video Restrictions

Instagram API

RestrictionAPI LimitNative App Limit
Reels duration3 minutes (180s)15-20 minutes
Image formatJPEG onlyPNG, GIF also supported
Carousel items1020
Account typeBusiness accounts onlyCreator accounts supported
FeaturesNo shopping tags, branded content, filters, or musicFull feature set

TikTok API

RestrictionAPI LimitNative App Limit
Video duration10 minutes60 minutes
Caption length2,200 characters4,000 characters
Daily posts15-20 posts/dayHigher limit
Unaudited appsCan only post PRIVATE videosPublic posting

Facebook API

RestrictionAPI LimitNative App Limit
Video duration45 minutes240 minutes
File size2 GB4 GB
Reels postingPages only (not personal profiles)Both supported
Reels rate limit30 Reels per day per PageHigher limit

LinkedIn API

RestrictionAPI LimitNative App Limit
Video file size500 MB5 GB
Video duration30 minutes15 minutes (API allows more)
CarouselsNo organic carousels (sponsored only)Supported
Media mixingCannot mix images with videos or documentsSupported

Telegram Bot API

RestrictionStandard Bot APILocal Bot API Server
File size limit50 MB2 GB
Caption length1,024 characters1,024 characters
Premium featuresNot available to botsNot available to bots

Bluesky API

RestrictionDetails
Daily limit25 videos OR 10 GB per day
Size tiersVideos under 60s: 50 MB max. Videos 60s-3min: 100 MB max
PrerequisitesEmail verification required before video uploads

Platform Requirements

Different platforms have different requirements for media. Some platforms are text-only capable, while others require media for every post.

PlatformRequires MediaRequires VideoSupports Text-OnlySupports Threading
Twitter/XNoNoYesYes
InstagramYesNoNoNo
ThreadsNoNoYesYes
TikTokYesYesNoNo
LinkedInNoNoYesNo
YouTubeYesYesNoNo
FacebookNoNoYesNo
MastodonNoNoYesNo
BlueskyNoNoYesNo
TelegramNoNoYesNo
PinterestYesNoNoNo

Media Requirement Notes

  • TikTok and YouTube are video-only platforms. You cannot post images or text-only content.
  • Instagram requires at least one image or video with every post.
  • Pinterest is listed for reference but is not currently supported in PostPost. Support is planned for a future release.
  • Threading allows long content to be automatically split into multiple connected posts (Twitter/X and Threads only).

Rate Limits

Each platform enforces its own posting rate limits. Exceeding these limits will result in failed posts or temporary restrictions on your account.

PlatformPosting LimitNotes
Instagram50 posts/24hr (some report 25)Carousels count as 1 post
Threads250 posts/24hr1,000 replies/24hr
TikTok15-20 posts/day2 videos/minute max
LinkedInNot publishedApproximately 200+ calls/hour based on user count
Facebook30 Reels/day/pageGeneral rate formula: 200 x users/hour
Bluesky25 videos/day3,000 requests/5 min
Mastodon30 media uploads/30 min300 requests/5 min per account
Telegram30 messages/second20 messages/minute per group
Pinterest15-25 pins/day recommendedNot currently supported

Rate Limit Best Practices

  1. Space out posts rather than bulk-posting at the same time.
  2. Implement exponential backoff when you receive rate limit errors.
  3. Track your posting frequency per platform to stay within limits.
  4. Use PostPost's built-in rate limiting which automatically queues and distributes posts.

Common API Error Messages

When posts fail, the platform returns specific error messages. Understanding these errors helps you diagnose and fix issues quickly.

Instagram Errors

ErrorMeaningResolution
(#10) The user is not an Instagram BusinessCreator accounts not supportedUse a Business account, not a Creator account
Error 2207010Caption limit exceededReduce caption to under 2,200 characters
Error 2207004Image exceeds 8 MBCompress image to under 8 MB
Error 9, Subcode 2207042Publishing rate limit reachedWait before posting again

TikTok Errors

ErrorMeaningResolution
spam_risk_too_many_postsDaily post limit reachedWait 24 hours before posting again
duration_check_failedVideo must be 3s-10minAdjust video duration
unaudited_client_can_only_post_to_private_accountsApp needs TikTok reviewSubmit app for TikTok audit

Twitter/X Errors

ErrorMeaningResolution
This user is not allowed to post a video longer than 2 minutesAPI video duration limitTrim video to under 2 minutes

Facebook Errors

ErrorMeaningResolution
Error 1363026Video exceeds 40 min durationTrim video to under 45 minutes
Error 1363023File size exceeds 2 GBCompress video to under 2 GB
Error 1363128Reels duration outside 3-90 second rangeAdjust Reel to 3-90 seconds

LinkedIn Errors

ErrorMeaningResolution
MEDIA_ASSET_PROCESSING_FAILEDFile too large or unsupported formatCheck file size (<500 MB) and format (MP4)
Error 429Rate limit exceededWait and retry with backoff

Telegram Errors

ErrorMeaningResolution
MEDIA_CAPTION_TOO_LONGCaption exceeds 1024 chars (bots)Reduce caption length
Bad Request: file is too bigFile exceeds 50 MBCompress file to under 50 MB

Bluesky Errors

ErrorMeaningResolution
429 Too Many RequestsRate limit exceededWait and retry
Video job state JOB_STATE_FAILEDVideo processing failedCheck video format and size

Validation Error Codes

The PostPost validation system returns standardized error codes when content does not meet platform requirements. Use these codes to provide clear feedback to users.

Content Errors

Error CodeDescription
CONTENT_TOO_LONGContent exceeds the platform's character limit
CONTENT_TOO_SHORTContent is below the minimum required length
CONTENT_REQUIREDText content is required for this platform
CONTENT_OR_MEDIA_REQUIREDEither text content or media is required

Media Errors

Error CodeDescription
MEDIA_REQUIREDPlatform requires at least one media file
MEDIA_SIZE_EXCEEDEDFile size exceeds the platform limit
MEDIA_COUNT_EXCEEDEDToo many media files attached
MEDIA_TYPE_NOT_SUPPORTEDFile format is not supported by the platform
MEDIA_DIMENSIONS_INVALIDImage dimensions are outside the allowed range

Video Errors

Error CodeDescription
VIDEO_REQUIREDPlatform requires a video (TikTok, YouTube)
VIDEO_DURATION_EXCEEDEDVideo duration exceeds the platform limit
VIDEO_DURATION_TOO_SHORTVideo is shorter than the minimum required duration
VIDEO_NOT_SUPPORTEDPlatform does not support video content
IMAGES_NOT_SUPPORTEDPlatform is video-only and does not accept images

Platform Errors

Error CodeDescription
PLATFORM_NOT_SUPPORTEDUnknown or unsupported platform identifier
PLATFORM_SETTING_REQUIREDA required platform-specific setting is missing
PLATFORM_SETTING_INVALIDA platform-specific setting has an invalid value


Sources

Official platform documentation used to compile these limits:


On this page