Instagram Music API

Instagram Music API for Reels music, audio IDs, and original sounds

Search Meta-authorized Instagram music and original sounds, return audio_id values, and attach selected audio to scheduled Instagram Reels through the bundle.social API.

Last updated: May 2026

API key authScheduled publishing14 platforms
Quick start
API request
1// Search Instagram music that can be used in Reels2const audio = await fetch(3  "https://api.bundle.social/api/v1/misc/instagram/audio" +4  "?teamId=team_123&audioType=music&searchQuery=launch",5  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }6);7const { audio: tracks } = await audio.json();89// Use audio_id in an Instagram Reel post10await fetch("https://api.bundle.social/api/v1/post", {11  method: "POST",12  headers: {13    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,14    "Content-Type": "application/json"15  },16  body: JSON.stringify({17    teamId: "team_123",18    status: "SCHEDULED",19    postDate: "2026-05-14T10:00:00.000Z",20    socialAccountTypes: ["INSTAGRAM"],21    data: {22      INSTAGRAM: {23        type: "REEL",24        text: "Launch week recap.",25        uploadIds: ["upload_reel_123"],26        musicSoundInfo: {27          musicSoundId: tracks[0].audio_id,28          musicSoundVolume: 80,29          videoOriginalSoundVolume: 5030        }31      }32    }33  })34});

Using Instagram audio through Meta directly

The Instagram Audio API is tied to Instagram Platform with Facebook Login, so accounts connected through Instagram Login cannot use audio search or attachment.
Search results are not the full Instagram app catalog. Meta only returns audio authorized for third party publishing, and availability can vary by account, region, and permissions.
Audio has to be selected before Reel publishing. Meta does not support previewing the final Reel with attached audio through the API before it goes live.

What bundle.social handles

Search Instagram music, original sounds, or trending audio from the same API surface your product already uses for Instagram scheduling.
Attach an audio_id to scheduled Instagram Reels with the same musicSoundInfo payload style used across short-form video workflows.
Validate account connection method, Reel-only support, and volume fields before a publish request reaches Meta.

Instagram audio IDs are powerful, but not universal

Meta exposes Instagram audio search and audio attachment only for eligible Instagram accounts connected through Facebook Login. bundle.social keeps that rule visible, so product teams can guide users before they build a Reel workflow around unavailable audio.

Workflow

How it works

Use one workflow to discover eligible Instagram audio, store the selected audio_id, and publish a Reel with the right sound attached.

01

Search Instagram audio

Call /misc/instagram/audio with teamId, audioType=music or audioType=original_sound, and an optional searchQuery. Omit searchQuery to request trending audio for that type.

02

Review returned audio details

Each result can include audio_id, title, audio type, display artist or creator username, duration, artwork thumbnail, and a temporary download or preview URL when Meta returns one.

03

Attach audio to a Reel

Create an Instagram REEL post and set data.INSTAGRAM.musicSoundInfo.musicSoundId to the selected audio_id. Optional volume fields control selected audio and the video's original sound.

Implementation

Implementation details for Instagram audio search

The page targets teams building a user-facing Reels composer, scheduler, or AI video tool that needs audio discovery without hand-rolling Meta edge cases.

Use teamId for account context

Audio search requires teamId because catalog availability depends on the connected Instagram account and its Meta connection method.

Model audioType explicitly

Expose music and original_sound as separate modes. The result fields overlap, but creator sounds and music tracks are different product choices.

Treat previews as temporary

download_url and artwork fields are returned when available, but product UIs should not assume every track has durable preview media.

Validate before scheduling

Only allow musicSoundInfo on REEL posts and keep volume values between 0 and 100 to match the post schema.

Capabilities

Instagram Reels audio inside your publishing workflow

Find authorized music, original sounds, and trending Reels audio, then publish scheduled Reels without sending users back to the Instagram app.

Music and original sound search

