> ## 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.

# Obter metadados de áudio do Instagram

> Consulte os detalhes de uma única faixa de áudio do Instagram pelo seu 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} />

Recupere os detalhes de uma faixa de áudio pelo seu `audioId`. Use este endpoint para confirmar que um id armazenado ainda é válido ou para exibir o título e a arte de capa de uma faixa antes de publicar.

<InstagramAudioNotice />

## Parâmetros do header

<HeaderAPI />

## Parâmetros de caminho

<ParamField path="audioId" type="string" required>
  O id da faixa, conforme retornado pela [pesquisa de áudio](/docs/apis/media/search-instagram-audio). Um id
  que o Instagram não reconhece retorna `code: 517`.
</ParamField>

## Campos de resposta

Os campos da faixa são retornados diretamente no objeto de resposta, sem aninhamento. O Instagram não retorna todos os campos para todas as faixas, portanto trate todos os campos, exceto `audioId`, como opcionais.

<ResponseField name="status" type="string">`success` quando a faixa foi encontrada.</ResponseField>
<ResponseField name="audioId" type="string">O id da faixa, ecoado de volta.</ResponseField>
<ResponseField name="title" type="string">Título da faixa.</ResponseField>
<ResponseField name="displayArtist" type="string">Nome do artista conforme o Instagram o exibe.</ResponseField>
<ResponseField name="durationMs" type="integer">Duração da faixa em milissegundos.</ResponseField>
<ResponseField name="thumbnailUrl" type="string">URL do thumbnail da arte de capa.</ResponseField>
<ResponseField name="audioType" type="string">`music` ou `original_sound`.</ResponseField>

<ResponseField name="isAdsEligible" type="boolean">
  Se a faixa pode ser usada em um anúncio.
</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>
  **A disponibilidade depende da região.** A Meta retorna o mesmo erro para um id que não existe,
  para um que não está licenciado na região da conta e para um que não está licenciado para este uso.
  Os três reportam `517`, então uma faixa que resolve para uma conta pode legitimamente falhar para
  outra. Consulte o id em vez de presumir que um id armazenado ainda funciona.
</Note>

## Erros

| Code | Significado                                                                                         |
| ---- | --------------------------------------------------------------------------------------------------- |
| 156  | O Instagram não está vinculado a este perfil.                                                       |
| 161  | A autorização do Instagram expirou ou foi revogada. Revincule a conta.                              |
| 239  | O Instagram rejeitou a requisição por um motivo em nível de conta.                                  |
| 258  | O Instagram retornou uma resposta malformada ou uma falha não mapeada.                              |
| 425  | A conexão está sem uma permissão obrigatória do Instagram. Revincule e conceda todas as permissões. |
| 435  | O limite de taxa do Instagram foi atingido. Aguarde antes de tentar novamente.                      |
| 514  | O Instagram está vinculado com Instagram Login. A Audio API exige Facebook Login.                   |
| 516  | O `audioId` está ausente ou vazio.                                                                  |
| 517  | O Instagram não reconhece o id, ou a faixa está indisponível para esta conta.                       |

Os códigos 514 a 518 estão descritos em [Erros de áudio de Reels do Instagram](/docs/errors/errors-ayrshare#instagram-reels-audio-errors); os demais estão na [referência de erros do Ayrshare](/docs/errors/errors-ayrshare).

## Próximos passos

<Card title="Pesquisar uma faixa" icon="magnifying-glass" href="/docs/apis/media/search-instagram-audio" horizontal />

<Card title="Anexar a faixa a um Reel" icon="music" href="/docs/apis/post/social-networks/instagram#adding-music-to-a-reel" horizontal />
