> ## 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 بواسطة معرّفه

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` الخاص به. استخدم هذا للتأكد من أن معرّفًا مخزّنًا لا يزال صالحًا، أو لعرض عنوان المقطع وصورة غلافه قبل النشر.

<InstagramAudioNotice />

## معلمات الترويسة

<HeaderAPI />

## معلمات المسار

<ParamField path="audioId" type="string" required>
  معرّف المقطع، كما يعيده [بحث الصوت](/docs/apis/media/search-instagram-audio). المعرّف الذي لا
  يتعرّف عليه Instagram يعيد `code: 517`.
</ParamField>

## حقول الاستجابة

تُعاد حقول المقطع مسطّحة مباشرة على كائن الاستجابة وليست متداخلة. لا يعيد Instagram كل حقل لكل مقطع، لذا تعامل مع جميع الحقول باستثناء `audioId` على أنها اختيارية.

<ResponseField name="status" type="string">`success` عند العثور على المقطع.</ResponseField>
<ResponseField name="audioId" type="string">معرّف المقطع، مُعاد كما هو.</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 الخطأ نفسه لمعرّف غير موجود، ولمعرّف غير مرخّص في
  منطقة الحساب، ولمعرّف غير مرخّص لهذا الاستخدام. تُبلَّغ الحالات الثلاث جميعها بـ `517`، لذا فإن
  مقطعًا يُحلّ لحساب ما يمكن أن يفشل بشكل مشروع لحساب آخر. استعلم عن المعرّف بدلًا من افتراض أن
  معرّفًا مخزّنًا لا يزال يعمل.
</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 على المعرّف، أو المقطع غير متاح لهذا الحساب.                 |

الرموز من 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 />
