Instagram

Instagram scheduling for professional accounts

Instagram publishing is picky: JPEG only, caption limits, one asset per post. Postwoo checks all of it before you schedule, publishes through Meta's official two-step flow and reports reach, views and interactions as Meta defines them.

What agencies use it for

  • Single photo and Reel publishing with caption checks
  • Instagram-specific caption overrides per post
  • Reach, views, interactions and follower counts per day
  • Honest "not yet available" states while media processes
Capability matrix

Exactly what Instagram allows

Live from the integration itself. Statuses move from pending verification to supported only after an end-to-end check with approved credentials.

OAuth connectionFacebook Login with instagram_basic / instagram_content_publish / instagram_manage_insights (App Review + Business Verification required).pending
Account discoveryInstagram professional accounts linked to the user's Facebook Pages (GET /me/accounts?fields=instagram_business_account).pending
Location discoveryInstagram accounts have no sub-locations.not possible
Publish text postsInstagram has no text-only posts; every post needs an image or a video.not possible
Publish a single imageTwo-step container flow: POST /{ig-user-id}/media image_url → POST /media_publish. JPEG only, ≤8 MB, aspect ratio 4:5 – 1.91:1.pending
Publish multiple imagesCarousels (is_carousel_item containers + CAROUSEL parent) are possible via the API; not built yet.planned
Publish videoReels only (media_type=REELS, video_url), polled via GET /{container-id}?fields=status_code before media_publish.pending
Attach a linkInstagram captions do not render links; the API has no link field.not possible
Call-to-action buttonNo call-to-action buttons on organic Instagram posts via the API.not possible
Native platform schedulingThe Content Publishing API has no scheduled publish time; Postwoo schedules and publishes at the right time.not possible
Delete postsThe Instagram Graph API does not allow deleting media.not possible
Edit published postsCaptions cannot be edited through the API (only comments can be toggled).not possible
Direct media uploadMedia must be a publicly reachable URL; Postwoo serves uploads from its media storage.not possible
Account-level analyticsGET /{ig-user-id}/insights: reach + follower_count daily; views, accounts_engaged, total_interactions as window totals (metric_type=total_value).pending
Post-level analyticsGET /{ig-media-id}/insights: reach, views, likes, comments, saved, shares (lifetime).pending
Read reviewsInstagram has no reviews.not possible
Reply to reviewsInstagram has no reviews.not possible
Delete review repliesInstagram has no reviews.not possible
Real-time webhooksThe inbound handler for Instagram webhooks (comments, messages) is built and triggers an inbox sync; the app-level subscription is configured in the Meta dashboard (not automated), so accounts are polled every 15 minutes.planned
Token & permission healthGET /me/permissions + linked Instagram account probe.pending
Read business profileBusiness profile management (hours, Q&A, profile photos) is only implemented for Google Business Profile in Postwoo.not possible
Update opening hoursBusiness profile management (hours, Q&A, profile photos) is only implemented for Google Business Profile in Postwoo.not possible
Read questions & answersBusiness profile management (hours, Q&A, profile photos) is only implemented for Google Business Profile in Postwoo.not possible
Answer questionsBusiness profile management (hours, Q&A, profile photos) is only implemented for Google Business Profile in Postwoo.not possible
Upload profile photosBusiness profile management (hours, Q&A, profile photos) is only implemented for Google Business Profile in Postwoo.not possible
Hashtag lookupGET /ig_hashtag_search?user_id&q (+ GET /{hashtag-id}?fields=id,name). 30 unique hashtags per 7 days per account. "Found" only means the hashtag exists.pending
Post a first commentPOST /{ig-media-id}/comments?message after media_publish (instagram_manage_comments). Failures never change the post status.pending
Read commentsGET /{ig-user-id}/media with nested comments{…,replies} (25 newest media) or GET /{ig-media-id}/comments (instagram_manage_comments).pending
Reply to commentsPOST /{ig-comment-id}/replies message=… (instagram_manage_comments). Instagram replies are one level deep.pending
Hide commentsPOST /{ig-comment-id} hide=true|false; DELETE /{ig-comment-id} for the account's own replies.pending
Read direct messagesMessenger Platform for Instagram: GET /{page-id}/conversations?platform=instagram with the linked Page token (instagram_manage_messages + pages_messaging, App Review required).pending
Reply to direct messagesPOST /{page-id}/messages messaging_type=RESPONSE to the person's Instagram-scoped id — only within 24 hours of their last message; Postwoo refuses later replies.pending
Image alt textW14: alt_text on the image container (POST /{ig-user-id}/media), available on newer Graph API versions only. Field and version from memory, not verified live.pending
Custom video coverReels: cover_url (a public JPEG) or thumb_offset (milliseconds into the video) on the media container. Unverified.pending
Limits

Platform limits we enforce before you schedule

The composer checks these for every target so a post is never queued only to fail later.

Text length2200 characters
Images per post1
Videos per post1
Image typesjpeg
Mediarequired
  • Captions: up to 2,200 characters, at most 30 hashtags and 20 @mentions.
  • Images: JPEG only, ≤8 MB, width 320–1440 px, aspect ratio between 4:5 and 1.91:1.
  • Video is published as a Reel: MP4/MOV, H.264 + AAC, 3 seconds – 15 minutes, ≤1 GB, 9:16 recommended.
  • Instagram allows 25 API-published posts per account per rolling 24 hours (GET /{ig-user-id}/content_publishing_limit).
  • Media must be downloadable by Meta from a public HTTPS URL.
Access

What the platform requires

  • A Meta app (Business type) with Facebook Login for Business and the Instagram product added, switched to Live mode.
  • Advanced Access via App Review for instagram_basic, instagram_content_publish and instagram_manage_insights, plus the Facebook Page permissions (pages_show_list, pages_read_engagement, business_management). Business Verification is a prerequisite.
  • Each Instagram account must be a Business or Creator account linked to a Facebook Page the connecting user manages.
  • Content publishing is limited to 25 posts per account per 24 hours; stories and carousels need additional work.
  • Long-lived user tokens expire after ~60 days and cannot be refreshed server-side; the human must reconnect.
  • Social inbox (W5): instagram_manage_comments (read/reply/hide comments) and instagram_manage_messages + pages_messaging (answer DMs within the 24-hour window) need App Review; "Allow access to messages" must be on in the Instagram app settings.
  • Hashtag lookup (ig_hashtag_search) needs the "Instagram Public Content Access" feature and is limited to 30 unique hashtags per account per 7 days; first comments need instagram_manage_comments.

Postwoo handles the app side. You connect with an account that has the right role on the platform.

FAQ

Questions, answered honestly

Can Postwoo post to personal Instagram accounts?

No. Meta's API only publishes to Instagram professional (business or creator) accounts connected to a Facebook Page.

Does Postwoo support carousels and Stories?

Carousels are planned; Stories publishing is limited by Meta's API and is not offered.

Other integrations

Google Business ProfileFacebook PagesLinkedInYouTubeTikTokThreadsPinterestBluesky

Ready to woo your clients?

Start free, connect a Google Business Profile, and see real reviews and metrics in the feed within minutes.