> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Метадані аудіо Instagram

> Отримати деталі окремого аудіотреку Instagram за його ID

export const InstagramAudioNotice = () => <Warning>
  <strong>Requires Instagram linked through Facebook Login.</strong> Instagram's Audio API is only available to accounts connected via <strong>Facebook Login</strong>, which needs a Facebook Page connected to the Instagram account. Accounts connected with <strong>Instagram Login</strong> (the Ayrshare default) cannot search, look up, or attach audio, and every audio request returns <code>code: 514</code>.
  <br /><br />
  This is a Meta restriction, not an Ayrshare one. Meta's documentation states the Audio API "is only available on the Instagram API with Facebook Login. It is not supported on the Instagram API with Instagram Login." No permission or plan upgrade changes it.
  <br /><br />
  <strong>Three things are required:</strong>
  <br />
  1. An Instagram <strong>Business</strong> or <strong>Creator</strong> account<br />
  2. A <strong>Facebook Page connected</strong> to that Instagram account<br />
  3. Instagram linked to Ayrshare with <strong>Instagram Login disabled</strong>, so the Facebook Login flow is used
  <br /><br />
  See the <a href="/docs/dashboard/connect-social-accounts/instagram#music-attach-eligibility-facebook-login-required">step-by-step setup guide</a>.
</Warning>;

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

export const HeaderAPI = ({noProfileKey, profileKeyRequired}) => <>
    <ParamField header="Authorization" type="string" required>
      <a href="/docs/apis/overview#authorization">API Key</a> of the Primary Profile.
      <br />
      <br />
      Format: <code>Authorization: Bearer API_KEY</code>
    </ParamField>
    {!noProfileKey && (profileKeyRequired ? <ParamField header="Profile-Key" type="string" required>
          <a href="/docs/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField> : <ParamField header="Profile-Key" type="string">
          <a href="/docs/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField>)}
  </>;

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

Отримайте деталі одного аудіотреку за його `audioId`. Використовуйте це, щоб підтвердити, що збережений ID досі валідний, або щоб показати назву треку та обкладинку перед публікацією.

<InstagramAudioNotice />

## Параметри заголовка

<HeaderAPI />

## Параметри шляху

<ParamField path="audioId" type="string" required>
  ID треку, як його повертає [пошук аудіо](/docs/apis/media/search-instagram-audio). ID, який Instagram
  не розпізнає, повертає `code: 517`.
</ParamField>

## Поля відповіді

Поля треку повертаються безпосередньо в об'єкті відповіді, а не вкладено. Instagram не повертає кожне поле для кожного треку, тож вважайте всі поля, крім `audioId`, опціональними.

<ResponseField name="status" type="string">`success`, коли трек знайдено.</ResponseField>
<ResponseField name="audioId" type="string">ID треку, повернутий назад.</ResponseField>
<ResponseField name="title" type="string">Назва треку.</ResponseField>
<ResponseField name="displayArtist" type="string">Ім'я виконавця так, як його відображає Instagram.</ResponseField>
<ResponseField name="durationMs" type="integer">Тривалість треку в мілісекундах.</ResponseField>
<ResponseField name="thumbnailUrl" type="string">URL мініатюри обкладинки.</ResponseField>
<ResponseField name="audioType" type="string">Або `music`, або `original_sound`.</ResponseField>

<ResponseField name="isAdsEligible" type="boolean">
  Чи можна використовувати трек у рекламі.
</ResponseField>

<ResponseExample>
  ```json 200: Success theme={"system"}
  {
    "status": "success",
    "audioId": "17901234567890123",
    "title": "Summer Nights",
    "displayArtist": "The Example Band",
    "durationMs": 32000,
    "thumbnailUrl": "https://scontent.example.com/cover.jpg",
    "audioType": "music",
    "isAdsEligible": true
  }
  ```

  ```json 400: Track unavailable theme={"system"}
  {
    "status": "error",
    "code": 517,
    "action": "post",
    "message": "The selected audio track is unavailable. It may be an invalid audio id, restricted in your region, or not licensed for this use. Please choose a different track using the Instagram audio search endpoint and try again.",
    "platform": "instagram"
  }
  ```
</ResponseExample>

<Note>
  **Доступність залежить від регіону.** Meta повертає ту саму помилку для ID, який не існує, для
  треку, не ліцензованого в регіоні облікового запису, і для треку, не ліцензованого для цього
  використання. Усі три випадки повідомляють `517`, тож трек, який працює для одного облікового
  запису, може цілком закономірно не спрацювати для іншого. Перевіряйте ID запитом, а не
  припускайте, що збережений досі працює.
</Note>

## Помилки

| Код | Значення |
| - | - |
| 156 | Instagram не прив'язано до цього профілю. |
| 161 | Авторизація Instagram закінчилася або була відкликана. Повторно прив'яжіть обліковий запис. |
| 239 | Instagram відхилив запит з причини на рівні облікового запису. |
| 258 | Instagram повернув некоректну відповідь або незіставлений збій. |
| 425 | Підключенню бракує потрібного дозволу Instagram. Повторно прив'яжіть і надайте всі дозволи. |
| 435 | Досягнуто ліміту запитів Instagram. Зачекайте перед повторною спробою. |
| 514 | Instagram прив'язано через Instagram Login. Audio API вимагає Facebook Login. |
| 516 | `audioId` відсутній або порожній. |
| 517 | Instagram не розпізнає ID, або трек недоступний цьому обліковому запису. |

Коди від 514 до 518 описані в [помилках аудіо Instagram Reels](/docs/errors/errors-ayrshare#instagram-reels-audio-errors); решта — в [довіднику помилок Ayrshare](/docs/errors/errors-ayrshare).

## Наступні кроки

<Card title="Знайдіть трек" icon="magnifying-glass" href="/docs/apis/media/search-instagram-audio" horizontal />

<Card title="Прикріпіть трек до Reel" icon="music" href="/docs/apis/post/social-networks/instagram#adding-music-to-a-reel" horizontal />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.