# Platform insights

Which metrics each platform returns for posts, and the account-level endpoints for Instagram, Facebook, YouTube, LinkedIn, TikTok and Google Business Profile.

Every platform exposes a different set of numbers. Pozy normalises them into one `analytics` object per post, then adds account-level endpoints for the platforms that offer more. This page lists what you can count on from each.

## Post metrics by platform

`GET /v1/analytics?platform=<id>` returns these fields per post. A dash means the platform does not report it, so the field reads `0` or `null`.

| Platform | Impressions | Reach | Likes | Comments | Shares | Saves | Clicks | Views |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Instagram | Yes | Yes | Yes | Yes | Yes | Yes | – | Yes |
| Facebook | Yes | – | Yes | Yes | Yes | – | Yes | Yes |
| TikTok | – | Business | Yes | Yes | Yes | Business | Business | Yes |
| YouTube | – | – | Yes | Yes | Daily views only | – | – | Yes |
| LinkedIn | Yes | Yes | Yes | Yes | Yes | Personal only | Pages only | Video only |
| X | Yes | – | Yes | Yes | Yes | Yes (bookmarks) | Yes | Media only |
| Threads | – | – | Yes | Yes | Yes | – | – | Yes |
| Pinterest | Yes | – | – | – | – | Yes | Yes | Video pins |
| Bluesky | – | – | Yes | Yes | Yes (reposts) | – | – | – |
| Snapchat | – | Yes | – | – | Yes | – | – | Yes |
| Reddit (paused) | – | – | Yes (upvotes) | Yes | – | – | – | – |

"Business" means accounts connected through TikTok's business app, which every new TikTok connection uses.

### Platform notes

