Skip to content

How to track follower growth and post analytics ​

Three reads cover most reporting. GET /api/analytics/followers gives daily follower counts and change per account. GET /api/analytics/accounts compares accounts by posts and engagement. GET /api/analytics/post/:uploadId shows engagement for one post on each platform. All three work with the analytics permission, and guarded API keys can call them.

Follower counts are captured once per UTC day. LinkedIn and TikTok cannot report a follower count, so those accounts come back with isTracked: false.

How do I get follower growth? ​

text
Sidebar > Analytics. Choose a period and, if you want, one account or
platform.
bash
socifyr analytics followers --period last_3months
socifyr analytics followers --connection instagram-mybrand --json
typescript
const growth = await socifyr.analytics.followers({ period: 'last_month' })
console.log(growth.totals) // { followers, change }
for (const a of growth.accounts) {
  console.log(a.slug, a.followers, a.change, a.changePct)
}
python
growth = client.analytics.followers(period="last_month", platform="instagram")
print(growth["totals"])
bash
curl "https://api.socifyr.com/api/analytics/followers?period=last_month&connection=instagram-mybrand" \
  -H "Authorization: Bearer $SOCIFYR_API_KEY" \
  -H "X-Workspace-Id: $SOCIFYR_WORKSPACE_ID"
json
{ "tool": "get_follower_growth", "arguments": { "period": "last_month", "connection": "instagram-mybrand" } }

Prompt for your agent: "How much did my accounts grow in the last three months?" The agent calls get_follower_growth with period: "last_3months".

Response:

json
{
  "success": true,
  "data": {
    "from": "2026-10-14T00:00:00.000Z",
    "to": "2026-11-13T00:00:00.000Z",
    "totals": { "followers": 5340, "change": 212 },
    "accounts": [
      {
        "connectionId": "6a0502f184584482ace13d10",
        "slug": "x-mybrand",
        "platform": "x",
        "username": "mybrand",
        "isTracked": true,
        "followers": 4200,
        "change": 180,
        "changePct": 4.48,
        "series": [{ "date": "2026-10-14", "followers": 4020 }]
      }
    ]
  }
}

followers is null until the first daily snapshot exists for a new account.

What query parameters do the account endpoints take? ​

ParameterValuesDefault
periodlast_day, last_week, last_month, last_3months, last_yearlast 30 days
from, toISO 8601 dates. period overrides them.none
connectionA connection slug such as instagram-mybrandall accounts
platformA platform name such as xall platforms

How do I compare accounts? ​

bash
socifyr analytics accounts --period last_month
typescript
const cmp = await socifyr.analytics.accounts({ period: 'last_month' })
for (const a of cmp.accounts) {
  console.log(a.slug, a.posts, a.engagement, `${a.engagementRate}%`)
}
python
cmp = client.analytics.accounts(period="last_month")
bash
curl "https://api.socifyr.com/api/analytics/accounts?period=last_month" \
  -H "Authorization: Bearer $SOCIFYR_API_KEY"
json
{ "tool": "compare_accounts", "arguments": { "period": "last_month" } }

Each account row has followers, followerChange, posts, likes, comments, shares, saves, impressions, engagement (likes plus comments plus shares plus saves), avgEngagementPerPost, engagementRate (engagement divided by impressions, as a percent) and followerEngagementRate (average engagement per post divided by followers). Rows are sorted by engagement.

How do I see analytics for one post? ​

typescript
const post = await socifyr.analytics.getPost('6a05032a84584482ace13d5f')
for (const ch of post.platforms) {
  console.log(ch.platform, ch.engagement?.likes, ch.engagement?.impressions)
}
python
post = client.analytics.get_post("6a05032a84584482ace13d5f")
bash
curl https://api.socifyr.com/api/analytics/post/6a05032a84584482ace13d5f \
  -H "Authorization: Bearer $SOCIFYR_API_KEY"
json
{ "tool": "get_post_analytics", "arguments": { "postId": "6a05032a84584482ace13d5f" } }

The CLI has no per-post analytics command. platforms[].engagement holds likes, comments, shares, impressions, clicks, saves, engagementRate and lastFetchedAt, and is null until metrics are fetched.

What other analytics endpoints exist? ​

  • GET /api/analytics returns a summary, daily snapshots and a per-platform breakdown for a date range (from, to, platform, granularity of daily, weekly or monthly, or period). The TypeScript SDK exposes it as analytics.get().
  • GET /api/analytics/top-posts ranks posts by engagement, default window 90 days, limit 1 to 50.
  • GET /api/analytics/best-times, /export and /platform-metrics are also available. See the REST reference.
  • POST /api/analytics/sync refreshes metrics now.

What errors can I get, and how do I fix them? ​

ErrorCauseFix
isTracked: false on an accountLinkedIn and TikTok do not expose follower counts.Nothing to fix. Use post engagement instead.
followers: nullFirst daily snapshot has not run yet.Check again tomorrow.
Validation error on periodValue not in the list above.Use one of the five values.
400 on connection for /analyticsOnly the two account endpoints accept connection.Use platform on the other endpoints.
Engagement nullMetrics have not been fetched for the post.Wait, or call analytics.sync().

FAQ ​

Can I export analytics? ​

GET /api/analytics/export exists. See the REST reference for its parameters.

Do these cost anything? ​

No extra charge. Analytics calls are reads.

Next steps ​