Docs
Instagram

Overview

Connect Instagram, scopes, capabilities, and known limits.

Onepostly maps the Instagram API with Instagram Login (Business Login) into the same /v1/* surface as other platforms. This section covers Instagram-only behavior.

No Facebook Page required. Connect is Instagram-only OAuth — customers do not need to link a Facebook Page to their Instagram professional account. Meta only exposes remote media delete and likes on the separate Facebook Login path (which requires a linked Page); Onepostly stays on Instagram Login so those actions remain unsupported.

In this section

PageTopics
PostsPublish image, multi-image, video/Reels, Stories; schedule
CommentsList, create, delete comments
InsightsAnalytics / normalized metrics

Cross-platform API flow: Media, Webhooks.

Connect

  1. Dashboard → Connections → connect Instagram
  2. Approve scopes in the Instagram Business Login consent screen
  3. Resolve connectionId with your API key:
curl https://api.onepostly.com/v1/connections \
  -H "x-api-key: op_YOUR_KEY"

Use the matching row’s id (where platform is "instagram") as connectionId in publish requests.

After scope upgrades (publish, comments, insights), reconnect Instagram so the new scopes appear on the token.

OAuth scopes

ScopeUsed for
instagram_business_basicProfile / account identity
instagram_business_content_publishPublish media
instagram_business_manage_commentsList / create / delete comments
instagram_business_manage_insightsMedia insights / analytics

Instagram Business Login (not Facebook Login).

Tokens

  • Connected accounts use a long-lived user token (~60 days)
  • Invalid / expired token → TOKEN_INVALID → reconnect

Auth errors

CodeMeaning
TOKEN_INVALID / 401Expired or invalid token → reconnect
PERMISSION_DENIED / 403Missing scope → reconnect with the required scopes

Capabilities

ActionSupportedNotes
Create postYesPOST /v1/postsmedia required
ImageYesSingle image URL + optional caption
Multi-imageYes2–10 image/video URLs
Video (Reels)YesmediaKind: "video" → Instagram Reels
StoriesYesImage or video; ephemeral
Text-onlyNoInstagram requires at least one media URL
Thread / quoteNoX / Threads features
ScheduleYesscheduledFor + timezone
Remote media deleteNoNot available with Instagram Login
InsightsYes
List commentsYesFeed / Reels / multi-image; Stories unsupported
Create / delete commentYesinstagram_business_manage_comments
Like / unlikeNoNot available with Instagram Login
Bookmark / retweet / quoteNoNot Instagram features

Known limitations

  • Media URLs must be public HTTPS
  • Standalone feed video is not supported; use mediaKind: "video" (publishes as Reels)
  • Stories have no durable comments
  • Insights metrics differ by product type
  • Remote media delete and likes are not available on Instagram Login; API returns MEDIA_DELETE_UNSUPPORTED / engagement unsupported for those calls

See also