Instagram errors

Instagram posting errors: what each code means and what to do

An Instagram post through Status 200 Uploads can be refused by us before anything is sent, by Instagram while it takes the file, or by Instagram after it accepted the post. Our refusals carry a fixed code, such as RECONNECT_REQUIRED or media_wrong_for_post_type, with a sentence saying what to do. Instagram's own refusals carry Meta's code and subcode (in error.details, or in History when Instagram refuses later), such as 9 and 2207042 for the publishing limit. This page lists both, with whether sending the same request again can work.

  • Checked on

How to read an error

Every refusal is JSON with error.code and error.message. Switch on the exact code: Instagram's sign-in codes are written in capitals (RECONNECT_REQUIRED, NO_TOKEN), where Facebook and LinkedIn answer reconnect_required in lower case.

Instagram publishes in two steps. It first takes the file into a container, then publishes the container. Our answer comes after the first step: it says processing and gives the container_id, and the post finishes after the answer. History shows how it ended, and GET /api/v2/posts/{id} reads it back.

When Instagram refuses the first step, the failed post is written into History along with the answer, so you can read the reason later. A post we refuse before calling Instagram, such as a picture sent as a Reel, leaves no failed post behind: nothing reached Instagram, and it does not use a post of your plan.

A post that Instagram accepted and then failed keeps Instagram's container id, so History does not offer Retry on it: a retry would send the same post again. Fix what the reason says and publish it as a new post.

The connection to your Instagram account

When the Instagram sign-in we hold has expired, we renew it as the post goes out. When that is not possible, the answer comes from the Instagram step, so the post shows in History as failed.

Instagram: The connection to your Instagram account
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
401RECONNECT_REQUIREDInstagram ended the sign-in we hold for this profile, and it cannot be renewed.Connect Instagram again under Connections, then publish the post again.never No. The same request cannot work: change it first.API answer, History, AI app
401NO_TOKENThis profile's Instagram connection has no sign-in stored.Connect Instagram under Connections.never No. The same request cannot work: change it first.API answer, History, AI app
401TOKEN_REFRESH_FAILEDRenewing the Instagram sign-in failed just now, without Instagram saying it was ended.Publish it again a little later. If it fails again, connect Instagram again under Connections.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, History

The post type and its files

Instagram makes a Reel only from a video, and a carousel only from 2 to 10 files. We check this before anything is sent, because Instagram answers a file that does not fit with a sentence about the file's format, which hides the real cause.

Instagram: The post type and its files
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
400media_wrong_for_post_typeThe files do not fit the post type: a picture sent as a Reel, one file or more than 10 files as a carousel, or several files on a Reel or a feed image. Nothing was sent.Send a video for a Reel and 2 to 10 files for a carousel, or choose the post type that fits the files.never No. The same request cannot work: change it first.API answer, AI app
413MEDIA_TOO_LARGEThe file is larger than Instagram takes through us. Nothing reached Instagram.Use a smaller file: Reels up to 300 MB, photos up to 8 MB.never No. The same request cannot work: change it first.API answer, History, AI app
400bad_requestA Reel's cover (post.instagram.coverUrl) or a media address is not an http:// or https:// address. error.field names it, and no post is recorded.Send a full address that starts with https://, or leave the cover out.never No. The same request cannot work: change it first.API answer
400media_not_availableA scheduled post's file, or a Reel's cover, answers "not found" at its address: deleted, moved, or past the 7 days a library file is kept.Upload the file again and schedule the post with its new mediaID.never No. The same request cannot work: change it first.API answer, AI app

Sending the post to Instagram

After the checks, the post goes to Instagram. A post it accepted finishes after our answer; this one comes back when the first step did not give us a container.

Instagram: Sending the post to Instagram
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
400no_containerInstagram answered the first step without a container id, so the post never started. The failed post is in History.Check the file against Instagram's own errors below, then publish it again.never No. The same request cannot work: change it first.API answer, History

Codes any post can get

Not special to Instagram: the request, the plan and the file in your library. The API reference lists every code.

