Analytics APIAPI

Read every network’s metrics from one endpoint

FoPost collects performance data from each connected account and serves it back in one consistent shape. Pull a workspace overview, drill into a post, or track an account over time, and pipe it into whatever you report with.

GET /v1/analytics/overview
curl "https://api.fopost.com/v1/analytics/overview?workspaceId=9b2f6c1e-...&from=2026-08-01&to=2026-08-31" \
  -H "X-API-Key: $API_KEY"

{
  "impressions": 184320,
  "engagements": 9127,
  "followers": 42810,
  "followerChange": 1204,
  "posts": 86
}

Normalized metrics

Impressions, engagement, and followers use the same field names on every network.

Three levels

Workspace overview, one post, or one account, each with a date range.

Read-only scope

A key with only the analytics scope can read numbers and nothing else.

Overview

One call for the monthly report

The overview endpoint sums a workspace over a date range. Totals for impressions, engagements, follower change, and posts published, so a weekly summary or a client report is one request and a template.

Read the analytics reference
Connected accounts across every network in one workspace

Date ranges

Pass from and to as dates. Compare two ranges with two calls.

Filter by platform

Narrow the overview to one network when a client asks about one channel.

Per workspace

Agency keys are per client workspace, so reports never bleed across.

Per post

Find out which post did the work

Every post you create through the API keeps its id, and that id reads back metrics from each network it landed on. Join it with your own campaign data, or rank the month’s posts and see what to repeat.

See per-post metrics
GET /v1/posts/:id/analytics
curl "https://api.fopost.com/v1/posts/post_01j8.../analytics" \
  -H "X-API-Key: $API_KEY"

{
  "postId": "post_01j8...",
  "accounts": [
    { "accountId": "4a71d80b-...", "platform": "linkedin", "impressions": 12840, "likes": 311, "comments": 42, "shares": 27, "clicks": 508 },
    { "accountId": "c30e9f12-...", "platform": "twitter", "impressions": 8210, "likes": 190, "comments": 18, "shares": 44, "clicks": 213 }
  ]
}

Per account breakdown

One post, one row per network, so you see which channel carried it.

Clicks and permalinks

Link clicks and the live permalink ride along with the counts.

Group by label

List posts by label first, then read metrics for the set.

Per account

Track growth on each channel over time

The account endpoint returns a daily series for follower count, impressions, and engagement. Feed it into your own charts, alert on a drop, or show a client the line going up next to the posts that made it move.

Start building
GET /v1/accounts/:id/analytics
curl "https://api.fopost.com/v1/accounts/4a71d80b-.../analytics?from=2026-08-01&to=2026-08-07" \
  -H "X-API-Key: $API_KEY"

{
  "accountId": "4a71d80b-...",
  "platform": "linkedin",
  "series": [
    { "date": "2026-08-01", "followers": 41606, "impressions": 5120, "engagements": 288 },
    { "date": "2026-08-02", "followers": 41651, "impressions": 6034, "engagements": 341 }
  ]
}

Daily series

One point per day for followers, impressions, and engagement.

Build your own alerts

Poll on a schedule and notify when a channel moves outside its normal range.

Own the history

Store the series in your warehouse and keep it as long as you want.

Analytics API questions, answered

Where do the numbers come from?

FoPost reads each network’s own analytics using the connected account’s credentials, then normalizes the field names. The figures match what the network reports in its native dashboard.

How fresh is the data?

Metrics refresh on a schedule for every connected account. A post published today shows early numbers within hours and settles as the network finalizes its counts.

Do all networks report the same metrics?

The core set of impressions, engagements, and followers is shared. Metrics a network does not expose are returned as null rather than zero, so you can tell absent from empty.

Can I get metrics for posts published outside the API?

Yes. Any post published through the connected account is tracked at the account level, and posts created in the dashboard have ids like any other.

Which scope do I need?

The analytics scope. A key with only that scope is read-only and cannot publish, edit, or manage accounts.

Is there a rate limit?

Yes, 100 requests per minute per key. Batch reads with date ranges rather than one call per day.

Build on the Analytics API today

Starting is free and the full API is included. Create a key and make your first call in minutes.

Get your API key