Guide

Instagram Posting API: Publish Feed, Reels, Stories and Carousel Posts

Updated 2026-09-27

An instagram posting api lets an app publish feed posts, Reels, Stories and carousels to a business or creator account without a person opening the Instagram app. IMMA AI's instagram posting api integration validates media against Instagram's format rules first, then publishes directly since Instagram, unlike TikTok, does not require a hosted human approval step before a post goes live.

What is the Instagram posting API?

The Instagram posting API is part of Meta's Instagram Platform, reachable two ways. Instagram Login uses instagram_business_basic and instagram_business_content_publish (plus comment and insight permissions) and does not require a linked Facebook Page, but cannot run ads through the same connection. Facebook Login instead uses instagram_basic and instagram_content_publish together with Page permissions, requires the account to be linked to a Facebook Page, and does support Meta Ads. Both paths support feed posts, Reels, Stories and carousels of up to 10 items, with carousel images required to be JPEG and every media file hosted at a publicly reachable URL before Instagram will fetch and publish it. IMMA AI's instagram posting api integration (preview) picks the right permission path based on how the account was connected, and stores media in R2 so it always has a public URL ready before calling Instagram's API, whether the source was a file upload or inline data from an AI agent.

Can you schedule posts on Instagram through the API?

Yes. Instagram's Graph API does not publish on a schedule by itself; it expects a container to be created and then published immediately with a second call. IMMA AI adds the scheduling layer on top: a post created with a future scheduled_at time is validated and stored, then IMMA AI creates and publishes the Instagram container at the right moment, so the caller only has to specify when the post should go live, not manage two API calls and a timer. This works for a single post through POST /posts or for up to 31 scheduled posts in one call through POST /posts/batch, which an AI agent typically uses to fill a month of content at once. Each item in a batch is validated independently, so one post with an oversized image does not block the rest of the calendar. A GET /calendar endpoint returns already scheduled slots so an agent or a person can see what is planned before adding more.

What are Instagram's API posting limits?

Instagram enforces a rolling 24 hour limit of 100 posts published through the API per account, and a carousel of up to 10 items still counts as a single post against that limit, the same as a single image or Reel. There is no officially published limit lower than that for Reels or Stories specifically; the 100 post ceiling applies across all post types combined. Beyond the count limit, every image in a post must be JPEG and every media file, image or video, has to sit behind a public URL that Instagram's servers can fetch at publish time, which is why direct binary uploads are not supported for this API the way they are for a manual upload in the app. IMMA AI checks the post count for an account before queuing a new one and returns a clear "quota reached" response with the time the window resets, instead of letting the request fail only after Instagram's servers reject it.

Instagram posting API facts

FactDetail
Posting limit100 posts per account per rolling 24 hours
CarouselUp to 10 items, counts as one post
Carousel image formatJPEG only
Media sourceMust be a public URL Instagram can fetch
Minimum permission (Instagram Login)instagram_business_basic, instagram_business_content_publish

How it works

IMMA AI validates media format and account quota, stores the file at a public URL, and creates and publishes the Instagram container, or schedules it for a future time. See the social media API page for how Instagram fits alongside TikTok, Facebook and Threads, or schedule Instagram posts for the dashboard side of scheduling.