Skip to content
GuideRules & Policy13 min read

What you cannot do when you don't post from the app

Publishing through Instagram's API is not penalized. It is limited. Shopping tags, story stickers, most of the music library and mid-flight collaborator changes do not work. Here is the documented list, taken off Meta's own pages.

Aubrium ResearchEditorial ·

You built the post. You queued it in your tool. It went out on time. Then you wonder why it did half what the last one did. So you go looking. And someone tells you the app knows you did not press the button yourself. It punished you for that. It is the same invisible penalty that gets blamed for every unexplained reach drop on Instagram, pointed at your scheduling tool.

Instagram says it does not do that. The head of Instagram said it in plain words. But the gap is real. It is not a penalty. It is a feature gap. Things you can do in the app cannot be done through the code that scheduling tools use. Some of those things matter.

We went looking for what is actually missing. Meta publishes the rules for its Graph API. That is the set of code other apps use to post on your behalf. The publishing docs list what works and what does not. We read them. Then we checked what Adam Mosseri said. He runs Instagram. This is what we found. Every source below is linked, dated and quoted. One section shows a limit that cuts against scheduling.

It does not hurt your reach. Mosseri said so

Start with the claim that costs you the most time. Using a scheduling tool lowers your reach. Instagram knows you scheduled it. It shows the post to fewer people as punishment.

Adam Mosseri answered this in a question and answer session. Planoly quoted him. The quote appears on their blog post dated 15 March 2023, titled Does Scheduling Your Posts Affect Your Post Reach? His answer:

No, if you use something like scheduled posts, it will not affect your reach in one way or another.

That is the whole of it. No qualifier. No "it depends". He said using scheduled posts will not affect your reach. In one way or another.

Scheduling tools do not send Instagram a different kind of post. They use Instagram's own publishing system. It is called the Graph API. Meta opened it to businesses. Posts submitted through the API are treated the same as posts made in the app. The algorithm does not check how a post arrived. It checks what people do with the post after it shows up. Watch time, likes, shares, saves. Not the method.

So if your reach dropped after you started scheduling, the scheduler is not why. Check what you posted. Check when you posted it. Check if you changed how often you post. The workflow did not cause it.

What the API cannot do

That does not mean the API can do everything. It cannot. Meta's Content Publishing page lists what does not work. Updated as of the date we read it, 18 August 2026. We copied the limits off the page.

Here is the list. Every line came from Meta's own docs.

  • Shopping tags are not supported.
  • Filters are not supported.
  • Only JPEG is supported for images. Not MPO. Not JPS.
  • You can publish 100 posts in 24 hours. After that the API refuses.
  • Carousels hold 10 items at most.
  • Alt text works on image posts. Not on reels. Not on stories.

The shopping one matters if you sell things. You tag a product in the app. People tap it. They see the price and a link. You cannot do that through the API. At all.

Filters matter less now than they used to. Most people edit before they upload. But if your workflow depends on an Instagram filter, the API has none.

The 100-post limit is high enough that most people never hit it. But a tool flushing a queue could.

Stories lose their stickers

Stories published through the API lose most of what makes stories work. The IG User Media reference page says this about stories:

Publishing stickers (i.e., link, poll, location) is not supported; however mentioning users without a sticker is supported.

That sentence lists three kinds of sticker. Link, poll, location. The words "i.e." mean those three are examples. Not the complete list. So treat the rule as covering all stickers.

A story with a poll gets more taps than one without. A story with a link sends people somewhere. A location tag puts your story in a place's story feed. None of that works through the API. You can mention someone. That is it. No poll. No link. No countdown. No quiz. No slider. No question box.

If your stories do not perform, check whether they have stickers. A flat story competes against stories that let people interact. Interaction is what the models guess. A story that cannot be interacted with starts behind.

You can add collaborators. But only at the start

Instagram lets you tag another account as a collaborator. The post appears on both profiles. Both accounts share the engagement. It is called a collab post.

The API added this. But it works differently. The IG User Media reference lets you send a list of up to three Instagram usernames when you create a post. You do it with a field called collaborators. It works on single images, reels, and carousels. Not on stories.

Here is the limit. You set it once. At the moment you create the post container. After that, nothing. The IG Media Collaborators endpoint page says creating, updating and deleting are "not supported". You can read who the collaborators are. You cannot invite them. You cannot remove them. You cannot change the list.

