Instagram API Publishing Limits and Requirements (2026)

SIsivaguru·
Instagram API Publishing Limits and Requirements (2026)

Instagram lets an app publish single images, videos, reels and carousels to an Instagram professional account through its Content Publishing API, up to 100 API-published posts per account in a 24-hour moving period, with a carousel counting as one post. Images must be JPEG, the media must sit at a public URL when Instagram fetches it, and a carousel holds up to 10 items. Personal accounts aren't covered. Meta's own page also says 50 posts a day in one section, so check an account's real usage with its content_publishing_limit endpoint.

If you post to Instagram through an AI agent, these are the rules that sit under every post. This page collects them from Meta's documentation, which I opened on 8 October 2026. The page says it was updated on 30 June 2026, and its examples use Graph API version 26.0. Meta changes this guide, so check the link at the end for the latest.

Instagram publishing limits at a glance

RuleWhat Meta's page says
AccountsInstagram professional accounts
Posting rate limit100 API-published posts in a 24-hour moving period; carousels count as a single post
Carousel sizeUp to 10 images, videos or a mix of the two
Image formatJPEG only; extended JPEG formats such as MPO and JPS aren't supported
Media locationPublic server: Instagram fetches the file with cURL when you publish
Container lifetimeA media container that isn't published within 24 hours expires
Not supportedShopping tags and filters
Disclosureis_ai_generated flag for AI content; partnership label with up to 2 sponsors

The number to plan around: 100 posts, and one page that says 50

Meta's Content Publishing guide has a "Rate Limit" section that says Instagram accounts are limited to 100 API-published posts within a 24-hour moving period, enforced on the media_publish endpoint, with carousels counting as one post. Further down, in the carousel section, the same page says accounts are limited to 50 published posts within a 24-hour period.

The two numbers disagree, and the page doesn't explain why. The practical answer is to ask the account itself. The GET /<IG_ID>/content_publishing_limit endpoint returns the account's current publishing limit usage, and Meta recommends apps that let people schedule posts enforce the limit themselves. If an agent plans a big burst of posts for one account, spread them out and read the usage first.

Who can publish: professional accounts, through one of two logins

The guide covers Instagram professional accounts. You reach them through one of two routes, and the requirements differ:

Instagram API with Instagram LoginInstagram API with Facebook Login
Login typeBusiness Login for InstagramFacebook Login for Business
Access tokenInstagram user access tokenFacebook Page access token
API hostgraph.instagram.comgraph.facebook.com
Permissionsinstagram_business_basic, instagram_business_content_publishinstagram_basic, instagram_content_publish, pages_read_engagement
Resumable video uploadsNot availableAvailable (apps using Facebook Login for Business)
Partnership ads labelNot availableAvailable

If the person was given a role on the connected Facebook Page through Business Manager, the app also needs ads_management and ads_read.

Page Publishing Authorization. An Instagram professional account connected to a Page that requires Page Publishing Authorization can't be published to until that authorization is complete. Meta says an app can't tell in advance whether a Page needs it, and recommends advising people to complete it up front. If an agent's Instagram post fails on an account that used to work, this is one of the first things to check.

What a post looks like through the API

Publishing is a short sequence of calls:

  1. Create a container. POST /<IG_ID>/media with an image_url or video_url. Use media_type set to VIDEO, REELS or STORIES for video. For a carousel, create a container for each item with is_carousel_item=true, then a carousel container with media_type=CAROUSEL and up to 10 children.
  2. Wait for video. Query GET /<IG_CONTAINER_ID>?fields=status_code. The values are IN_PROGRESS, FINISHED, PUBLISHED, ERROR and EXPIRED. Meta recommends checking once a minute, for no more than 5 minutes.
  3. Publish. POST /<IG_ID>/media_publish with the creation_id.
  4. Check usage. GET /<IG_ID>/content_publishing_limit when you're near the limit.

Carousel items are cropped to match the first image, with 1:1 as the default. For a large video, an app can create a resumable upload session, if it uses Facebook Login for Business.

Reels, trial reels, stories and a page that contradicts itself

The guide documents REELS, trial reels and stories. A trial reel is shared only with non-followers, and the app sets trial_params with a graduation_strategy of MANUAL or SS_PERFORMANCE (graduate automatically if it performs well). The same page's introduction says reels and stories aren't supported, while the sections below it explain how to publish them. Treat the detailed sections as the current behavior and confirm against Meta's reference for your account type before you rely on a format.

Disclosure, alt text and partnership labels

  • AI content. Set is_ai_generated to true when you create a media container to self-disclose AI use. For carousels, set it on the carousel container only. Setting it on a child item causes an error. It's available on both login types.
  • Alt text. Meta added an alt_text field for image posts on 24 March 2025.
  • Partnership label. Add branded_content_sponsor_ids (up to 2 sponsors) and/or is_paid_partnership. It's available with Facebook Login only, the sponsors must be professional accounts, and it isn't supported on close-friends-only posts or remixed media.

What this means when your agent posts through LotsSocial

You don't have to call any of these endpoints. LotsSocial connects your Instagram account, and your agent schedules and publishes through the LotsSocial MCP server, with each platform's requirements handled for you. The limits above still apply to the account underneath, so a plan with a long list of Instagram posts in one day runs into the same ceiling, and a failed post can come down to the account, the media format or Page authorization. LotsSocial costs $2 per connected account a month, or plans from $20 for 12 accounts, and new accounts get 5,000 free credits, valid 90 days, with no card. See pricing.

Give your agent this and let it set itself up:

Read https://lots.social/skill.md and help me connect LotsSocial for you.

Common questions

How many posts can I publish to Instagram through the API?

Meta's Content Publishing guide says Instagram accounts are limited to 100 API-published posts within a 24-hour moving period, and carousels count as one post. The same page also says 50 in its carousel section, so check the account's usage with the content_publishing_limit endpoint.

Can I publish to a personal Instagram account through the API?

No. The Content Publishing guide covers Instagram professional accounts.

What image format does the Instagram API accept?

JPEG only. Meta's page says extended JPEG formats such as MPO and JPS aren't supported.

How many images can a carousel have through the API?

Up to 10 images, videos or a mix of the two. A carousel counts as one post against the limit, and its items are cropped to the first image, with 1:1 as the default.

Does the Instagram API support scheduling?

Meta's guide describes publishing with the media_publish endpoint, and it recommends that apps which let people schedule posts for later enforce the posting limit themselves. Scheduling is something the publishing app handles.

Do I need a Facebook Page to publish to Instagram?

It depends on the login route. Instagram API with Instagram Login uses an Instagram user access token and Business Login for Instagram. Instagram API with Facebook Login uses a Facebook Page access token, and an Instagram account whose Page requires Page Publishing Authorization can't publish until it's completed.

How long does a media container last?

If a container isn't published within 24 hours, its status becomes EXPIRED.

Details checked on 8 October 2026 from Meta's Instagram Platform Content Publishing guide (updated 30 June 2026). LotsSocial details from lots.social/pricing and lots.social/skill.md. Meta changes its API and limits; check its page for the latest.

Related Posts