Skip to main content
Instagram lets Reels use audio assets from its audio API. In bundle.social, you search for an audio asset first, then pass its audio_id as data.INSTAGRAM.musicSoundInfo.musicSoundId when creating a Reel.
Instagram audio search and Reel audio publishing require the Instagram account to be connected through Facebook Login. Direct Instagram OAuth (instagramConnectionMethod: "INSTAGRAM") cannot use this feature.

The Endpoint

GET /api/v1/misc/instagram/audio Searches Instagram music or original sounds that can be attached to Reels.

Query Parameters

ParameterTypeRequiredDescription
teamIdstringYesTeam with the connected Instagram account.
audioTypeenumYesmusic or original_sound.
searchQuerystringNoOptional keyword search, max 100 characters.
GET /api/v1/misc/instagram/audio?teamId=team_123&audioType=music&searchQuery=lofi

Response Shape

{
  "audio": [
    {
      "audio_id": "17900000000000000",
      "audio_type": "music",
      "title": "Late Night Drive",
      "display_artist": "Example Artist",
      "duration_in_ms": 30000,
      "cover_artwork_thumbnail_url": "https://...",
      "download_url": "https://..."
    },
    {
      "audio_id": "17800000000000000",
      "audio_type": "original_sound",
      "title": "Original audio",
      "ig_username": "creator",
      "profile_picture_url": "https://..."
    }
  ]
}
Important fields:
FieldMeaning
audio_idThe ID you pass as musicSoundId in the post payload.
audio_typemusic or original_sound.
titleTrack or sound title when Instagram provides it.
display_artistArtist name for music assets.
duration_in_msAudio duration in milliseconds when available.
download_urlPreview/download URL when Instagram provides it.
ig_usernameCreator username for original sounds when available.

Using Audio In Reels

Use the audio_id from the search response as data.INSTAGRAM.musicSoundInfo.musicSoundId.
{
  "teamId": "team_123",
  "title": "Reel with Instagram audio",
  "status": "SCHEDULED",
  "postDate": "2026-06-01T15:00:00.000Z",
  "socialAccountTypes": ["INSTAGRAM"],
  "data": {
    "INSTAGRAM": {
      "type": "REEL",
      "text": "New Reel",
      "uploadIds": ["upload_video_123"],
      "musicSoundInfo": {
        "musicSoundId": "17900000000000000",
        "musicSoundVolume": 80,
        "videoOriginalSoundVolume": 20
      }
    }
  }
}

Audio Fields

FieldTypeDescription
musicSoundIdstringRequired when using Instagram audio. Use audio_id from the search endpoint.
musicSoundVolumenumberOptional. Audio volume from 0 to 100. Defaults to 100.
videoOriginalSoundVolumenumberOptional. Original video volume from 0 to 100. Defaults to 100.

Rules

  • Works only for data.INSTAGRAM.type: "REEL".
  • Does not work for feed posts, carousels, or Stories.
  • Requires Instagram connected via Facebook Login.
  • Direct Instagram OAuth returns a clear 400 error for audio search.
  • If you pass musicSoundInfo for a non-Reel post, validation fails before publishing.

Quick Reference

TaskWhat to use
Search musicGET /api/v1/misc/instagram/audio?teamId=...&audioType=music
Search original soundsGET /api/v1/misc/instagram/audio?teamId=...&audioType=original_sound
Search by keywordAdd searchQuery=...
ID for postaudio_id from the search response
Post fielddata.INSTAGRAM.musicSoundInfo.musicSoundId
Need the full request/response schema? Check Swagger. The endpoint is under misc/instagram.