Instagram posting runs through Meta's Graph API. It requires an Instagram Business or Creator account, OAuth through Instagram Login (no Facebook Page needed) or Facebook Login (with a linked Page), and Meta App Review for the content-publishing permissions. Personal accounts can't post via API.
Meta's App Review and business verification are slow and strict. PostWire handles the Meta app and the review so you publish with one call.
Instagram is live on PostWire through Meta's official Graph API — PostWire holds the Meta App Review, so you connect with one OAuth click. Feed posts, Reels and Stories are supported; Instagram requires a photo or a video on every post, and PostWire refuses a text-only one before it is sent rather than letting Meta reject it.
Instagram uses OAuth, not a password. Your user connects in the dashboard, or you generate the authorization URL via the API:
curl -X POST https://postwire.io/api/oauth/instagram/url \
-H "Authorization: Bearer $POSTWIRE_API_KEY"
# -> { "url": "https://.../oauth/authorize?..." }
# The user opens the URL, approves, and PostWire stores the token (and refreshes it for you).
Once connected, posting is a single request. Add more networks by putting more strings in platforms.
curl -X POST https://postwire.io/api/post \
-H "Authorization: Bearer $POSTWIRE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platforms":["instagram"],"photo_url":"https://cdn.example.com/photo.jpg","text":"New drop ✨ #reels"}'
PostWire ships an MCP server — hosted, or local via npx postwire-mcp, authenticated with your API key. Add it to any MCP client:
{
"mcpServers": {
"postwire": {
"command": "npx",
"args": ["-y", "postwire-mcp"],
"env": { "POSTWIRE_API_KEY": "pw_live_xxx" }
}
}
}
Then the agent just calls the tool:
{
"name": "post_to_social",
"arguments": { "platforms": ["instagram"], "photo_url": "https://cdn.example.com/photo.jpg", "text": "New drop ✨" }
}Hosted instead of local: add https://postwire.io/api/mcp (OAuth sign-in or an API key). Step by step, with Reels, carousels and Stories: Instagram MCP server. Without code, from a queue, a spreadsheet or an RSS feed: six ways to automate Instagram posts.
| Direct integration | PostWire | |
|---|---|---|
| Platform audit / review | You apply & maintain it | Handled for you |
| OAuth + token refresh | You build it | Managed |
| AI agent support | Build your own tool | MCP tool out of the box |
| Other networks | One integration each | 9 networks, one API |
| Plan | Price | Brands |
|---|---|---|
| Free | $0 | 1 brand · 10 posts/mo · 2 networks per post |
| Starter | $9 | 3 brands · 300/mo |
| Pro | $29 | 10 brands · 2,000/mo |
| Agency | $99 | 50 brands |
| Scale | $299 | 200 brands |
14-day refund on paid plans. Ten businesses on Ayrshare's Launch plan cost $299/month (pricing page, Sept 26, 2026); on PostWire, $29. See PostWire vs Ayrshare.
Related reading: Instagram API proxy: what a hosted Instagram API handles for you · Ayrshare alternative · best Ayrshare alternatives · post to Facebook from ChatGPT · post to Facebook from Claude Code · Upload-Post alternative · post MCP server for Instagram and 9 more networks · post to Instagram from IFTTT · post to Instagram from Power Automate · post to Instagram from ChatGPT.