At a glance
Capabilities
Connecting
auth_url. After they authorize, SocialAPI exchanges the code with Instagram and redirects the user to your redirect_uri with the connection result. See OAuth flows for the redirect parameters.
Reading samples
List posts
List active stories
Returns the account’s currently-active stories. Stories are ephemeral: they expire about 24 hours after posting, so this endpoint only ever returns what is live right now. Instagram only.metadata: is_story is always true, and expires_at is the computed expiry (posting timestamp plus 24 hours; Instagram does not return an expiry field). For video stories without a media_url, the cover image is returned as media_url.
Sample response:
List comments on a post
Comments are scoped to a specific post. Use the platform post ID (e.g. fromtargets[].platform_post_id):
List DMs
Publishing
Create an Instagram post with optional platform-specific fields:Limitations and gotchas
- Private replies. Replying to a comment with
"private": truesends a DM to the commenter. This is Instagram’s native “Send Private Reply” feature, not a SocialAPI workaround. - Token expiry. Instagram access tokens can expire. If you receive
401withcode: "invalid_token", reconnect the account using the OAuth flow. - Account fields. See the shared account object reference for the fields returned by
/v1/accounts.
Permissions
- Permissions. SocialAPI’s managed Meta App already requests these scopes on your behalf:
instagram_business_basic,instagram_business_manage_comments,instagram_business_manage_messages,instagram_business_content_publish. You don’t need to apply for any platform app review. See Platform credentials.