Analytics
Query post and account metrics across connected social platforms. Powered by Tinybird for sub-second analytics and normalized schema.
Returns per-platform aggregated metrics for each published target on the post. The path postId is the Aether post ID from GET /posts or POST /posts.
Authorization
ApiKeyAuth API key from your Aether dashboard
In: header
Path Parameters
Aether post ID (not the platform-native post ID).
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/analytics/posts/string"{ "success": true, "data": [ { "postId": "string", "platform": "instagram", "metrics": { "impressions": 0, "reach": 0, "likes": 0, "comments": 0, "shares": 0, "clicks": 0, "saves": 0, "views": 0 } } ]}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}Authorization
ApiKeyAuth API key from your Aether dashboard
In: header
Query Parameters
Filter to a single social profile. When the API key has allowedProfileIds, omitting this parameter returns only metrics for the allowed profiles (not all org profiles). Passing a profileId outside the key's allowlist returns 403.
Social media platform identifier
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/analytics/accounts?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"{ "success": true, "data": [ { "timestamp": "2019-08-24T14:15:22Z", "platform": "instagram", "profileId": "string", "impressions": 0, "reach": 0, "likes": 0, "comments": 0, "shares": 0, "followerGrowth": 0 } ]}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}Analyzes historical post performance to recommend the best day-of-week and hour-of-day combinations per platform. Requires at least 10 published posts per platform to return meaningful results. API keys with allowedProfileIds receive 403 — this endpoint aggregates org-wide data and cannot be scoped to a profile subset. JWT callers and unrestricted keys are unaffected.
Authorization
ApiKeyAuth API key from your Aether dashboard
In: header
Query Parameters
Filter to a specific platform (omit for all)
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/analytics/best-times"{ "success": true, "data": [ { "platform": "instagram", "dayOfWeek": 0, "hourUtc": 0, "engagementScore": 0.1 } ]}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}