Guides
Platform notes
What Facebook, Instagram and LinkedIn limit or do differently, in plain words, so nothing surprises you.
These are rules of the platforms, not of the API. We cannot change them, but we can tell you where they show up. Limits are the platforms' own and can change; the API reports what the platform says.
- Comment management is not available yet. Instagram accounts report
capabilities.comments: falseandcomment_hide: false. The Instagram comment endpoints return400 unsupported_for_platform. Publishing and direct messages work. Capabilities come from the permissions granted when the account was connected, so an account connected before comments are released needs a one-time reconnect to turn them on. New connections after the release get them automatically. Connect explains how to reconnect. - Replies go to top-level comments only. A reply to an Instagram reply returns
400 unsupported_for_platform. - 100 API-published posts per account in any rolling 24 hours. A carousel counts as one.
- Published posts cannot be deleted through the API.
DELETE /v1/posts/{postId}?remote=truereports Instagram targets asSKIPPEDwithunsupported_for_platform. - Images must be JPEG. PNG, WebP and HEIC are rejected. Images up to 8 MB, with an aspect ratio between 4:5 and 1.91:1, and a width between 320 and 1440 pixels. Wider images are scaled down and you get a warning.
- Video. Reels run from 3 seconds to 15 minutes, up to 300 MB. Story videos run 3 to 60 seconds, up to 100 MB. A video in a
FEEDpost is published as a Reel and also shown in the feed. - Media is required. A post to an Instagram account without an image or video fails validation.
- Captions hold up to 2,200 characters, 30 hashtags and 20 mentions. Links in a caption are not clickable.
- No reactions. A business account cannot like a post or comment.
- Edits and deletions of comments are not reported. New comments arrive in real time; changes may only show up on the next sync (
POST /v1/accounts/{accountId}/comments/sync).
Facebook Pages
- You can only edit or delete posts that were created through the API. For posts made in Facebook's own tools or by another app, a remote delete reports
FAILEDwithpost_not_owned_by_app. - Deleting is not repeatable. After a post is deleted, Facebook gives the same answer as for a post you do not own. We record the remote delete and never send it twice.
- Videos publish in the background. A video post can be
PUBLISHEDbefore itspermalinkis known, so the permalink can be empty at first. - A post cannot mix a video with other media. Several images in one post are fine.
Messenger and Instagram direct messages
- A message needs to be inside the 24-hour window after the person's last message. Outside it you get
422 reply_window_closed. A message withtag: HUMAN_AGENTcan be sent for up to 7 days, if the permission is enabled for the app (otherwisereply_window.human_agent_untilisnull). - The window is an estimate. The conversation's
reply_window.closes_atis our best calculation, because Meta does not say when the window ends. The platform's refusal is the real answer. - Read receipts say "everything before this time". They do not mark single messages, so several messages can become
READtogether.
LinkedIn is not open for connections yet. When it is, we will say so in the changelog. What to expect:
- No notifications for comments. We poll LinkedIn, so comments arrive after the next poll.
POST /v1/accounts/{accountId}/comments/syncpulls them at once. - No messaging. LinkedIn has no messaging API, so there are no conversations.
- No hiding comments. Hide and unhide return
400 unsupported_for_platform. - Member profiles are for publishing and resharing only. Reading a member's own posts and comments needs a permission LinkedIn does not grant.
commentsandreactionsarefalsefor aLINKEDIN_PROFILE, and the comment endpoints return400 unsupported_for_platform. A member profile also has no avatar. - People who comment are never named. LinkedIn's terms do not allow storing profile data of other members. For a person,
author.nameandauthor.avatar_urlare alwaysnull, andauthor.typeisPERSON. Show a neutral label. Organizations that comment are named, shortly after the comment arrives (watch forcomment.updated), but without an avatar. - Links need a preview. LinkedIn does not read the page behind a link. To get an article post, send
link_preview.title(and ideally a description and a thumbnail). Without it, the URL is added to the text. - Limits. Posts up to 3,000 characters, comments up to 1,250. A too-long field is rejected by LinkedIn.
- Media. Images JPG, PNG or GIF. Multi-image posts take 2 to 20 images. Video is MP4, 3 seconds to 30 minutes, up to 500 MB. A document is PDF, DOC, DOCX, PPT or PPTX, up to 100 MB and 300 pages, and a document post needs a title.
- Remote delete works for organization and profile posts.