Why a scheduled Instagram post is not showing: expired or revoked access token
Instagram’s long-lived access tokens last about 60 days and must be refreshed before they expire; if a refresh is missed, the connection moves to a "reconnect required" state and scheduled posts on that account stop publishing until it’s reconnected. Meta’s Graph API signals this with error code 190 (an expired or invalid OAuth token) on the failed call.
Media still processing (Reels especially)
Video content is encoded by Instagram after it’s submitted, and a post can’t publish until that finishes — normally seconds, occasionally longer on a large file or a busy period. A scheduler has to wait for that status to flip to finished before it can call publish, which is a real, expected part of how Reels work rather than a bug.
A Meta App Review permission is missing
Some capabilities need their own approved permission from Meta’s App Review process. A first comment posted right after a photo or Reel goes live, for example, needs the comment-management permission specifically — if that permission isn’t granted, the main post still publishes, but the first comment silently doesn’t, which reads as "my post is missing something," not "my post didn’t show."
Publishing rate limit
Instagram enforces a rolling 24-hour cap on API-published posts per account. Meta’s own documentation currently states roughly 100 published posts in a rolling 24-hour window (a carousel counts as one post), though the exact figure has moved over time and different Meta docs have shown different numbers, so a scheduler like SkedCast paces well under it — 80/day with spacing between posts — specifically to avoid brushing against that ceiling.
The media URL couldn’t be fetched
Instagram’s servers download the image or video from a URL you provide rather than accepting an uploaded file directly — if that URL isn’t reachable, isn’t HTTPS, or has expired before Instagram fetches it, publishing fails immediately with a "media not available" style error rather than the post silently vanishing.
FAQ
- Why didn’t my scheduled Instagram post publish at all?
- The most common cause is an expired access token — Instagram tokens need periodic refresh, and a missed refresh moves the account into a reconnect-required state until it’s re-authorized.
- Why did my scheduled Reel publish late instead of not at all?
- Reels go through asynchronous video processing on Instagram’s side before they can publish — a short delay after the scheduled time is normal for video, unlike a static image.
- My post published but the first comment didn’t — why?
- Posting a first comment automatically needs its own Meta App Review permission (comment management); if that permission isn’t granted, the main post still publishes but the automatic comment is silently skipped.
- Can too many scheduled posts in one day cause failures?
- Yes — Instagram enforces a rolling 24-hour publish cap per account, so a very large batch scheduled for the same day can hit that ceiling; a scheduler that paces well under the platform limit avoids this.
- Does a broken image link cause a silent failure?
- No — an unfetchable media URL is rejected immediately with an error, not silently dropped, since Instagram’s servers have to successfully download the file to publish it.
- Do personal Instagram accounts have scheduling problems that Business accounts don’t?
- Personal accounts cannot publish through the API at all — this isn’t a bug to troubleshoot, it’s a hard requirement that the account be a Professional (Business or Creator) account.
- Why is my Instagram post not posting at all, even manually?
- If posting fails outside SkedCast too, the cause is on Instagram’s side — an app-level or account-level restriction, not a scheduling issue. If it only fails through SkedCast, it is almost always the expired-token or missing-permission causes above.