Instagram scheduled post didn't post? Causes and fixes
By HamzaPublished

In short
A scheduled Instagram post usually fails for one of seven reasons: the login behind it expired, the account isn't the right type, the photo or video breaks Instagram's rules, the caption is over a limit, the account hit its daily limit, Instagram restricted the account, or the post was never fully scheduled. Check your profile first, since some failed posts went live anyway, then fix the cause and post it again.
Instagram scheduled post didn't post: check this first
If your Instagram scheduled post didn't post, it's almost always one of seven things. The login behind it expired, the account is the wrong type, the photo or video breaks Instagram's rules, the caption is over a limit, the account hit its daily limit, Instagram restricted the account, or the post was never fully scheduled (a draft, or waiting for someone to approve it).
Before you fix anything, open your profile and look: some posts that show as failed went live anyway, and posting again makes a copy. Then find the error message, which names the cause:
- Instagram app: your profile, the menu at the top right, then Scheduled content (Instagram's help center). From there you can edit, reschedule or Share now.
- Meta Business Suite: Content, then Scheduled. Meta's troubleshooting page says a failed post shows an error there, and you can open it and click Publish now. Posts saved with "Finish later" sit in Drafts and never go out on their own (Meta's help).
- Any other scheduler: its failed or error list. Match the message to the table below.
The 7 causes, with Meta's error codes
Schedulers that post for you, other than Meta's own, go through Meta's Content Publishing API, so they all hit the same rules. The codes are from Meta's error code reference and error handling guide.
| Cause | What the error says | Fix |
|---|---|---|
| 1. The login expired or was cut off | "Access token has expired" (code 190), lost authorization | Open the Instagram app and clear any notice, then reconnect the account in your tool |
| 2. Wrong account type | Not set up as a business or creator account | Switch to a professional account (Settings and activity, then Account type and tools) |
| 3. Photo or video outside the rules | Aspect ratio can't be published (2207009), video format not supported (2207026), image too large (2207004) | JPEG, 8 MB max, 4:5 to 1.91:1. Reels: MP4 or MOV, 3 seconds to 15 minutes, 300 MB max |
| 4. Caption over a limit | "Submit media with a shorter caption" (2207010) | 2,200 characters, 5 hashtags, 20 @ tags |
| 5. Daily limit reached | "Maximum number of posts" (2207042) | Wait. The limit is counted over a moving 24 hours |
| 6. Account or post restricted | "The Instagram account is restricted" (2207050), flagged as spam (2207051) | Sign in to the app and do what it asks. Tell Instagram if it isn't spam |
| 7. Never fully scheduled | Nothing at all: no error, no post | Find it in Drafts or an approval queue and finish it |
1. The login. Changing your password can end the connection your scheduler uses (Meta's error guide has a code for exactly that), as can removing the app's access in your settings, or a check Instagram wants you to finish in the app. Meta's Business Suite page says to clear any pop-up notice in the Instagram app, then publish again. In another tool, reconnect the account, then retry.
2. The account type. Schedulers can't publish to a personal account: Meta's publishing docs cover professional accounts only, meaning Business or Creator. Switching a private account to professional makes it public (Instagram's help center). Instagram's own scheduler has its own rule: the account must be public. If yours is linked to a Facebook Page that needs Page Publishing Authorization, nothing posts until that's done.
3. The media. The Content Publishing page says "JPEG is the only image format supported", so a PNG or HEIC from your phone can fail unless your tool converts it first. Meta's media reference gives the rest: feed photos between 4:5 and 1.91:1, so a tall 9:16 photo sent as a feed post is refused. Story videos run 3 to 60 seconds and up to 100 MB. A free video compressor can bring a big video under, and our Instagram rules page lists every limit.
4. The caption. The API docs still say 30 hashtags, but Instagram's help center now caps them at 5 a post, and its wording suggests the first comment's hashtags count toward the same 5. I wrote up the details in Instagram's 5-hashtag limit.
7. Never fully scheduled. In Business Suite, a post saved as a draft stays a draft. In a tool with approvals, a post nobody approved stays put. Some posts can't be scheduled at all (the table below says which).
Sometimes it's nobody's fault. Meta lists errors whose fix is just "try again": a server error (2207001), "create media fail" (2207032) and a download that took too long (2207003).
Instagram's scheduler, Business Suite and other apps differ
| Instagram app | Meta Business Suite | Other schedulers | |
|---|---|---|---|
| Account | Public | Access to the Instagram account in the business portfolio | Professional (Business or Creator) |
| Limits | 25 posts a day, 30 days ahead | Meta doesn't say on its scheduling page | 100 API posts in a moving 24 hours |
| Can't schedule | Product tags, collabs, sponsored posts, fundraisers | Not listed | Shopping tags, filters |
| Failures show in | Scheduled content | Content, Scheduled | The tool's error list |
Where the sources disagree
The daily limit. Meta's own publishing page says 100 posts per 24 hours in its rate limit section, then says 50 in its carousel section. Either way, every app posting to the account counts toward it, and a carousel counts as one. Buffer's Instagram error library says 25, the same number as the in-app scheduler's daily cap. I go with 100: it's the number in the section about the limit. You don't have to guess: the same page gives an endpoint (content_publishing_limit) that reports how much of the limit an account has used.
How far ahead. Instagram's help center says 30 days today. When scheduling launched in 2022 it was 75 days (TechCrunch), and some guides that rank for this still say 75.
Why a "maybe posted" failure isn't retried by itself
A post goes out in two steps: the tool uploads the photo or video with its caption, then makes one last call that makes it public. A clear refusal (wrong shape, caption too long, daily limit) means nothing went out, and trying again after the fix is safe. A timeout, a server error or no post ID back means the post may be live. Meta's own advice for that case: when the publish call returns no post ID, ask for the upload's status before doing anything else.
Even an error isn't proof. On October 2, Threads, Meta's other app with a publishing API built the same way, answered our last call with an error for a post that had gone live. A tool that retried on every error would have posted it twice.
So this is how I built Yaybird to handle it:
- Known not posted: if our posting service was only busy, it retries by itself, up to 3 tries, 5 and then 20 minutes apart. If Instagram refused the post itself, it doesn't retry. It says "Nothing went live on Instagram" and "Safe to retry; it cannot post twice", so you fix it and retry.
- No answer: it tries again with the same request key, which our posting service uses to spot a repeat within 24 hours. If those tries run out, or nobody reports back within 48 hours, it stops and shows "It may be live on Instagram".
- Your call: you check the profile, then either paste the live link to mark it posted, or tick "I checked Instagram and it is not live" and retry.
Whatever tool you use, do the same: check the profile before you press Retry.
How to stop it happening next time
- Check the post before its time, not at it. Yaybird checks Instagram's caption limits (counting hashtags across caption and first comment) and a story's shape and length before a post can be approved, so a problem shows while you can still fix it.
- Reconnect after a password change. Yaybird emails you when an account needs it, and holds its posts until you do.
- Approve early. A post waiting for approval doesn't go out at its time, so approve posts from your phone before then. If one misses, Yaybird asks: post it now or pick a new time.
Questions
Where do I find my scheduled posts on Instagram?
In the Instagram app, go to your profile, tap the menu at the top right, then Scheduled content under Your insights and tools. Each post there has Delete, Edit post, Reschedule and Share now.
Why can't I schedule a post on Instagram at all?
Instagram's help center says you need a public account to schedule in the app. If your account is private, the option doesn't show. Product tags, collaborative posts, sponsored posts and fundraisers can't be scheduled either.
How far ahead can I schedule an Instagram post?
Up to 30 days ahead and 25 posts a day in the Instagram app, going by its help center today. The 75 days some guides give is what Instagram allowed when scheduling launched in 2022.
Should I just schedule the post again?
Only after you check your profile. If the tool got no clear answer from Instagram, the post may be live already, and scheduling it again makes a second copy.
Drafted with AI from our research, fact-checked against the platforms' docs and our code, and reviewed by Hamza.
About the author
I build Yaybird, where your AI writes the posts and you approve them on your phone.