Tickd.ai
API errors

How to Fix Midjourney Error 403 Forbidden

Updated 10/12/2026

A 403 Forbidden error when working with Midjourney typically occurs under three scenarios: you are building a custom Discord integration, using an unofficial third-party Midjourney API wrapper, or attempting to programmatically access images from the Midjourney Web App gallery. Because Midjourney does not offer an official, public-facing developer REST API, a 403 error means that either Discord, Midjourney's web servers, or a third-party bridge has blocked your request authorization.

Use these steps to diagnose and resolve the 403 Forbidden error in your Midjourney workflows.

1. Verify Discord Interaction Permissions If you are using Discord’s API to trigger the Midjourney bot (such as sending `/imagine` prompts programmatically via a custom bot or webhook), a 403 error usually means your integration lacks permission in the destination channel.

  1. Check Channel Permissions: Ensure your integration bot has "View Channel," "Send Messages," and "Use Slash Commands" permissions enabled in the specific Discord channel where the Midjourney bot is active.
  2. Verify OAuth2 Scopes: Re-invite your integration bot to your Discord server, ensuring you check the applications.commands scope during the OAuth2 authorization flow. Without this scope, the bot cannot trigger slash commands like /imagine.
  3. Review Role Hierarchy: Verify that the Midjourney Bot is not restricted by server-level roles that prevent your integration's custom role from interacting with it.

2. Check for Discord Account Flagging (Self-Botting) Many automated workflows use "self-bots" (automating a personal Discord user account token to prompt Midjourney). Discord strictly prohibits self-botting under its Terms of Service, and a 403 error often indicates your token has been invalidated or flagged.

  1. Check Token Validity: If your script suddenly returns a 403, Discord may have invalidated your user token. Log out of Discord manually, log back in, and check if you are prompted with a CAPTCHA or if your account has been temporarily restricted.
  2. Introduce Request Jitter: If your script sends /imagine commands too rapidly, Discord's anti-spam systems will return a 403 or 429 error. Add random delays (at least 5 to 10 seconds between prompts) to emulate natural human behavior.
  3. Migrate to Official Alternatives: To prevent permanent account termination, migrate your automated systems to use official Discord bot gateways or manual interactions rather than automated user accounts.

3. Troubleshoot Third-Party API Bridge Credentials Because there is no official API, developers often rely on unofficial middleware bridges (such as ImagineAPI, RapidAPI endpoints, or custom-hosted GitHub repositories). A 403 error here points to a middleware credential failure.

  1. Confirm Subscription Status: Log into your third-party API provider's dashboard. A 403 Forbidden error frequently triggers when your paid API tier expires or your request quota is completely depleted.
  2. Check the Linked Midjourney Account: Most third-party bridges require you to link your active Midjourney account via a Discord user token. If your actual Midjourney subscription lapses, the API bridge will return a 403 when attempting to generate images. Check your billing status on the official Midjourney site.
  3. Regenerate API Keys: Revoke your current API developer key in your provider's dashboard, generate a new key, and update your local environment variables (such as MIDJOURNEY_API_KEY).

4. Resolve Web App Gallery Cloudflare Blocks If you are programmatically fetching images or prompt data directly from `midjourney.com/app/` and receiving a 403 error, Cloudflare’s Web Application Firewall (WAF) is actively blocking your requests.

  1. Change the User-Agent: Default library user-agents (like python-requests or Axios) are automatically blocked by Cloudflare's security policies. Set a realistic browser User-Agent header in your code's HTTP request config.
  2. Utilize Discord CDN URLs: Avoid scraping the Midjourney website directly for image files. Instead, extract and cache the direct Discord CDN URLs (e.g., https://cdn.discordapp.com/...) generated in your Discord channel. These endpoints have relaxed access rules.
  3. Pass Valid Authorization Cookies: If you must query the web gallery, extract your session cookies and Authorization: Bearer <token> header from your browser's Network tab while logged into the Midjourney Web App, then pass them in your script's headers.

When to Escalate If you are using an unofficial third-party API provider, you must contact their specific support team, as Midjourney's official support channels do not troubleshoot custom API setups. If you encounter a 403 error on the official Midjourney web app during normal browser use, clear your browser cookies and cache, or seek assistance in the `#member-support` channel on the official Midjourney Discord server.

Set up your AI once so you repeat yourself less.

Try AI Setup Profile

Tickd is independent and not affiliated with any AI company.

While you're here

Tickd is more than troubleshooting — these three are free and take seconds.

Agent BuilderDesign your own AI agent and export it to ChatGPT, Claude, Gemini or Grok.Build one free