Instagram API

Instagram API for scheduling posts, Reels, Stories, and carousels

Add Instagram publishing without turning your roadmap into a Meta Graph API maintenance project. bundle.social keeps the workflow simple while exposing the Instagram fields your product still needs.

Last updated: July 2026

API key authScheduled publishing14 platforms
Quick start
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Instagram Reel",10    postDate: "2026-05-12T18:30:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["INSTAGRAM"],13    data: {14      INSTAGRAM: {15        type: "REEL",16        text: "Behind the scenes from launch week.",17        uploadIds: ["upload_reel"],18        shareToFeed: true19      }20    }21  })22});

Instagram Graph API direct

You need Meta app setup, permissions, account connection, and business or creator account handling.
Media publishing uses strict requirements around URLs, formats, processing, and supported content types.
Reels, Stories, posts, tags, locations, thumbnails, and carousels each add edge cases.
Scheduling and retry behavior have to be built around Meta's publishing model.

What bundle.social handles

One API payload can schedule Instagram content while preserving Instagram-specific fields.
Support for posts, Reels, Stories, upload IDs, alt text, tags, collaborators, and carousel metadata.
Analytics and post history are available where Instagram account permissions allow them.

Instagram still has real account constraints

Instagram automation depends on the account type and permissions Meta gives you. We surface those rules up front so your team is not surprised in production.

Workflow

How it works

Connect accounts once, then create and schedule posts with channel-specific fields from one API.

01

Create an API key

Generate an organization API key in the dashboard and use it with the x-api-key header.

02

Connect accounts

Connect each social account once. bundle.social keeps the account mapping ready for future posts.

03

Create or schedule posts

Send one request with the publish date, selected channels, and the fields each platform needs.

Product architecture

Build social media workflows without rebuilding every platform

Instagram API for products that need posts, Reels, Stories, and carousels

An Instagram API integration looks simple until the product has to support real customer workflows. Feed posts, Reels, Stories, carousels, music, collaborators, tags, alt text, media requirements, account eligibility, and Meta permissions all affect whether content can be published. A working demo can become a long-term integration project once customers start uploading different assets and connecting many accounts.

bundle.social gives developers one Instagram publishing workflow inside a broader social media API. Your product can upload media, reference upload IDs, schedule Instagram content, pass Instagram-specific fields, and track post status without maintaining every Meta Graph API edge case yourself. Instagram remains native where it needs to be, but the operational model stays consistent with the rest of your social stack.

Reels and visual content need platform-aware validation

Instagram is a visual platform with strict media expectations. Reels, Stories, feed images, carousel items, tags, collaborators, and music fields do not all share the same rules. Product teams need to surface those constraints before a user schedules content, otherwise support teams inherit every failed post after the fact.

The useful abstraction is not pretending Instagram behaves like every other channel. It is keeping a shared workflow for account connection, uploads, scheduling, status, and analytics while preserving Instagram-specific payloads. That lets SaaS tools, agencies, AI content products, and internal marketing systems build Instagram publishing into their own experience without flattening the platform.

Instagram publishing beside analytics, history, and cross-platform campaigns

Most products do not need Instagram in isolation. They need Instagram Reels next to TikTok videos, LinkedIn updates, Facebook posts, YouTube uploads, Pinterest campaigns, and Google Business Profile updates. The same campaign may need different captions, media variants, scheduled times, and reporting views across channels.

bundle.social keeps Instagram connected to the rest of that workflow. Teams can schedule visual content, import history where available, fetch analytics and audience data when permissions allow, and review failed posts in the same operational layer as other platforms. That makes Instagram a first-class channel inside a product, not a separate integration island.

Capabilities

Instagram publishing built for real production constraints

Posts, Reels, Stories, and carousels. The Meta Graph API complexity is handled for you.

Reels and feed posts

Schedule Instagram feed posts and Reels with upload IDs, captions, shareToFeed settings, and Reel-specific options.

Instagram Music API for Reels

Search eligible Instagram music and original sounds, then attach returned audio_id values to scheduled Reels with musicSoundInfo.

Carousel support

Build carousels with multiple upload IDs and per-item metadata in a single post payload.

Stories where permitted

The Instagram schema supports STORY as a content type where account permissions and Meta eligibility allow it.

Alt text and accessibility fields

Include alt text and location metadata in the post payload so accessibility and discoverability details are never skipped.

Tags and collaborators

Add user tags and collaborator handles to supported Instagram content types through the same post creation workflow.

Analytics and audience demographics

Pull engagement data, import historical posts, and access raw audience demographics including age splits, city reach, and gender breakdown for connected Instagram accounts.

Content distribution at scale

Route Instagram posts across multiple connected accounts using the same API shape. Upload media once, reference it across campaigns, and track per-post status so failures don't cascade when volume increases.

Per-post error isolation

Each Instagram post tracks its own state independently. A single failed post surfaces its own error without blocking the rest of the publishing queue.

Platform specifics

Instagram API specifics for visual publishing

Instagram is strict about media shape, content type, and account connection details, so product teams should expose these constraints clearly.

Aspect ratios are strict

Reels and Stories should be vertical 9:16. Feed images usually need 4:5 or 1:1, while wider or taller content can fail or render poorly.

Auto-fit and auto-crop

For feed posts, autoFitImage can pad non-standard images and autoCropImage can center-crop them. They are mutually exclusive and do not apply to Reels or Stories.

Carousel item rules

Carousels support up to 10 items. Each carousel item must bind to one uploadId, and video carousel items do not support person tags.

Developer example

Schedule an Instagram Reel

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Instagram Reel",10    postDate: "2026-05-12T18:30:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["INSTAGRAM"],13    data: {14      INSTAGRAM: {15        type: "REEL",16        text: "Behind the scenes from launch week.",17        uploadIds: ["upload_reel"],18        shareToFeed: true19      }20    }21  })22});

Supported content

Feed postsReelsReels audioStoriesImagesVideosCarouselsAlt textTags

Honest limitations

  • Instagram automation depends on account type, permissions, and Meta platform rules.
  • Some Instagram fields apply only to specific content types, such as Reels or carousel items.
  • Media should be uploaded before post creation so the API can reference upload IDs.
  • Instagram music and original sounds require eligible accounts connected through Facebook Login.

Guarantees

Developer-first infrastructure

2% error rate

We handle the platform edge cases, media processing, and rate limits so your requests succeed.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day. Sometimes the same hour. Test us c;

FAQ

Questions developers ask before building

Can I post Instagram Reels through the API?

Yes. Use INSTAGRAM data with type REEL, text, upload IDs, and Reel-specific options such as shareToFeed where applicable.

Can I add music or original sounds to Instagram Reels?

Yes. Use the Instagram Music API to search eligible music or original sounds, then pass the returned audio_id as data.INSTAGRAM.musicSoundInfo.musicSoundId when creating a REEL post.

Can I schedule Instagram Stories?

The Instagram schema supports STORY as a content type. Final behavior still depends on Meta permissions and account eligibility.

Does Instagram require a business account?

Instagram API access is governed by Meta account and permission rules. Treat personal-account automation as limited unless Meta explicitly allows it.

Can I use carousels?

Yes. Instagram carousel items can reference upload IDs and per-item metadata such as alt text and tags.

Can I get Instagram analytics?

Analytics are supported for Instagram accounts where permissions and platform availability allow collection.