So if your workflow builds a post one day and publishes it three days later, you must know the collaborators up front. No one can accept or decline through the API. That happens in the app. After you publish.

The in-app version lets you invite someone when the post is ready. They accept. Then it goes live on both accounts. The API version requires the list at creation time. Then it publishes. Then the collaborator sees the invite in the app.

This is less a missing feature than a different order. But the order matters if your workflow is not built for it.

The music library is smaller through the API

Reels use audio. The audio you pick affects whether people watch. Trending audio especially. If your reel uses the sound everyone else is using this week, Instagram shows it to people looking for that sound.

The API gives you some music. Not all of it. A third party service, bundle.social, explains how the Instagram audio search works. Their music API page, read 18 August 2026, says this:

The returned catalog includes only audio authorized for third party API publishing, which differs from the full in-app Instagram music library.

Meta authorizes some tracks for API use. Not all tracks. So the catalog you can search through the API is smaller than the catalog you see in the app. How much smaller, the page does not say. It says availability "can vary by connected account, region, permissions, and Meta catalog rules."

If you are in the app, you can scroll the full music library. You can pick from the trending list. If you are publishing through the API, you get the subset Meta allowed for third parties. Whether a specific trending sound is in that subset, you will not know until you search for it.

The IG User Media reference gives the rule in six words:

Music tagging is only available for original audio.

That sentence appears under the reels section. Original audio means audio you recorded. The audio in your video file. You can name it. Once. Either when you upload the reel or after. But you cannot attach a track from Instagram's library. Not the way the in-app composer can.

That contradicts what bundle.social documented. They say you can attach audio via the API by passing an audio ID. So one of two things is true. Either Meta's own docs are out of date and the feature was added. Or the feature exists but only for certain accounts or apps. We cannot tell which from the pages we read.

What we can say: if you publish through a tool and your reel has no trending audio on it, the tool may not have access to that audio. Even if you can see it in the app.

Location tags work differently on carousels

You can tag a location on a post. The location goes on the whole post. If the post is a carousel, the tag goes on the carousel itself. Not on the individual images inside it.

The IG User Media reference says location tagging is supported. But under the location ID field it adds:

Not supported on images or videos in carousels.

So you tag the carousel. Not its pieces. The in-app composer may let you tag each photo in a carousel with a different location. The API does not.

This only matters if your workflow depends on different location tags inside one post. For most posts the difference does not show up.

The limits that do not matter

Some limits sound worse than they are. Meta's docs list them. We list them here because someone will tell you they matter. They do not.

Carousel cropping. The API crops all images in a carousel to match the first one. Default is square. That is also what the app does. No difference.

Container expiration. If you create a post container through the API and do not publish it within 24 hours, it expires. Scheduling tools do not create a container a week early. They create it when the time comes. So this limit does not affect anyone.

Rate limit of 100 posts per day. This is per account in a 24-hour rolling window. You would have to queue and send 100 posts to hit it. If you are doing that, you have a different problem.

No preview with audio. The bundle.social page says Meta does not let you preview a reel with attached audio before publishing it. You attach the audio. You publish. Then you see it. For a human checking posts before they go out, that is frustrating. For an automated tool it does not matter.

Why the gap feels like a penalty

No one at Meta is checking where a post came from and scoring it lower. But the features you lose matter. Stickers drive interaction. Trending audio drives views. Shopping tags drive sales. Losing those is not the same as losing reach. It is losing the tools that produce reach.

So when someone says API posting hurts reach, they are half right. The mechanism is wrong. The algorithm does not penalize you. But the post you send through the API is missing pieces the algorithm does care about. A reel without trending audio is not getting penalized. It is just not getting the boost a reel with trending audio would get. A story without a poll is not suppressed. It just does not earn the signal a poll would give it.

The gap looks like a penalty because the result is the same. Your post does less. But one you can fix and one you cannot. A penalty would require Instagram to change its behavior. A feature gap only requires you to post things the API can actually build.

What this does not tell you

This post lists what the API cannot do. It does not tell you how much each missing piece costs you. Losing trending audio on a reel is probably expensive. Losing filters is probably cheap. But we have no measurements for any of it. No one has published a test that isolates one variable and measures it. If someone quotes you a number, ask for the study. We could not find one.

