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

# Buscar audio de Instagram

> Busca en el catálogo de audio con licencia de Instagram una pista para adjuntar a un Reel

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} />

Busca en el catálogo de audio de Instagram por palabra clave. Usa el `audioId` devuelto con [`instagramOptions.audioConfiguration`](/docs/apis/post/social-networks/instagram#adding-music-to-a-reel) para adjuntar la pista cuando publiques un Reel.

<InstagramAudioNotice />

## Parámetros del header

<HeaderAPI />

## Parámetros de query

<ParamField query="query" type="string" required>
  Palabra clave a buscar, como el nombre de un artista o de una pista. Un valor vacío o compuesto solo
  de espacios devuelve `code: 101`.
</ParamField>

<ParamField query="audioType" type="string" default="music">
  Qué catálogo buscar. Puede ser `music` para pistas comerciales con licencia u `original_sound` para
  audio tomado de los Reels de otros creadores. Cualquier otro valor devuelve `code: 101`.
</ParamField>

<ParamField query="limit" type="integer">
  Número máximo de pistas a devolver, de `1` a `100`. Los valores no enteros o fuera de rango devuelven
  `code: 101`. Si se omite, se aplica el valor predeterminado de Instagram.
</ParamField>

## Campos de respuesta

Instagram no devuelve todos los campos para todas las pistas, así que trata todos los campos de pista excepto `audioId` como opcionales.

<ResponseField name="status" type="string">
  `success` cuando la búsqueda se completó. Una búsqueda sin coincidencias en el catálogo sigue siendo un éxito.
</ResponseField>

<ResponseField name="query" type="string">
  La palabra clave buscada, devuelta como eco.
</ResponseField>

<ResponseField name="audio" type="array">
  Pistas coincidentes. Un array vacío significa que la búsqueda se ejecutó y no encontró coincidencias.

  <Expandable title="Campos de la pista">
    <ResponseField name="audioId" type="string">
      El id que se pasa como `audioConfiguration.audioId` al publicar un Reel.
    </ResponseField>

    <ResponseField name="title" type="string">Título de la pista.</ResponseField>
    <ResponseField name="displayArtist" type="string">Nombre del artista tal como lo muestra Instagram.</ResponseField>
    <ResponseField name="durationMs" type="integer">Duración de la pista en milisegundos.</ResponseField>
    <ResponseField name="thumbnailUrl" type="string">URL de la miniatura de la carátula.</ResponseField>
    <ResponseField name="audioType" type="string">Puede ser `music` u `original_sound`.</ResponseField>

    <ResponseField name="isAdsEligible" type="boolean">
      Si la pista puede usarse en un anuncio. La música con licencia con frecuencia no está disponible
      para anuncios aunque esté disponible para un Reel orgánico.
    </ResponseField>
  </Expandable>
</ResponseField>

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

  ```json 200: No matches theme={"system"}
  {
    "status": "success",
    "query": "asdfghjkl",
    "audio": []
  }
  ```

  ```json 400: Instagram Login account theme={"system"}
  {
    "status": "error",
    "code": 514,
    "action": "post",
    "message": "Adding music to a Reel requires an Instagram account connected via Facebook Login. This profile is connected with Instagram Login, which Meta does not permit for music attach, search, or lookup. Please relink Instagram using Facebook Login and grant the instagram_content_publish permission, then try again.",
    "platform": "instagram"
  }
  ```
</ResponseExample>

## Errores

| Código | Significado |
| - | - |
| 101 | `query` ausente o vacío, un `audioType` no reconocido o un `limit` fuera del rango de 1 a 100. |
| 156 | Instagram no está vinculado a este perfil. |
| 161 | La autorización de Instagram expiró o fue revocada. Vuelve a vincular la cuenta. |
| 239 | Instagram rechazó la solicitud por un motivo a nivel de cuenta, incluida una pista no disponible. En la búsqueda esto reporta 239 en lugar del 517 que devuelve el endpoint de consulta. |
| 258 | Instagram devolvió una respuesta malformada o un fallo no mapeado. |
| 425 | A la conexión le falta un permiso requerido de Instagram. Vuelve a vincular y concede todos los permisos. |
| 435 | Se alcanzó el límite de tasa de Instagram. Espera antes de reintentar. |
| 514 | Instagram está vinculado con Instagram Login. La Audio API requiere Facebook Login. |

Los códigos 514 a 518 se describen en [Errores de audio de Instagram Reels](/docs/errors/errors-ayrshare#instagram-reels-audio-errors); el resto están en la [referencia de errores de Ayrshare](/docs/errors/errors-ayrshare).

## Próximos pasos

<Card title="Adjunta la pista a un Reel" icon="music" href="/docs/apis/post/social-networks/instagram#adding-music-to-a-reel" horizontal />

<Card title="Consulta una sola pista" icon="magnifying-glass" href="/docs/apis/media/get-instagram-audio" horizontal />


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