Social Media Analytics API

The social media analytics API that actually ships

Every platform returns different metric names, different schemas, different update frequencies. Aether normalizes all of it into one analytics API — impressions, reach, engagement, follower growth, and best-time-to-post across 7 platforms with sub-second queries.

Query social media analytics in minutes

Post metrics, account growth, and optimal posting times — three endpoints, one API key.

Post metrics (Node.js)
import Aether from "aether";

const aether = new Aether({ apiKey: process.env.AETHER_API_KEY });

// Get per-metric data for a specific post
const metrics = await aether.analytics.getPostMetrics("post_2k4mn8x");

// Returns an array — one entry per metric type
console.log(metrics);
// [
//   { metricType: "impression", value: 2840, platform: "instagram", ... },
//   { metricType: "like",       value: 127,  platform: "instagram", ... },
//   { metricType: "save",       value: 89,   platform: "instagram", ... },
// ]
Account metrics + best times (Node.js)
// Get daily account metrics for a date range
const accountMetrics = await aether.analytics.getAccountMetrics({
  profileId: "ig_abc123",
  from: "2026-06-01",
  to: "2026-06-30",
  granularity: "day",
});

// Get best times to post for Instagram
const bestTimes = await aether.analytics.getBestPostingTimes({
  platform: "instagram",
});
// [{ dayOfWeek: 2, hour: 9, avgEngagement: 4.2, postCount: 18 }, ...]

Free tier · 3 accounts · no credit card

Get your free API key

Python and cURL

Python
import os
import aether

client = aether.Aether(api_key=os.environ["AETHER_API_KEY"])

# Post metrics
metrics = client.analytics.get_post_metrics("post_2k4mn8x")

# Account analytics
account = client.analytics.get_account_metrics(
    profile_id="ig_abc123",
    from_="2026-06-01",
    to="2026-06-30",
    granularity="day",
)

# Best times
times = client.analytics.get_best_posting_times(platform="instagram")
cURL
# Post metrics
curl https://api.aetherhq.dev/v1/analytics/posts/post_2k4mn8x \
  -H "Authorization: Bearer $AETHER_API_KEY"

# Account metrics (daily, June 2026)
curl "https://api.aetherhq.dev/v1/analytics/accounts?profileId=ig_abc123&from=2026-06-01&to=2026-06-30&granularity=day" \
  -H "Authorization: Bearer $AETHER_API_KEY"

# Best posting times for Instagram
curl "https://api.aetherhq.dev/v1/analytics/best-times?platform=instagram" \
  -H "Authorization: Bearer $AETHER_API_KEY"

The actual API response

Post metrics are returned as a normalized array — one entry per metric type. The metricType field is consistent across platforms so you can compare apples to apples.

JSON — GET /v1/analytics/posts/:postId
{
  "success": true,
  "data": [
    {
      "postId": "post_2k4mn8x",
      "organizationId": "org_9p2qrs",
      "platform": "instagram",
      "socialProfileId": "ig_abc123",
      "metricType": "impression",
      "value": 2840,
      "timestamp": "2026-06-08T14:30:00.000Z"
    },
    {
      "postId": "post_2k4mn8x",
      "organizationId": "org_9p2qrs",
      "platform": "instagram",
      "socialProfileId": "ig_abc123",
      "metricType": "like",
      "value": 127,
      "timestamp": "2026-06-08T14:30:00.000Z"
    },
    {
      "postId": "post_2k4mn8x",
      "organizationId": "org_9p2qrs",
      "platform": "instagram",
      "socialProfileId": "ig_abc123",
      "metricType": "save",
      "value": 89,
      "timestamp": "2026-06-08T14:30:00.000Z"
    }
  ]
}

One analytics API for every platform

Post-level metrics

Impressions, reach, likes, comments, shares, saves, clicks, and video views — per post, per platform. All in one normalized shape.

Account & follower analytics

Track follower counts, growth rate, and net gain/loss over time. Filter by platform, date range, and profile ID.

Engagement decay

See how engagement drops over time for any post. Identify shelf-life per platform and optimize your publishing cadence.

Best time to post

Historical engagement analysis per account returns the optimal hours and days — per platform and content type.

Sub-second queries

Analytics are powered by Tinybird (ClickHouse under the hood). Any date range, any filter, any granularity — returns in milliseconds.

MCP / AI agents

Analytics endpoints are MCP tools. Your AI agent can pull engagement data and decide when and what to post without extra code.

Available metrics by platform

Platform-side analytics delays are outside Aether's control. All data is ingested and queryable as soon as the platform makes it available.

PlatformAvailable metricsUpdate delay
InstagramImpressions, reach, likes, comments, shares, saves, video views, follower delta~60 s
TikTokPlays, likes, comments, shares, reach, follower delta~5 min
LinkedInImpressions, clicks, reactions, comments, shares, follower delta~24 h
FacebookImpressions, reach, reactions, comments, shares, page followers~60 s
YouTubeViews, watch time, likes, comments, subscribers delta~24 h
ThreadsReplies, reposts, quotes, likes, views~5 min
RedditUpvotes, comments, awards, karma delta~5 min

AI-Native

Give your AI agent analytics superpowers

Aether's MCP server exposes every analytics endpoint as a callable tool. Claude Desktop or Cursor can pull engagement data, identify best posting times, and surface insights — all without writing extra integration code.

Claude Desktop config
# Add to ~/.claude/claude_desktop_config.json
{
  "mcpServers": {
    "aether": {
      "command": "npx",
      "args": ["-y", "aether-mcp"],
      "env": { "AETHER_API_KEY": "sk_live_..." }
    }
  }
}

# Claude can now query analytics directly:
# "Show me the engagement rate for our last 10 Instagram posts"
# "What's the best time for us to post on TikTok?"

Frequently asked questions

What metrics does the social media analytics API return?+

Impressions, reach, likes, comments, shares, saves, clicks, and video views — exact availability varies by platform. Aether returns a normalized schema so you can compare across platforms without per-platform logic. The metricType field identifies each metric.

How real-time is the analytics data?+

Instagram and Facebook data is available within ~60 seconds. TikTok, Threads, and Reddit within ~5 minutes. YouTube and LinkedIn have platform-side delays of up to 24 hours. All data is queryable immediately once ingested.

Can I query analytics for a custom date range?+

Yes. Every analytics endpoint accepts from and to parameters in ISO 8601 format, and a granularity parameter (hour, day, week, month). You can query any historical range from account connection onwards.

How do I get best-time-to-post recommendations via the API?+

Call GET /v1/analytics/best-times with an optional platform filter. Aether analyzes the connected account's historical engagement and returns dayOfWeek, hour, and avgEngagement scores. Use these to drive scheduling decisions programmatically.

Is there a free tier?+

Yes. The free tier includes 3 connected social accounts, full analytics API access, and the MCP server. No credit card required. Upgrade when you need more accounts or higher data retention.

Ready to add analytics to your app?

Free tier · 3 accounts · full analytics API access · no credit card.

Get your free API key →