How to post to Instagram from n8n
/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
- 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).
- 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.
- 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_…(theX-API-Keyheader also works). Keep it server-side. - 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, POSThttps://postwire.io/api/postwith headerAuthorization: Bearer pw_live_…. - 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" } } } - 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
| Route | Your own Meta app and App Review | Video (Reels) | Carousels | Cost |
|---|---|---|---|---|
| PostWire | No — PostWire's approval | Yes | Up to 10 items | Free for 1 business (30 posts/mo); $9+ paid |
| Graph API with HTTP Request nodes | Yes | Yes — create container, poll status, publish | Yes — one container per item | Free (your time) |
| Upload-Post node | No | Yes | Not listed | Free 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.
- Upload-Post plans and free-plan networks (their llms-full.txt): www.upload-post.com/llms-full.txt
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.
Try it on one business, free.
The free plan is 1 business on every live network, 30 posts a month and 15 AI drafts a day — no card, no time limit. Paid plans start at $9 a month and have a 14-day refund.