not_public · 4006 · HTTP 422
Instagram returned no media for this post to a logged-out viewer: it is private, removed, or restricted to logged-in users. Audio transcription retries it once on a fresh connection before reporting this; a later request rarely changes the answer.
Example response
{ "ok": false, "request_id": "req_…", "error": { "code": "not_public", "number": 4006, "message": "Instagram returned no media for this post to a logged-out viewer: it is private, removed, or restricted to logged-in users. Audio transcription retries it once on a fresh connection before reporting this; a later request rarely changes the answer.", "docs": "https://transcriptfetch.com/docs/errors/not_public" } }
Every failure carries error.code, error.number, error.message and error.docs, plus at most one of retry_with (the request change that would succeed), details (structured specifics) or issues (validation problems).
What it means
Not public. Instagram returned no media for this post to a logged-out viewer: it is private, removed, or restricted to logged-in users. Audio transcription retries it once on a fresh connection before reporting this; a later request rarely changes the answer.
Shown to end users as: “Instagram isn't showing this post publicly. It may be private, removed or restricted to logged-in users.”
Why it happens
- Instagram returned no media for this post to a logged-out viewer. The post is private (or its account is), was removed, or is restricted to logged-in users.
- Less often, Instagram briefly refuses logged-out access to a post that is public. Audio transcription already retries once on a fresh connection before answering with this code.
What to do
- Open the post in a private browser window without logging in. If Instagram asks you to log in or says the post isn't available, it cannot be fetched.
- Do not retry in a loop. If the post does open logged out, one retry a few minutes later is reasonable. Failed requests are never charged.
request_id; include it when contacting support.