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

# Auto Hashtags

> Añade los hashtags más relevantes a tu publicación

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="/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="/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="/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"]} />

Al crear tu publicación, añade hashtags relevantes incrustándolos en el texto o colocándolos al final.
Nuestro sistema avanzado de IA analiza el contenido para generar hashtags adecuados en función del tema.
Aunque puedes escribir la publicación en cualquier idioma, hacerlo en inglés suele ofrecer los mejores resultados en el proceso de generación de hashtags.

## Parámetros de cabecera

<HeaderAPI />

## Parámetros del cuerpo

<ParamField body="post" type="string" required>
  Texto de la publicación al que añadir los hashtags. Longitud máxima: 1.000 caracteres.
</ParamField>

<ParamField body="position" type="string">
  validate
</ParamField>

<ParamField body="max" type="integer" default={2}>
  Número entero con el número máximo de hashtags a añadir. Rango de valores máximos: de 1 a 10. Nota: Instagram permite un máximo de 5 hashtags por publicación.
</ParamField>

<ParamField body="language" type="string">
  Especifica el [código de idioma](/iso-codes/language) del idioma de la publicación para ayudar al algoritmo de hashtags.

  ```json theme={"system"}
  {
    "language": "fr"
  }
  ```
</ParamField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API_Key" \
  -d '{"post": "Today is a great day!", "max": 3, "position": "auto"}'
  -X POST https://api.ayrshare.com/api/hashtags/auto
  ```

  ```javascript JavaScript theme={"system"}
  const API_KEY = "API_KEY";
  fetch(`https://api.ayrshare.com/api/hashtags/auto`, {
        method: "POST",
        headers: {
          "Authorization": `Bearer ${API_KEY}`
        },
        body: JSON.stringify({
          post: "Today is a great day!", // required
          max: 3,           // optional, range 1-5
          position: "auto"  // optional, "auto" or "end"
        })
      })
        .then((res) => res.json())
        .then((json) => console.log(json))
        .catch(console.error);
  ```

  ```python Python theme={"system"}
  import requests

  payload = {
          'post': 'Today is a great day!',
          'max': 3,           # optional, range 1-5
          'position': 'auto'  # optional, 'auto' or 'end'
  }
  headers = {'Content-Type': 'application/json',
          'Authorization': 'Bearer API_KEY'}

  r = requests.post('https://api.ayrshare.com/api/hashtags/auto',
      json=payload,
      headers=headers)

  print(r.json())
  ```

  ```php PHP theme={"system"}
  <?php
  require 'vendor/autoload.php';// Composer auto-loader using Guzzle. See .../guzzlephp.org/en/stable/overview.html

  $client = new GuzzleHttp\Client();
  $res = $client->request(
      'POST',
      'https://api.ayrshare.com/api/hashtags/auto',
      [
          'headers' => [
              'Content-Type'  => 'application/json',
              'Authorization' => 'Bearer API_KEY'
          ],
          'json' => [
              'post' => 'Today is a great day!',
              'max'  => 3,
              'position' => 'auto'
          ]
      ]
  );

  echo json_encode(json_decode($res->getBody()), JSON_PRETTY_PRINT);
  ```
</RequestExample>

<ResponseExample>
  ```javascript 200 Hashtagged Post Returned theme={"system"}
  {
      post: "Disney’s trouble with Oswald the #LuckyRabbit is a great lesson #ForStartups in a crisis"
  }
  ```
</ResponseExample>
