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

# Analíticas de una publicación por ID social

> Obtén analíticas en tiempo real de publicaciones usando el ID de publicación social

export const XByoNotice = () => <Info>
  <strong>Targeting X/Twitter?</strong> Starting March 31, 2026, all X operations require your own API credentials. After linking X via OAuth, include these 2 headers in your request:
  <br /><br />
  <code>X-Twitter-OAuth1-Api-Key</code> — Your API Key (Consumer Key)<br />
  <code>X-Twitter-OAuth1-Api-Secret</code> — Your API Key Secret (Consumer Secret)
  <br /><br />
  <strong>One-time setup per Ayrshare account.</strong> You create one X Developer App and reuse the same API Key and Secret across every sub-profile / end-user you link. You do <em>not</em> create a new app per customer.
  <br /><br />
  Not linked yet? See the <a href="/dashboard/connect-social-accounts/x-twitter-byo-keys">full setup guide</a> to connect your X account.
  <br /><br />
  Your keys are never logged or stored by Ayrshare.
</Info>;

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={["business"]} maxPackRequired={false} />

<XByoNotice />

Obtén analíticas de publicaciones que no se originaron mediante Ayrshare proporcionando el [ID de publicación social](/apis/overview#social-post-id) de bajo nivel.
Este ID se devuelve en el campo `postIds` del [endpoint /post](/apis/post/post).

La cuenta vinculada debe ser el propietario de la publicación para obtener las analíticas (excepción: YouTube; ver a continuación). Plataformas admitidas: `Facebook`, `Instagram`, `LinkedIn`, `Threads`, `TikTok`, `Twitter` y `YouTube`.

<ul className="custom-bullets">
  <li>
    La llamada es la misma que la del [endpoint Analíticas de una publicación](/apis/analytics/post). La diferencia
    clave es que se usa el ID de publicación devuelto por la red social en lugar del ID de Ayrshare. Además,
    incluye el parámetro `searchPlatformId: true` para notificar al endpoint que estás buscando por el
    ID de publicación social.
  </li>

  <li>
    Usa el [endpoint Obtener todo el historial de publicaciones](/apis/history/overview) para recuperar publicaciones e IDs
    originadas fuera de Ayrshare que se encuentran en el campo `id`.
  </li>

  <li>
    Se recomienda usar solo para publicaciones no enviadas mediante Ayrshare. Para publicaciones enviadas mediante Ayrshare, usa el
    [endpoint de analíticas](/apis/analytics/post).
  </li>

  <li>
    Las analíticas de publicaciones de Instagram publicadas antes de que la cuenta del usuario se convirtiera
    de personal a comercial tienen analíticas limitadas.
  </li>

  <li>
    Si obtienes analíticas de YouTube para una publicación que no pertenece a tu canal usando el método
    de ID social, la API devolverá metadatos descriptivos sobre el contenido pero mostrando ceros para
    todas las métricas numéricas. La información descriptiva, como título, descripción, etiquetas, título del canal,
    estado de privacidad y URLs de miniaturas, se completará correctamente, brindando contexto sobre el
    contenido del video. Sin embargo, todas las métricas numéricas de rendimiento, incluyendo visualizaciones, me gusta, comentarios,
    compartidos, cambios de suscriptores, tiempo de visualización y adiciones a listas de reproducción, se devolverán como cero.
  </li>

  <li>
    Al usar `postIds` para hilos de X/Twitter, el ID de publicación social de cada tuit debe proporcionarse
    individualmente; los tuits del hilo no se incluyen automáticamente al consultar la publicación principal.
  </li>
</ul>

## Parámetros de encabezado

<HeaderAPI />

## Parámetros del cuerpo

<Note>
  Se debe proporcionar `id` o `postIds`. Usa `id` para una sola publicación o `postIds` para obtener analíticas de varias publicaciones en una sola solicitud.
</Note>

<ParamField body="id" type="string">
  [ID de publicación social](/apis/overview#social-post-id) devuelto por el [endpoint
  /post](/apis/post/post). Este es el campo `id` de una red social individual que se encuentra en el
  arreglo `postIds`. Se requiere `id` o `postIds`.
</ParamField>

<ParamField body="postIds" type="array">
  Arreglo de [IDs de publicación social](/apis/overview#social-post-id) para obtener analíticas de varias publicaciones en una sola solicitud. Se permiten máximo 100 IDs. Se requiere `id` o `postIds`.

  ```json theme={"system"}
  {
    "postIds": ["1979851549871354062", "2011793803951137234"]
  }
  ```
</ParamField>

<ParamField body="platforms" type="array" required>
  Arreglo de cadenas con las plataformas de las que se quieren obtener analíticas. Solo se permite un valor.

  Valores disponibles:

  ```json theme={"system"}
  {
    "platforms": ["facebook", "instagram", "linkedin", "threads",
                  "tiktok", "twitter", "youtube"]
  }
  ```
</ParamField>

<ParamField body="searchPlatformId" type="boolean" default={false} required>
  Establece en `true` para buscar por el ID de publicación social.
</ParamField>

<RequestExample>
  ```json Single Post theme={"system"}
  {
      // Facebook Social Post ID
      "id": "104923907983682_108329000309742",
      "platforms": [
        // Select only one platform at a time:
        // facebook, instagram, youtube, threads, tiktok, or twitter
          "facebook"
      ],
      "searchPlatformId": true // Required
  }
  ```

  ```json Multiple Posts theme={"system"}
  {
      // Array of Social Post IDs (max 100)
      "postIds": ["1979851549871354062", "2011793803951137234"],
      "platforms": [
        // Select only one platform at a time:
        // facebook, instagram, youtube, threads, tiktok, or twitter
          "twitter"
      ],
      "searchPlatformId": true // Required
  }
  ```
</RequestExample>

<Info>
  Cuando las métricas acumulativas (por ejemplo, me gusta, comentarios, visualizaciones) no están disponibles temporalmente en la red social, la API las completa automáticamente a partir de datos almacenados. Pueden aparecer dos campos opcionales en el objeto `analytics` por plataforma:

  * **`backfilledFrom`** (cadena, ISO 8601) — Presente cuando una o más métricas acumulativas fueron sustituidas por datos almacenados. La marca de tiempo indica cuándo se actualizaron por última vez los datos almacenados.
  * **`recoveredFrom`** (cadena, ISO 8601) — Presente cuando toda la respuesta de analíticas se recuperó de datos almacenados debido a una falla completa de la API. La marca de tiempo indica cuándo se actualizaron por última vez los datos almacenados.

  Los datos almacenados con más de 4 días de antigüedad se consideran obsoletos y no se usarán para relleno ni recuperación.
</Info>

<ResponseExample>
  ```json 200: Single Post Response theme={"system"}
  {
    /**
      The response is the same as Analytics on a Post.
      Please see that endpoint for details.

      Note: Some metrics are not available for posts not owned by the authorized account.
      For example: X does not return non-public metrics or organic metrics for Tweets not sent by the authorized user.
    */
  }
  ```

  ```json 200: Multiple Posts Response theme={"system"}
  {
      "twitter": [
          {
              "id": "1313589441919827982",    // Twitter Social Post ID
              "postUrl": "https://www.twitter.com/myaccount/1313589441919827982",
              "analytics": {
                  "created": "2022-09-07T22:12:10.000Z",
                  "entities": {
                      "urls": [
                          {
                              "start": 77,
                              "end": 96,
                              "url": "https://t.co/abc123",
                              "expandedUrl": "https://www.ayrshare.com/docs",
                              "displayUrl": "ayrshare.com/docs",
                              "unwoundUrl": "https://www.ayrshare.com/docs"
                          }
                      ],
                      "hashtags": [
                          {
                              "start": 97,
                              "end": 112,
                              "tag": "SocialMediaAPI"
                          }
                      ],
                      "mentions": [
                          {
                              "start": 113,
                              "end": 122,
                              "username": "ayrshare"
                          }
                      ]
                  },
                  "name": "Wonder World",
                  "post": "Just launched our social media campaign using Ayrshare! Check out the API at https://t.co/abc123 #SocialMediaAPI @ayrshare",
                  "publicMetrics": {
                      "retweetCount": 0,
                      "quoteCount": 0,
                      "likeCount": 0,
                      "replyCount": 0,
                      "bookmarkCount": 0,
                      "impressionCount": 23
                  },
                  "nonPublicMetrics": {
                      "userProfileClicks": 1,
                      "engagements": 1,
                      "impressionCount": 5
                  },
                  "organicMetrics": {
                      "likeCount": 0,
                      "impressionCount": 5,
                      "replyCount": 0,
                      "retweetCount": 0,
                      "userProfileClicks": 1
                  },
                  "username": "wondrous"
              },
              "lastUpdated": "2022-04-23T18:44:29.778Z",
              "nextUpdate": "2022-04-23T19:19:29.778Z"
          },
          {
              "id": "1313589441919827999",    // Twitter Social Post ID
              "postUrl": "https://www.twitter.com/myaccount/1313589441919827999",
              "analytics": {
                  "created": "2022-09-08T14:30:00.000Z",
                  "name": "Wonder World",
                  "post": "Another great day for social media automation!",
                  "publicMetrics": {
                      "retweetCount": 5,
                      "quoteCount": 2,
                      "likeCount": 15,
                      "replyCount": 3,
                      "bookmarkCount": 1,
                      "impressionCount": 150
                  },
                  "nonPublicMetrics": {
                      "userProfileClicks": 8,
                      "engagements": 12,
                      "impressionCount": 145
                  },
                  "organicMetrics": {
                      "likeCount": 15,
                      "impressionCount": 145,
                      "replyCount": 3,
                      "retweetCount": 5,
                      "userProfileClicks": 8
                  },
                  "username": "wondrous"
              },
              "lastUpdated": "2022-04-23T18:44:29.778Z",
              "nextUpdate": "2022-04-23T19:19:29.778Z"
          }
      ],
      "status": "success",
      "code": 200
  }
  ```

  ```json 200: Backfilled Response theme={"system"}
  {
      "twitter": [
          {
              "id": "1313589441919827982",
              "postUrl": "https://www.twitter.com/myaccount/1313589441919827982",
              "analytics": {
                  "created": "2022-09-07T22:12:10.000Z",
                  "name": "Wonder World",
                  "post": "Just launched our social media campaign!",
                  "publicMetrics": {
                      "retweetCount": 5,
                      "quoteCount": 2,
                      "likeCount": 15,
                      "replyCount": 3,
                      "bookmarkCount": 1,
                      "impressionCount": 150
                  },
                  "username": "wondrous",
                  "backfilledFrom": "2026-04-08T14:30:00.000Z"
              },
              "lastUpdated": "2026-04-09T10:15:00.000Z",
              "nextUpdate": "2026-04-09T10:26:00.000Z"
          }
      ],
      "status": "success",
      "code": 200
  }
  ```

  ```json 200: Recovered Response theme={"system"}
  {
      "twitter": [
          {
              "id": "1313589441919827982",
              "postUrl": "https://www.twitter.com/myaccount/1313589441919827982",
              "analytics": {
                  "created": "2022-09-07T22:12:10.000Z",
                  "name": "Wonder World",
                  "post": "Just launched our social media campaign!",
                  "publicMetrics": {
                      "retweetCount": 5,
                      "quoteCount": 2,
                      "likeCount": 15,
                      "replyCount": 3,
                      "bookmarkCount": 1,
                      "impressionCount": 150
                  },
                  "username": "wondrous",
                  "recoveredFrom": "2026-04-08T14:30:00.000Z"
              },
              "lastUpdated": "2026-04-09T10:15:00.000Z",
              "nextUpdate": "2026-04-09T10:26:00.000Z"
          }
      ],
      "status": "success",
      "code": 200
  }
  ```

  ```json 400: Bad Request theme={"system"}
  {
      "lastUpdated": "2023-12-08T03:40:31.185Z",
      "nextUpdate": "2023-12-08T03:51:31.185Z",
      "youtube": {
          "action": "post",
          "status": "error",
          "code": 186,
          "message": "Post ID not found. Please verify the top level ID returned from the /post endpoint is being sent, the Profile Key is included if applicable, and the post at the social network has not been deleted. If you are trying to retrieve a post originating outside of Ayrshare, please use the /rest-api/endpoints/analytics#analytics-by-social-id",
          "id": "dtuu-jDp4381"
      }
  }
  ```
</ResponseExample>
