Social Media Analytics API
for Developers
Likes, impressions, reach, and shares across networks from one endpoint.
import { Configuration, AnalyticsApi } from "@onepostly/sdk";
const analyticsApi = new AnalyticsApi(
new Configuration({ accessToken: process.env.ONEPOSTLY_API_KEY }),
);
const analytics = await analyticsApi.getPostAnalytics({ id: postId });
console.log(analytics.metrics);import os
from onepostly import ApiClient, Configuration
from onepostly.api.analytics_api import AnalyticsApi
analytics_api = AnalyticsApi(ApiClient(
Configuration(access_token=os.environ["ONEPOSTLY_API_KEY"])))
analytics = await analytics_api.get_post_analytics(post_id)
print(analytics.metrics)curl "https://api.onepostly.com/v1/posts/pst_POST_ID/analytics" \
-H "Authorization: Bearer op_YOUR_KEY"
# {
# "postId": "pst_POST_ID",
# "platform": "x",
# "status": "ready",
# "metrics": { "likes": 342, "impressions": 12450 }
# }Every Network, One Shape
The same fields on every platform, so one dashboard covers them all.
Normalized Fields
Likes, comments, shares, saves, impressions, reach, and views.
Per Post or Per Account
Read one post's numbers, or an account's own insights.
Fresh Within the Hour
New posts refresh about hourly, and every response carries fetchedAt.
Honest Nulls
A metric a network does not expose comes back null, never a fake zero.
Reach every network from a single API.
Create a key, connect your accounts, publish everywhere with one request, and see how every post performs.
Create a key with the permissions and profile access you need, then connect the accounts it publishes to.
API Keys (8)
All set, your post to X, LinkedIn, and Instagram is scheduled for 9 AM tomorrow.
Connected Onepostly MCPBuilt for Your Agent
Onepostly ships as an MCP server. Your agent publishes to every platform.
Unified Analytics
One request pulls engagement data from every network your accounts publish to.
Webhooks & Events
Publish, fail, comment, or DM. Every event hits your endpoint the moment it happens.
Your account list grows.
Your integration doesn't.
Run 2,000+ connected accounts across your workspaces without losing track of who did what.
Frequently Asked Questions
Metrics, filters, and pulling normalized analytics into dashboards.
Have more questions? Reach out to us
It is a programmatic way to pull engagement metrics such as likes, impressions, reach, shares, and saves. Onepostly returns a normalized shape across supported platforms from one analytics endpoint.
Normalized fields include likes, comments, shares, saves, impressions, reach, views, and engagement when the platform exposes them. Missing values stay null instead of fake zeros.
Call GET /v1/posts/{id}/analytics with your API key and the post id. GET /v1/accounts/{id}/analytics returns the account's own insights.
Creating a post returns one post per account, and every post has its own ID. Each post's analytics are that one account's numbers, so there is nothing to filter.
Yes. Analytics are part of the API for every connected account, with nothing extra to unlock. Some X analytics reads debit the prepaid wallet at X list prices.
Yes. The analytics response is JSON-ready for custom dashboards, client reports, and automation. Use webhooks or polling only if you need status beyond a single pull.
Yes. The OAuth screens your users see carry neutral names like Social Media Connector rather than our brand, so the experience reads as fully yours.
Have more questions? Reach out to us