> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postiz.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Instagram

> How to add Instagram to your system

<Snippet file="never-share.mdx" />

<Warning>
  **NOTE:** Please be advised that Instagram and Facebook can use the same app (no need to create two separate apps)
</Warning>

## Connection Options

There are two ways to connect to an Instagram account: by using a Facebook Business or through a standalone flow that connects directly to an Instagram account. Both methods will require a [Meta for Developers account](https://developers.facebook.com/apps/).

<Info>
  **What Postiz supports on Instagram:**

  * Feed posts (single image, carousel, video / Reels).
  * Stories (image and video).
  * Attaching audio (music or original sounds) to Reels — Facebook Business connection only, the [Instagram Audio API](https://developers.facebook.com/docs/instagram-platform/content-publishing/audio-api/) is not available for standalone connections.
  * Replying to comments via an explicit user action.

  **What Postiz does not support:**

  * Story link stickers / swipe-up links — the Instagram Graph API doesn't expose interactive sticker payloads, so Postiz can only upload the story media.
  * Automatic comment auto-reply — there is no agent that watches for incoming comments and replies on your behalf. You can post a reply through the API, but each reply is an explicit action.
</Info>

## Setting up Meta Application

The following steps will guide you through the setup of a Meta application that can be used for connecting Instagram to Postiz.

<Steps>
  <Step title="Create a new app">
    Select a business portfolio, then create a [new app in Meta for developers](https://developers.facebook.com/apps/creation/).

    Please be advised that for public applications, you will need to verify your business.

    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/facebook/Business-Portfolio.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=0c8b3ff1674149ae9a9a312b614a4d4f" alt="Business Portfolio" width="1854" height="511" data-path="images/providers/facebook/Business-Portfolio.png" />

    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/facebook/Create-an-app.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=ddddf127593b97f363d10b6cdffb954a" alt="Create app" width="1332" height="555" data-path="images/providers/facebook/Create-an-app.png" />
  </Step>

  <Step title="Select app type">
    Select "Other" and click next

    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/facebook/Other-app-use-cases.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=b3019dc009d89b072f2c1115a980bbba" alt="Other app use cases" width="1074" height="996" data-path="images/providers/facebook/Other-app-use-cases.png" />
  </Step>

  <Step title="Select business">
    Then select business

    ![Business](https://github.com/user-attachments/assets/74bde861-5441-46bb-b5b8-c5229e980237)
  </Step>

  <Step title="Add details and create app">
    Add all your details and click Create App

    ![Create an app details page](https://github.com/user-attachments/assets/f0c03825-0f9b-4467-94a4-ab8cf6ed7e1d)
  </Step>
</Steps>

## Facebook Business Option

If you have a Facebook Business page that is linked to your Instagram account, you can connect to it by setting up the Login for Business flow.

<Steps>
  <Step title="Set up Login for Business">
    ![Setup Login with Instagram](https://github.com/user-attachments/assets/08d3c1d1-d498-49d1-adac-aa6248e7c10c)

    Set up login for business
  </Step>

  <Step title="Set up Redirect URI">
    Set up a redirect URI back to the application

    ![Instagram](https://github.com/user-attachments/assets/78496d3f-3b84-4724-afc8-ed217d892c6d)

    <Snippet file="oauth2redirect.mdx" />

    **Your Instagram OAuth2 Redirect URI:**

    * Production: `https://your-postiz-domain.com/integrations/social/instagram`
    * Local development: `http://localhost:4200/integrations/social/instagram`
    * Docker: `http://localhost:5000/integrations/social/instagram`
  </Step>

  <Step title="Set up permissions">
    ![step 7](https://github.com/user-attachments/assets/a81aa2a3-de66-4099-906b-b78c641d1a23)

    Go to advanced permission and request access for the following scopes:

    * `instagram_basic`
    * `pages_show_list`
    * `pages_read_engagement`
    * `business_management`
    * `instagram_content_publish`
    * `instagram_manage_comments`
    * `instagram_manage_insights`
  </Step>

  <Step title="Copy your credentials">
    ![Keys](https://github.com/user-attachments/assets/ac11f87f-4951-47f8-8344-7fbc9de942e4)

    Go to basic permissions copy your App ID and App Secret and paste them in your `.env` file

    ```env theme={null}
    FACEBOOK_APP_ID="app id"
    FACEBOOK_APP_SECRET="app secret"
    ```

    Instagram should now be working!
  </Step>
</Steps>

## Instagram Standalone Option

If you want to connect directly to your Instagram account without having to use a Facebook Business, use the standalone option.

<Warning>
  Please note that standalone option requires a professional Instagram account.
</Warning>

<Steps>
  <Step title="Set up Instagram">
    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/instagram-standalone-001.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=b8100a55eacb822dfa77c1b736075101" alt="&#x22;Add products to your app&#x22; section of app creation" width="3205" height="1810" data-path="images/providers/instagram-standalone/instagram-standalone-001.png" />

    Set up Instagram.
  </Step>

  <Step title="Set up Instagram Business Login">
    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/instagram-standalone-002.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=fec54922d8021cc9c9751f708e4c369d" alt="Set up Instagram Business Login" width="2336" height="734" data-path="images/providers/instagram-standalone/instagram-standalone-002.png" />

    Click on the button to set up Instagram Business Login
  </Step>

  <Step title="Set up Redirect URI">
    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/instagram-standalone-003.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=bf0fbe883e3efb30b56c51fe23ffeaae" alt="Set up redirect URI" width="2511" height="1756" data-path="images/providers/instagram-standalone/instagram-standalone-003.png" />

    <Snippet file="oauth2redirect.mdx" />

    **Your Instagram Standalone OAuth2 Redirect URI:**

    * Production: `https://your-postiz-domain.com/integrations/social/instagram-standalone`
    * Local development: `http://localhost:4200/integrations/social/instagram-standalone`
    * Docker: `http://localhost:5000/integrations/social/instagram-standalone`
  </Step>

  <Step title="Copy Instagram App ID and Secret">
    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/instagram-standalone-004.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=c27df5eebc64cd407a1e9ab73d2e19bc" alt="Instagram App ID and Secret" width="2999" height="1565" data-path="images/providers/instagram-standalone/instagram-standalone-004.png" />

    From your Instagram API setup screen copy the Instagram App ID and Instagram App Secret and paste them in your `.env` file

    ```env theme={null}
    INSTAGRAM_APP_ID="app id"
    INSTAGRAM_APP_SECRET="app secret"
    ```
  </Step>

  <Step title="Add Instagram Standalone channel in Postiz Application">
    Go to the Postiz web interface, and click on the "Add Channel" button. Select "Instagram (Standalone)" from the list of available channels. You should be redirected to the Instagram login screen to authorize the application.
  </Step>
</Steps>

## Adding App Roles

If you're having trouble connecting to your Instagram accounts, adding them as App Roles may help.

<Steps>
  <Step title="Go to the App Roles page">
    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/Facebook-App-developpers-dashboard.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=8faef5ba6e05f860bbb69ff2c722f7af" alt="Facebook App developers dashboard" width="1892" height="860" data-path="images/providers/instagram-standalone/Facebook-App-developpers-dashboard.png" />
  </Step>

  <Step title="Add a role">
    Click on "Add People"

    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/App-Roles-page.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=7a4d33181647a545aae6ff5ad05e9614" alt="App Roles page" width="1760" height="321" data-path="images/providers/instagram-standalone/App-Roles-page.png" />
  </Step>

  <Step title="Add an Instagram Tester">
    Select the "Instagram Tester" option, and type in the handles of all the Instagram accounts you'd like to connect to. Then, click "Add".

    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/Add-people-window.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=12e8223cb9062959731f289bfdecd881" alt="Add people window" width="759" height="807" data-path="images/providers/instagram-standalone/Add-people-window.png" />
  </Step>

  <Step title="Accept the invitations">
    Go to your Instagram account, and accept the tester invitation in the [Apps and Websites section of the profile settings](https://www.instagram.com/accounts/manage_access/).

    <img src="https://mintcdn.com/postiz/NC1G4tduhaxm8LzE/images/providers/instagram-standalone/Apps-and-Websites-section-of-the-profile-settings.png?fit=max&auto=format&n=NC1G4tduhaxm8LzE&q=85&s=98a30e2d90d83a9afa2414ca1e4522f9" alt="Apps and Websites section of the profile settings" width="1406" height="575" data-path="images/providers/instagram-standalone/Apps-and-Websites-section-of-the-profile-settings.png" />
  </Step>
</Steps>

## Troubleshooting

### "Insufficient developer role" error

This means the Instagram account you're trying to connect hasn't been added as a tester on the Meta app. Walk through the [Adding App Roles](#adding-app-roles) section above for that exact account: add it as an Instagram Tester, then accept the invitation from within the Instagram app's settings.

### Channel connects, but posts fail with permission errors

The advanced permissions on the Meta app must be approved (or your account must be a developer/tester on the app). Submit the app for review with the required scopes — until then, only roles you've added can publish.