Codes any post can get
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
401unauthorizedNo API key, or a key that is not active.Send Authorization: Bearer with an active rl_ key from the API page.never No. The same request cannot work: change it first.API answer
403account_not_foundThe accountId is not one of your profiles. The answer lists yours.Use a profile id or "@name" from the list.never No. The same request cannot work: change it first.API answer, AI app
404media_not_foundThe mediaID is not in your library: never imported, deleted, or removed after 7 days.Import or upload the file again and use the new id.never No. The same request cannot work: change it first.API answer, AI app
409media_processingThe file is still importing.Wait the Retry-After seconds and send the same request.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, AI app
429rate_limitedLess than 20 seconds since your last post to the same network.Wait the Retry-After seconds and send the same request.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, AI app
429daily_limit_reachedYour plan's posts for today are used up.Post after resets_at, or move to a larger plan.after_reset Not before the time in resets_at.API answer, AI app
429monthly_limit_reachedThe Free plan's posts for this month are used up.Post after resets_at, or move to a paid plan.after_reset Not before the time in resets_at.API answer, AI app
422idempotency_key_reusedThe Idempotency-Key was already used with another body.Use a new key for a new post.never No. The same request cannot work: change it first.API answer
500server_errorOur side failed.Send it once more with the same Idempotency-Key; without one, check History first.resend_once_with_key Once, with the same Idempotency-Key.API answer, AI app
502upstream_unavailableThe request never left. Nothing was posted.Send the same request again after a short wait.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer

Instagram's own errors

When Instagram refuses the file as we create the post, the answer is HTTP 400 with error.code CONTAINER_ERROR (CAROUSEL_ERROR or CAROUSEL_CHILD_ERROR for a carousel; none of the three is listed in the API reference yet), Instagram's message in error.message, and Meta's code and subcode in error.details. When Instagram refuses the post later, while it processes or publishes it, History shows Instagram's message; for a refused publish it adds code= and subcode=. The codes below are Meta's, written as code/subcode; what they mean comes from Meta's Instagram error reference, read on .

9/2207042As the post is published
The account reached the number of posts apps may publish for it in a moving 24-hour period. Meta's pages give 100 in one place and 50 in others, and count a carousel as one post. [I6, I1, I4]
Wait for older posts to leave the 24-hour window, then publish again. Sending it again at once will not help.
9007/2207027As the post is published
The media is not ready for publishing yet. [I6, I1]
Wait and publish again. Meta suggests checking a container once a minute for up to 5 minutes.
9004/2207052As Instagram fetches the file
Instagram could not fetch the file from its address. [I6]
Use an address that is public and answers with the file itself, or upload the file to your media library and post it by its mediaID.
-2/2207003As Instagram fetches the file
Downloading the file took Instagram too long. [I6]
Publish it again. A smaller file is fetched faster.
36000/2207004As Instagram checks the file
The image is larger than Instagram takes: over 8 MiB. [I6]
Save the image smaller and publish it again.
36001/2207005As Instagram checks the file
Instagram does not take the image's format. Meta's publishing guide names JPEG as the image format. [I6, I1]
Save the image as a JPEG and publish it again.
36003/2207009As Instagram checks the file
The image's aspect ratio is outside what Instagram takes, from 4:5 (portrait) to 1.91:1 (landscape). [I6, I1]
Crop the image into that range and publish it again.
36004/2207010As Instagram checks the post
The caption is too long: Instagram takes up to 2,200 characters, 30 hashtags and 20 @ tags. [I6, I2]
Shorten the caption, or remove hashtags or tags, and publish it again.
352/2207026As Instagram checks the file
Instagram does not take the video's format. [I6]
Export the video as MP4 or MOV and publish it again.
25/2207050Any step
Meta says the Instagram account is restricted. [I6]
Sign in to the Instagram app and complete what it asks. Until then, sending again will not help.
4/2207051Any step
Instagram restricted the activity, with Meta's words "We restrict certain activity to protect our community". [I6]
Wait before posting again, and check the account in the Instagram app.
190Any step
The access token expired or is no longer valid. Instagram follows the Graph API's rules for sign-in errors. [F12]
Connect Instagram again under Connections, then publish the post again.

Instagram error questions

More on Instagram

Instagram's pages this rests on

Sources read on 15 October 2026.

  1. I1Instagram Platform: Content Publishing (no date shown)
  2. I2IG User Media reference (no date shown)
  3. I4IG User Content Publishing Limit (no date shown)
  4. I6Instagram Platform: Error Codes (no date shown)
  5. F12Graph API: Handling Errors (no date shown)

Start posting to Instagram

Instagram is on every plan, Free included. This page was checked on 26 October 2026.