It also does not tell you what your specific tool supports. Some tools have API access to music. Some do not. We do not know which. Meta's docs are vague enough that it may depend on the partnership the tool has with Meta. So the limit above about music may not apply to your tool. Or it may. Check with them.

This also does not cover TikTok or any other platform. TikTok's API has its own limits. Some are stricter than Instagram's. That is a different post.

What we could not determine

Three things we tried to confirm and could not.

Whether the music API is fully available or restricted. Meta's IG User Media page says music tagging is "only available for original audio." But bundle.social documents an API for searching and attaching Instagram's music library. Both were written in 2026. One of them is wrong or incomplete. We could not determine which. It may be that the feature exists for some tools under certain partnerships and Meta's general docs have not been updated. Or it may be that bundle.social's docs describe a feature that was announced but not shipped. We do not know.

Which specific audio tracks are missing from the API catalog. Meta says the API catalog is smaller. It does not say how much smaller. It does not publish a list of what is in or out. So we cannot tell you whether a specific trending sound is available through the API. You would have to search for it and see if it returns.

How much each missing feature costs in reach. Someone will tell you that losing stickers costs you 30% of your reach. Or that reels without trending audio get half the views. Those are guesses. No published study we could find isolates one feature and measures its effect across a real sample of accounts. The mechanism is plausible. The size is unpublished. So we state the gap exists. We do not claim to know what it costs.

What it means

If you schedule posts, you are not being punished. Mosseri said so. The API is not flagged. But the API is limited. Some features do not work through it. Stickers on stories. Trending audio on reels. Shopping tags on posts. Those limits are documented and real.

So the question is not whether Instagram knows you scheduled. It is whether the thing you scheduled can do what you need it to do. If your reel needs trending audio and your tool cannot attach it, the API is not the problem. The tool is. Or the workflow is. Or the format is.

The fix is not to stop scheduling. The fix is to know what scheduling can and cannot build. Then decide which posts need the features the API cannot give them. Those you publish in the app. The rest you schedule. That is the line. Not whether the algorithm will notice. It will not. But whether the post will have the pieces that make it work.

How we did this

We read Meta's developer documentation for the Instagram Graph API. Every limit listed above came from a page in that documentation. We read the Content Publishing guide, the IG User Media reference, and the IG Media Collaborators endpoint. All three were retrieved 18 August 2026. Meta updates these pages without saying when. So what is documented today may change.

We also read Adam Mosseri's statement as quoted by Planoly on 15 March 2023. We could not find the primary source. Planoly quotes it. Multiple other services repeat the same quote. We treat it as a real statement but note we did not hear it ourselves.

We read bundle.social's Instagram Music API documentation on 18 August 2026. Bundle.social is a third party scheduling service. Their docs describe how they access Instagram's music library through Meta's API. Where their docs conflict with Meta's docs, we reported both and said we could not resolve it.

Limits: this is a snapshot of the API as documented on one day. Meta can and does change what the API supports. No date is promised for when a missing feature will arrive.

Sources

  1. Adam Mosseri, quoted in Does Scheduling Your Posts Affect Your Post Reach?, Planoly blog, 15 March 2023. We could not locate the primary source of this statement. Planoly attributes it to Mosseri. Multiple other platforms repeat the same quote. Retrieved 18 August 2026.
  1. Content Publishing, Meta for Developers. Source of the shopping tags, filters, JPEG, rate limit, carousel, and alt text limitations. Retrieved 18 August 2026.
  1. IG User Media, Meta for Developers. Source of the stickers limitation for stories, the collaborators field, the music tagging limitation, and the location tagging limitation for carousel items. Retrieved 18 August 2026.
  1. IG Media Collaborators, Meta for Developers. Source of the statement that creating, updating, and deleting collaborators is not supported. Retrieved 18 August 2026.
  1. Instagram Music API, bundle.social. Source of the statement that the API catalog includes only audio authorized for third-party publishing and differs from the full in-app library. Bundle.social is a third-party scheduling service. Retrieved 18 August 2026.

Changelog

  • 2026-08-18: First version drafted.
apischedulinginstagramstoriesreelspolicy