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

# Аналітика допису за Social ID

> Отримати аналітику в реальному часі для дописів за допомогою Social Post ID

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

Отримайте аналітику для дописів, які не походять через Ayrshare, надавши низькорівневий [Social Post ID](/apis/overview#social-post-id).
Цей ID повертається в полі `postIds` [кінцевої точки /post](/apis/post/post).

Пов'язаний обліковий запис має бути власником допису для отримання аналітики (виняток: YouTube; див. нижче). Підтримувані платформи: `Facebook`, `Instagram`, `LinkedIn`, `Threads`, `TikTok`, `Twitter` та `YouTube`.

<ul className="custom-bullets">
  <li>
    Виклик такий самий, як і [кінцева точка Analytics on a Post](/apis/analytics/post). Ключовою
    відмінністю є те, що Ви використовуєте post id, повернутий соціальною мережею, замість Ayrshare ID. Також
    включіть параметр `searchPlatformId: true`, щоб повідомити кінцеву точку, що Ви шукаєте за
    Social Post ID.
  </li>

  <li>
    Використовуйте [кінцеву точку Get All Post History](/apis/history/overview) для отримання дописів та ID,
    що походять за межами Ayrshare, знайдених у полі `id`.
  </li>

  <li>
    Рекомендується використовувати лише для дописів, не надісланих через Ayrshare. Для дописів, надісланих через Ayrshare, використовуйте
    [кінцеву точку analytics](/apis/analytics/post).
  </li>

  <li>
    Аналітика дописів Instagram, опублікованих до перетворення облікового запису користувача з особистого на
    бізнес-обліковий запис, має обмежену аналітику.
  </li>

  <li>
    Якщо отримання аналітики YouTube для допису, який не належить Вашому каналу, за допомогою методу
    social id, API поверне описові метадані про контент, показуючи нулі для
    всіх числових метрик. Описова інформація, така як заголовок, опис, теги, назва каналу,
    статус конфіденційності та URL мініатюр буде правильно заповнена, надаючи контекст про
    відеоконтент. Однак усі числові показники продуктивності, включаючи перегляди, лайки, коментарі,
    поширення, зміни підписників, час перегляду та додавання в плейлисти, будуть повернуті як нульові значення.
  </li>

  <li>
    При використанні `postIds` для потоків X/Twitter, Social Post ID кожного твіту має надаватися
    окремо, твіти потоку не включаються автоматично при запиті батьківського допису.
  </li>
</ul>

## Параметри заголовка

<HeaderAPI />

## Параметри тіла

<Note>
  Необхідно надати або `id`, або `postIds`. Використовуйте `id` для одного допису або `postIds` для отримання аналітики кількох дописів в одному запиті.
</Note>

<ParamField body="id" type="string">
  [Social Post ID](/apis/overview#social-post-id), повернений з [кінцевої точки
  /post](/apis/post/post). Це поле `id` для окремої соціальної мережі, знайдене в
  масиві `postIds`. Потрібен або `id`, або `postIds`.
</ParamField>

<ParamField body="postIds" type="array">
  Масив [Social Post IDs](/apis/overview#social-post-id) для отримання аналітики кількох дописів в одному запиті. Максимум 100 ID. Потрібен або `id`, або `postIds`.

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

<ParamField body="platforms" type="array" required>
  Рядковий масив платформ для отримання аналітики. Дозволено лише одне значення.

  Доступні значення:

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

<ParamField body="searchPlatformId" type="boolean" default={false} required>
  Встановіть у `true`, щоб шукати за Social Post ID.
</ParamField>

<RequestExample>
  ```json Single Post theme={"system"}
  {
      // Facebook Social Post ID
      "id": "104923907983682_108329000309742",
      "platforms": [
        // Виберіть лише одну платформу за раз:
        // facebook, instagram, youtube, threads, tiktok, або twitter
          "facebook"
      ],
      "searchPlatformId": true // Обов'язково
  }
  ```

  ```json Multiple Posts theme={"system"}
  {
      // Масив Social Post IDs (макс. 100)
      "postIds": ["1979851549871354062", "2011793803951137234"],
      "platforms": [
        // Виберіть лише одну платформу за раз:
        // facebook, instagram, youtube, threads, tiktok, або twitter
          "twitter"
      ],
      "searchPlatformId": true // Обов'язково
  }
  ```
</RequestExample>

<Info>
  Коли кумулятивні метрики (наприклад, лайки, коментарі, перегляди) тимчасово недоступні від соціальної мережі, API автоматично заповнює їх зі збережених даних. Два опціональні поля можуть з'явитися в об'єкті `analytics` кожної платформи:

  * **`backfilledFrom`** (string, ISO 8601) — Присутнє, коли одна або більше кумулятивних метрик було замінено збереженими даними. Timestamp вказує, коли збережені дані востаннє оновлювалися.
  * **`recoveredFrom`** (string, ISO 8601) — Присутнє, коли всю відповідь аналітики було відновлено зі збережених даних через повний збій API. Timestamp вказує, коли збережені дані востаннє оновлювалися.

  Збережені дані старші 4 днів вважаються застарілими і не використовуються для заповнення або відновлення.
</Info>

<ResponseExample>
  ```json 200: Single Post Response theme={"system"}
  {
    /**
      Відповідь така сама, як і для Analytics on a Post.
      Будь ласка, див. деталі на тій кінцевій точці.

      Примітка: Деякі метрики недоступні для дописів, які не належать авторизованому обліковому запису.
      Наприклад: X не повертає non-public metrics або organic metrics для Tweets, не надісланих авторизованим користувачем.
    */
  }
  ```

  ```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>
