Why did my scheduled Instagram post fail to publish?
A scheduled Instagram post that never went out almost always fails for one of seven reasons. The checklist, in the order that finds the cause fastest.
Key takeaways
- Check the connection first; an expired or revoked token is the cause more often than everything else together.
- Professional account plus a linked Facebook Page is required; a personal account fails at publish time, not at connect time.
- Posting the same thing by hand is the fastest diagnostic: Instagram's own message names the problem.
On this page11 sections
You scheduled the post, the slot passed, and nothing appeared on the profile. The scheduling tool says "failed" or, worse, says nothing. Every tool that publishes to Instagram goes through the same Meta API and hits the same walls, so the causes are the same everywhere. Here they are in the order we check them.
1. The connection expired
This is the cause more often than everything else combined. The permission you granted the tool is a token that Meta expires, and it also dies the moment you change your Instagram or Facebook password, turn on two-factor, or remove the tool from your connected apps. The post fails with a permissions error, or the tool shows the account as disconnected. Fix: reconnect the account in the tool and reschedule. Any tool worth using tells you when a connection has died before the slot, not after.
2. The account is not a Business or Creator account
Meta only lets tools publish to professional accounts, and the account has to be linked to a Facebook Page. A personal account connects fine, shows up in the tool, and then fails at publish time. Fix: switch to a professional account in Instagram's settings, link the Page, reconnect.
3. The media does not meet Instagram's rules
Instagram rejects images and videos it does not like without much explanation. The usual offenders: an aspect ratio outside the allowed range (roughly 4:5 to 1.91:1 for feed images), a file that is too large, a format it does not accept (JPEG works; some PNG and HEIC files do not), a video too long for a feed post, or a video whose frame rate or codec it will not process. Fix: re-export as JPEG or MP4 at a standard size and try again. If the same image works when posted by hand, the file is fine and the cause is elsewhere.
4. There is no media at all
Instagram has no text-only posts. A post written for LinkedIn and pushed to Instagram without an image fails every time. Fix: attach an image, or drop Instagram from that post. A good composer refuses to schedule a text-only Instagram post in the first place.
5. The caption breaks a limit
Captions are capped at 2,200 characters and 30 hashtags. Over either and the API refuses the post. Tools that count the limit before sending never hit this; tools that paste whatever you wrote do. Fix: trim the caption, cut the hashtags to the ones that matter.
6. You hit the daily publishing cap
Meta limits how many posts an account can publish through the API in a rolling 24 hours (the documented figure has been 25 for some time; check Meta's current limit if you are near it). A busy launch day or a bulk reschedule can run into it. Fix: spread the posts out, or publish the extra ones by hand.
7. Meta flagged the content
Music that is not licensed for business accounts, a video that trips a copyright match, or a caption with a link pattern Meta treats as spam can all be rejected silently. Fix: remove the music track, change the link, and if it keeps happening post it by hand once to see the message Instagram itself shows.
How to find the cause in two minutes
- Open the tool and look at the account: connected, or asking to reconnect? If reconnect, that was it.
- Check the account type in Instagram: professional and linked to a Page?
- Post the same image and caption by hand. If Instagram itself refuses, read its message; that is the real error.
- If it posts fine by hand, the file or caption passed, so it is the connection or the daily cap.
What Munshi does about it
Munshi checks the rules before a post leaves: an Instagram post without an image is not scheduled, captions are kept under 2,200 characters, and a connection that needs renewing is flagged in the app. Causes 3 to 5 on this list are caught before the slot.
Causes 1, 6 and 7 are Meta's to decide, and when one of them stops a post Munshi shows it as failed with the reason it got back, so the fix is one reconnect or one edit rather than a search.
Common questions
Why does the tool say published but nothing shows on my profile?
Usually the post went to a different account than you expected, most often the Facebook Page instead of Instagram, or a second Instagram account connected earlier. Check the post's target in the tool, then check the other account.
Does a failed post retry on its own?
Depends on the tool and the cause. A temporary Meta error is usually retried; a permissions or media rejection is not, because retrying the same request gets the same answer. Read the failure reason before you reschedule.
Can I schedule Reels and Stories the same way?
Reels can be published through the API with their own video rules. Stories cannot be scheduled through the API by third-party tools in the general case; they are published by hand or through Meta's own tools.
Related reading
The routine that keeps a week of posts from failing quietly is one sitting a week, not a daily check: Why one weekly approval beats a daily grind. The rules Munshi checks for every network are on the integrations page. Running Bluesky and Threads too? See publishing to both at once, and if you also run a Ghost blog, see how to post to Pinterest from Ghost.
Give your company a marketing team this week.
Munshi plans, writes, publishes, and tracks your blog and socials.
Start your workspace