- **Instagram.** Post reach and impressions can take about a day to settle. Image and cover URLs in analytics responses are served from Pozy storage once the platform's own links expire, so you can cache them.
- **Facebook.** `likes` is the total of all reaction types. [Post reactions](https://pozy.ai/docs/api/getFacebookPostReactions) splits it by type. Page stories are collected while live and keep their last reading after 24 hours.
- **TikTok.** Business connections also report watch time, completion rate, profile views, new followers, website clicks, impression sources, audience types, audience countries and a retention curve. TikTok fills these 24 to 48 hours after publishing and only for posts active in the last 7 days, so a fresh post shows zeros at first. Account-level impressions and reach do not exist on any TikTok API.
- **YouTube.** Per-day shares come from [daily views](https://pozy.ai/docs/api/getYouTubeDailyViews). Thumbnail impressions and click-through rate are not available through YouTube's API.
- **LinkedIn.** Personal profiles only return metrics for posts published through Pozy, because LinkedIn reports only on posts the member authored through the app. Company pages report every post.
- **X.** `views` is the media view count, so text and image posts read `0`. Every X read is billed per call; see [pricing](https://pozy.ai/docs/billing).
- **Threads.** There is no impressions metric; use `views` as reach. `shares` adds reposts and quotes together.
- **Pinterest.** `views` counts video views, so image pins read `0`.
- **Snapchat.** Metrics come per content type (story, saved story, spotlight). Snapchat has no likes, comments or saves.
- **Reddit.** Reddit closed its API to third-party apps. Reddit analytics keep their last synced values and stop updating until access returns.
- **Google Business Profile.** Google retired per-post insights, so posts carry no metrics. Use the location performance endpoints below.

## Account-level insights

Most account endpoints share the same query shape: `accountId`, `fromDate` and `toDate` (defaults to the last 30 days, at most about 90), `metrics` as a comma-separated list, and `metricType` as `total_value` (default) or `time_series`.

```bash cURL
curl "https://api.pozy.ai/v1/analytics/instagram/account-insights?accountId=6650c1e2a3b4c5d6e7f80a22&metrics=reach&metricType=time_series&fromDate=2026-10-01&toDate=2026-10-28" \
  -H "Authorization: Bearer $POZY_API_KEY"
```
```ts Node
const res = await fetch("https://api.pozy.ai/v1/analytics/instagram/account-insights?accountId=6650c1e2a3b4c5d6e7f80a22&metrics=reach&metricType=time_series&fromDate=2026-10-01&toDate=2026-10-28", {
  headers: { Authorization: `Bearer ${process.env.POZY_API_KEY}` },
});
const data = await res.json();
if (!res.ok) throw new Error(data.error);
console.log(data);
```
```python Python
import os
import requests

resp = requests.get(
    "https://api.pozy.ai/v1/analytics/instagram/account-insights",
    headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
    params={"accountId": "6650c1e2a3b4c5d6e7f80a22", "metrics": "reach", "metricType": "time_series"},
    timeout=30,
)
print(resp.json())
```

### Instagram

| Endpoint | Returns | Notes |
| --- | --- | --- |
| [`GET /v1/analytics/instagram/account-insights`](https://pozy.ai/docs/api/getInstagramAccountInsights) | Reach, views, accounts engaged, total interactions, follows and unfollows, profile link taps, profile views, website clicks | Only `reach` supports `time_series`. Up to 48 hours of delay |
| [`GET /v1/analytics/instagram/follower-history`](https://pozy.ai/docs/api/getInstagramFollowerHistory) | Daily follower count with `followers_gained` and `followers_lost` | Built from Pozy's daily snapshots, since Instagram no longer serves a history |
| [`GET /v1/analytics/instagram/demographics`](https://pozy.ai/docs/api/getInstagramDemographics) | Followers or engaged audience by age, city, country or gender | Needs at least 100 followers. Top 45 entries per dimension |
| [`GET /v1/analytics/instagram/online-followers`](https://pozy.ai/docs/api/getInstagramOnlineFollowers) | Followers online per hour, for the last 30 days | Needs at least 100 followers |
| [`GET /v1/accounts/{accountId}/instagram/stories/{storyId}/insights`](https://pozy.ai/docs/api/getInstagramStoryInsights) | Views, reach, replies, shares, profile visits, follows, taps and exits for one story | Read it before the story expires. Counts under 5 can come back as 0 |

### Facebook

| Endpoint | Returns | Notes |
| --- | --- | --- |
| [`GET /v1/analytics/facebook/page-insights`](https://pozy.ai/docs/api/getFacebookPageInsights) | Media views, post engagements, video metrics, follower counts, `followers_gained` and `followers_lost` | The retired metrics `page_impressions`, `page_fans`, `page_fan_adds` and `page_fan_removes` are rejected |
| [`GET /v1/analytics/facebook/demographics`](https://pozy.ai/docs/api/getFacebookDemographics) | Followers by country or city | Country keys are ISO codes |
| [`GET /v1/accounts/{accountId}/facebook-post-reactions`](https://pozy.ai/docs/api/getFacebookPostReactions) | Count per reaction type for one post | |
| [`GET /v1/analytics/facebook/post-earnings`](https://pozy.ai/docs/api/getFacebookPostEarnings) | Lifetime monetization earnings for one post | Cumulative, never sum across dates. `0` when the Page is not monetized |

### YouTube

| Endpoint | Returns | Notes |
| --- | --- | --- |
| [`GET /v1/analytics/youtube/channel-insights`](https://pozy.ai/docs/api/getYouTubeChannelInsights) | Channel views, watch time, average view duration, subscribers gained and lost | 2 to 3 days of delay |
| [`GET /v1/analytics/youtube/daily-views`](https://pozy.ai/docs/api/getYouTubeDailyViews) | Per-day views, watch time, subscriber changes, likes, comments and shares for one video | Only finalized days by default |
| [`GET /v1/analytics/youtube/video-retention`](https://pozy.ai/docs/api/getYouTubeVideoRetention) | Audience retention curve of one video | Up to 100 points |
| [`GET /v1/analytics/youtube/demographics`](https://pozy.ai/docs/api/getYouTubeDemographics) | Viewers by age, gender and country, for the channel or one video | Age and gender are percentages, country values are view counts. Signed-in viewers only |

### LinkedIn

| Endpoint | Returns | Notes |
| --- | --- | --- |
| [`GET /v1/analytics/linkedin/org-aggregate-analytics`](https://pozy.ai/docs/api/getLinkedInOrgAggregateAnalytics) | Page impressions, clicks, reactions, engagement rate, follower gains, page views | The member must be a page administrator. Page-view metrics accept `total_value` only |
| [`GET /v1/accounts/{accountId}/linkedin-aggregate-analytics`](https://pozy.ai/docs/api/getLinkedInAggregateAnalytics) | Totals or a daily series across a personal profile's posts, including saves and sends | `aggregation` is `TOTAL` or `DAILY` |
| [`GET /v1/accounts/{accountId}/linkedin-post-analytics`](https://pozy.ai/docs/api/getLinkedInPostAnalytics) | Metrics for one post by URN | Saves and sends are personal only |
| [`GET /v1/accounts/{accountId}/linkedin-post-reactions`](https://pozy.ai/docs/api/getLinkedInPostReactions) | Individual reactions with reactor profiles | Company pages only |
| [`GET /v1/analytics/linkedin/demographics`](https://pozy.ai/docs/api/getLinkedInDemographics) | Followers by job function, seniority, industry, company size, country and region | Top 100 values per breakdown |

### TikTok

[`GET /v1/analytics/tiktok/account-insights`](https://pozy.ai/docs/api/getTikTokAccountInsights) returns `follower_count`, `following_count`, `likes_count` and `video_count`, plus `followers_gained` and `followers_lost` from Pozy's daily snapshots. Richer numbers are per video: see the TikTok row in the table above.

### Google Business Profile

| Endpoint | Returns | Notes |
| --- | --- | --- |
| [`GET /v1/analytics/googlebusiness/performance`](https://pozy.ai/docs/api/getGoogleBusinessPerformance) | Daily impressions (desktop and mobile, Maps and Search), website clicks, call clicks, direction requests, conversations, bookings, food orders and menu clicks | Up to 18 months back. 2 to 3 days of delay |
| [`GET /v1/analytics/googlebusiness/search-keywords`](https://pozy.ai/docs/api/getGoogleBusinessSearchKeywords) | Monthly search keywords that showed the listing | Low-volume keywords come back with `impressionsThreshold` instead of a count. Page with `pageToken` |

### Google Analytics

A connected Google Analytics property can be queried with [`POST /v1/analytics/googleanalytics/report`](https://pozy.ai/docs/api/runGoogleAnalyticsReport) and its realtime variant. List valid dimensions and metrics first with [`GET /v1/analytics/googleanalytics/metadata`](https://pozy.ai/docs/api/getGoogleAnalyticsMetadata). See [Google Analytics](https://pozy.ai/docs/platforms/google-analytics).

## Missing permissions

When an account was connected before a platform permission existed, account endpoints answer `412` with a hint to reauthorize (YouTube Analytics, TikTok stats, LinkedIn page analytics). Send the user through [reconnect](https://pozy.ai/docs/connect/account-health) and retry.

## Endpoints

| Endpoint | What it does |
| --- | --- |
| [`GET /v1/analytics/youtube/channel-insights`](https://pozy.ai/docs/api/getYouTubeChannelInsights) | Get YouTube channel insights |
| [`GET /v1/analytics/linkedin/org-aggregate-analytics`](https://pozy.ai/docs/api/getLinkedInOrgAggregateAnalytics) | Get LinkedIn org analytics |
| [`GET /v1/analytics/tiktok/account-insights`](https://pozy.ai/docs/api/getTikTokAccountInsights) | Get TikTok account-level insights |
| [`GET /v1/analytics/youtube/daily-views`](https://pozy.ai/docs/api/getYouTubeDailyViews) | Get YouTube daily views |
| [`GET /v1/analytics/youtube/video-retention`](https://pozy.ai/docs/api/getYouTubeVideoRetention) | Get YouTube video retention curve |
| [`GET /v1/analytics/facebook/page-insights`](https://pozy.ai/docs/api/getFacebookPageInsights) | Get Facebook Page insights |
| [`GET /v1/analytics/facebook/post-earnings`](https://pozy.ai/docs/api/getFacebookPostEarnings) | Get Facebook post monetization earnings |
| [`GET /v1/analytics/instagram/account-insights`](https://pozy.ai/docs/api/getInstagramAccountInsights) | Get Instagram insights |
| [`GET /v1/analytics/instagram/follower-history`](https://pozy.ai/docs/api/getInstagramFollowerHistory) | Get Instagram follower history |
| [`GET /v1/analytics/facebook/demographics`](https://pozy.ai/docs/api/getFacebookDemographics) | Get Facebook Page demographics |
| [`GET /v1/analytics/linkedin/demographics`](https://pozy.ai/docs/api/getLinkedInDemographics) | Get LinkedIn organization follower demographics |
| [`GET /v1/analytics/instagram/demographics`](https://pozy.ai/docs/api/getInstagramDemographics) | Get Instagram demographics |
| [`GET /v1/analytics/instagram/online-followers`](https://pozy.ai/docs/api/getInstagramOnlineFollowers) | Get Instagram online followers |
| [`GET /v1/analytics/youtube/demographics`](https://pozy.ai/docs/api/getYouTubeDemographics) | Get YouTube demographics |
| [`POST /v1/analytics/googleanalytics/report`](https://pozy.ai/docs/api/runGoogleAnalyticsReport) | Run a Google Analytics (GA4) report |
| [`POST /v1/analytics/googleanalytics/realtime`](https://pozy.ai/docs/api/runGoogleAnalyticsRealtimeReport) | Run a Google Analytics (GA4) realtime report |
| [`GET /v1/analytics/googleanalytics/metadata`](https://pozy.ai/docs/api/getGoogleAnalyticsMetadata) | List Google Analytics (GA4) dimensions and metrics |
| [`GET /v1/analytics/googlebusiness/performance`](https://pozy.ai/docs/api/getGoogleBusinessPerformance) | Get Google Business Profile performance metrics |
| [`GET /v1/analytics/googlebusiness/search-keywords`](https://pozy.ai/docs/api/getGoogleBusinessSearchKeywords) | Get Google Business Profile search keywords |
| [`GET /v1/accounts/{accountId}/linkedin-aggregate-analytics`](https://pozy.ai/docs/api/getLinkedInAggregateAnalytics) | Get LinkedIn aggregate stats |
| [`GET /v1/accounts/{accountId}/linkedin-post-analytics`](https://pozy.ai/docs/api/getLinkedInPostAnalytics) | Get LinkedIn post stats |
| [`GET /v1/accounts/{accountId}/linkedin-post-reactions`](https://pozy.ai/docs/api/getLinkedInPostReactions) | Get LinkedIn post reactions |
| [`GET /v1/accounts/{accountId}/facebook-post-reactions`](https://pozy.ai/docs/api/getFacebookPostReactions) | Get Facebook post reactions |
| [`GET /v1/accounts/{accountId}/facebook-visitor-posts`](https://pozy.ai/docs/api/listFacebookVisitorPosts) | List visitor posts on a Facebook Page |
| [`GET /v1/accounts/{accountId}/facebook-tagged-posts`](https://pozy.ai/docs/api/listFacebookTaggedPosts) | List the posts a Facebook Page is tagged in |
