Aether

Analytics

Query post and account metrics across connected social platforms. Powered by Tinybird for sub-second analytics and normalized schema.

GET
/analytics/posts/{postId}

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
AuthorizationBearer <token>

API key from your Aether dashboard

In: header

Path Parameters

postId*string

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": {}  }}
GET
/analytics/accounts

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from your Aether dashboard

In: header

Query Parameters

profileId?string

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.

platform?string

Social media platform identifier

from*string
to*string
granularity?string

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": {}  }}
GET
/analytics/best-times

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
AuthorizationBearer <token>

API key from your Aether dashboard

In: header

Query Parameters

platform?string

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": {}  }}

On this page