How to post to Instagram from n8n

Posting to Instagram from n8n with Meta's Graph API means your own Meta app, App Review, a container per media item and a wait for video processing; a posting API does those steps for you. With PostWire: connect your Instagram Business or Creator account once (Log in with Instagram, no Facebook Page needed), then one PostWire → Post → Publish node (or one HTTP Request to /api/post) publishes a photo, a Reel or a carousel of up to 10 items.

Instagram never accepts a text-only post: every post needs a photo or a video. A video goes out as a Reel; several photos make a carousel; options.instagram.post_type can also be story.

Written from PostWire's own code and checked on Oct 1, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord — not X, Threads, Reddit or Pinterest.

Step by step

  1. Create a free PostWire account

    Open postwire.io/dashboard.html, type your email and press Create my free account. PostWire emails you a link to confirm the address; connecting accounts and publishing unlock once it is confirmed. No password and no card (free plan: 1 business, 30 posts a month, 15 AI drafts a day, every live network, no card).

  2. Connect Instagram

    Accounts → Connect on Instagram. Choose Log in with Instagram (works with any Business or Creator account, no Facebook Page) or Through a Facebook Page you manage. PostWire's Meta App Review was approved on July 14, 2026, so you don't submit your own. Details.

  3. Copy your API key

    In the dashboard, open API & MCP and press Copy key on the API key card. It is sent as Authorization: Bearer pw_live_… (the X-API-Key header also works). Keep it server-side.

  4. Add the PostWire node (self-hosted) or an HTTP Request (Cloud)

    Self-hosted: Settings → Community nodes → Install → n8n-nodes-postwire, credential PostWire API. n8n Cloud: an HTTP Request node, POST https://postwire.io/api/post with header Authorization: Bearer pw_live_….

  5. Send the photo or video

    With the node: Networks = Instagram, Media = URL or Binary File, Content = Smart Distribute (writes the caption) or Same Text on Every Network. With HTTP Request:

    // A Reel
    { "platforms": ["instagram"], "text": "{{ $json.caption }}", "video_url": "{{ $json.video_url }}" }
    
    // A carousel (2–10 photos or videos)
    { "platforms": ["instagram"], "text": "…", "media": ["https://…/1.jpg", "https://…/2.jpg", "https://…/3.jpg"] }
    
    // A Story (no caption on Stories)
    { "platforms": ["instagram"], "photo_url": "https://…/story.jpg", "options": { "instagram": { "post_type": "story" } } }
  6. Handle the result

    Each network returns its id and link. A long video can come back as processing; PostWire finishes it on a later run, and the post status shows when it is live. Captions are limited to 2,200 characters and 30 hashtags (extra hashtags are dropped, with a notice).

PNG and WebP images are converted to JPEG for Instagram, because Instagram's API only takes JPEG. The media URL must be public and point at the file itself, not at a Google Drive page.

Three ways to post to Instagram from n8n

RouteYour own Meta app and App ReviewVideo (Reels)CarouselsCost
PostWireNo — PostWire's approvalYesUp to 10 itemsFree for 1 business (30 posts/mo); $9+ paid
Graph API with HTTP Request nodesYesYes — create container, poll status, publishYes — one container per itemFree (your time)
Upload-Post nodeNoYesNot listedFree plan: 2 profiles, 10 uploads/mo; Basic $24/mo

Checked on Oct 1, 2026 (2026-10-01) on each vendor's own pricing or docs page, linked in the first column and below. Monthly billing in USD unless noted. "Not listed" means we could not find it on their page, not that it is missing.

Where the others are ahead of PostWire

  • The raw Graph API is free and gives you every field Meta offers. It also means your own app, App Review and container polling in your workflow.
  • Upload-Post's node is verified by n8n, so it installs on n8n Cloud. PostWire's isn't yet; use HTTP Request there.
Sources, all read on Oct 1, 2026:

Questions people ask

Can n8n post to Instagram?

Yes, through Meta's Instagram Graph API (with your own Meta app and App Review) or through a posting API such as PostWire, which needs only an API key and an Instagram account connected once.

Do I need a Facebook Page to post to Instagram from n8n?

Not with PostWire's Log in with Instagram option, which works with any Instagram Business or Creator account. A personal Instagram account can't be posted to through the API.

Can I post a Reel from n8n?

Yes. Send a video to Instagram and PostWire publishes it as a Reel (or set options.instagram.post_type to "reels").

Can I post a carousel?

Yes: pass 2 to 10 photo or video URLs in media. In the dashboard, adding several photos makes a carousel.

Can I post text only to Instagram?

No. Instagram requires a photo or a video. If you only have text, PostWire's dashboard can turn the post into an image (Make an image from this post), and POST /api/media/card does the same over the API.