logo
Schedulin Developers

Get workspace analytics

These endpoints roll metrics up across the whole workspace (OAuth apps need the analytics:read scope). They all take the same filters:

ParamDescription
from, toRequired. ISO 8601 window, from inclusive, to exclusive. Up to 400 days.
platformsOptional. Repeat to include several, e.g. platforms=instagram&platforms=tiktok.
socialAccountIdsOptional. Repeat for several channels.

Metrics are collected from each platform on a schedule, so the last few hours of a window may still be filling in.

Totals and trend

GET /v0/analytics/overview sums engagement for the window and compares it with the previous window of the same length (trend values are percent change, null when the previous window was zero).

curl "https://api.schedulin.app/v0/analytics/overview?from=2026-07-01T00:00:00Z&to=2026-10-01T00:00:00Z" \
  -H "x-api-key: $SCHEDULIN_API_KEY"
{
  "totals": {
    "impressions": 182340,
    "reach": 120511,
    "likes": 9120,
    "comments": 611,
    "shares": 402,
    "saves": 288,
    "videoViews": 54012,
    "clicks": 1290,
    "linkClicks": 830,
    "engagement": 10421,
    "audience": 15230,
    "postsPublished": 96
  },
  "trend": { "impressions": 12.5, "engagement": -3.1, "likes": 4, "audience": 2.2 }
}
const { totals, trend } = await client.analytics.overview({
  from: "2026-07-01T00:00:00Z",
  to: "2026-10-01T00:00:00Z",
});
overview = client.analytics.overview(
    from_="2026-07-01T00:00:00Z", to="2026-10-01T00:00:00Z"
)

audience is the sum of each channel's latest follower count at to.

By platform

GET /v0/analytics/platforms returns the same window grouped by platform, highest engagement first:

{
  "platforms": [
    { "platform": "instagram", "impressions": 90210, "likes": 6120, "comments": 402, "shares": 150, "engagement": 6950 },
    { "platform": "linkedin", "impressions": 51003, "likes": 1800, "comments": 130, "shares": 210, "engagement": 2140 }
  ]
}

Top posts

GET /v0/analytics/top-posts ranks posts by metric (impressions, reach, likes, comments, shares, saves, videoViews or the default engagementTotal) accumulated within the window. limit defaults to 10, max 50.

curl "https://api.schedulin.app/v0/analytics/top-posts?from=2026-07-01T00:00:00Z&to=2026-10-01T00:00:00Z&metric=impressions&limit=5" \
  -H "x-api-key: $SCHEDULIN_API_KEY"
{
  "posts": [
    {
      "id": "post_789",
      "platform": "instagram",
      "caption": "Behind the scenes of our autumn launch",
      "url": "https://www.instagram.com/p/…",
      "createdAt": "2026-08-14T15:02:11.000Z",
      "value": 40211
    }
  ]
}

Use a post's id with post analytics for its full metrics and history.