Search Meta-authorized music or user-generated original sounds by keyword, or omit the query to return trending audio for the selected audio type.

Audio IDs ready for Reels

Use the returned audio_id directly as musicSoundInfo.musicSoundId when scheduling an Instagram Reel. No extra lookup step is needed.

Search result metadata

Expose title, audio type, duration, artist or creator details, artwork, profile image, and temporary download URL fields when Meta includes them.

Volume controls

Set musicSoundVolume and videoOriginalSoundVolume from 0 to 100. When omitted, both default to full volume.

Connection method validation

Audio fields are accepted only for Instagram accounts connected through Facebook Login, matching Meta's platform limitation before publish time.

Reel-only guardrails

musicSoundInfo is valid only for Instagram REEL posts, so feed posts, Stories, and carousels cannot silently receive unsupported audio fields.

Developer example

Search Instagram audio and schedule a 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
1// Search Instagram original sounds2const audioResponse = await fetch(3  "https://api.bundle.social/api/v1/misc/instagram/audio" +4  "?teamId=team_123&audioType=original_sound",5  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }6);7const { audio } = await audioResponse.json();89// Schedule an Instagram Reel with the selected audio10await fetch("https://api.bundle.social/api/v1/post", {11  method: "POST",12  headers: {13    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,14    "Content-Type": "application/json"15  },16  body: JSON.stringify({17    teamId: "team_123",18    title: "Reel with Instagram audio",19    postDate: "2026-05-14T10:00:00.000Z",20    status: "SCHEDULED",21    socialAccountTypes: ["INSTAGRAM"],22    data: {23      INSTAGRAM: {24        type: "REEL",25        text: "A short Reel with selected audio.",26        uploadIds: ["upload_reel_123"],27        shareToFeed: true,28        musicSoundInfo: {29          musicSoundId: audio[0].audio_id,30          musicSoundVolume: 100,31          videoOriginalSoundVolume: 6032        }33      }34    }35  })36});

Supported content

Music searchOriginal sound searchTrending audioaudio_id valuesArtwork and creator metadataReels audio attachmentVolume controls

Honest limitations

  • Instagram audio attachment is supported only for REEL posts.
  • Instagram Audio API requires Instagram Platform with Facebook Login. It is not supported for Instagram Login connections.
  • The returned catalog includes audio authorized for third party use and can differ from the music catalog visible inside the Instagram app.
  • Audio availability can vary by connected account, region, permissions, and Meta catalog rules.
  • Meta does not support previewing a final Reel with attached audio through the API before publishing.

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;

Resources

Technical guides & documentation

FAQ

Questions developers ask before building

Can I add music to Instagram Reels through the API?

Yes. Search available audio, then include data.INSTAGRAM.musicSoundInfo.musicSoundId when creating an Instagram REEL post.

Does this work with Instagram Login?

No. Meta's Instagram Audio API is available only through Instagram Platform with Facebook Login. Accounts connected with Instagram Login need to reconnect through Facebook Login to use audio.

Can I search both music and original sounds?

Yes. Use audioType=music for Meta Sound Collection music or audioType=original_sound for user-generated original sounds from Reels.

What is an Instagram audio_id?

audio_id is the identifier Meta returns for a searchable Instagram music track or original sound. Pass it as data.INSTAGRAM.musicSoundInfo.musicSoundId when creating a Reel.

What happens if I omit the search query?

Meta returns trending audio for the selected audio type, subject to account eligibility and catalog availability.

Can I control audio volume?

Yes. musicSoundVolume controls the selected audio and videoOriginalSoundVolume controls the uploaded video's original sound. Both are optional and default to 100.

Can I attach Instagram audio to feed posts, Stories, or carousels?

No. musicSoundInfo is supported only for Instagram REEL posts. Other Instagram post types should omit the field.

Why does the API return fewer tracks than the Instagram app?

Meta only exposes audio that is authorized for third party API publishing. The in-app catalog can include tracks that are not available to external publishing integrations.