Social Media Analytics API

Social media analytics API for cross-platform reporting

Bring post performance, account analytics, raw platform data, and historical content into one reporting workflow. Pull audience demographics, city splits, age ranges, and watch-time data to build your own dashboards.

Last updated: May 2026

API key authScheduled publishing14 platforms
Quick start
API request
1const response = await fetch(2  "https://api.bundle.social/api/v1/analytics/post?postId=post_123&platformType=LINKEDIN",3  {4    headers: {5      "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY6    }7  }8);910const analytics = await response.json();

Native analytics APIs

Each platform exposes different metrics, naming, permissions, refresh behavior, and historical windows.
Marketing teams need comparable reports, but native APIs return platform-specific shapes.
Post history imports and analytics collection are separate workflows in most direct integrations.
Client reporting often becomes spreadsheet work when the product does not normalize data.
Audience demographics live behind separate API surfaces that most teams never connect to their reporting stack.

What bundle.social handles

Pull post performance and account-level analytics for Instagram, Facebook, LinkedIn, TikTok, YouTube, Threads, Reddit, Pinterest, Bluesky, Mastodon, and Google Business.
Access raw analytics data including audience age splits, gender, city and country breakdowns, and watch-time metrics.
Build custom dashboards using the raw data bundle.social collects on your behalf from connected accounts.
Combine analytics with scheduled publishing so reports connect back to campaigns.

Raw analytics data, ready for your own dashboards

bundle.social collects raw social media analytics from connected platforms and makes them available via API. Audience splits by city, age group, gender, and watch time are yours to pipe into any dashboard or reporting tool.

Workflow

How it works

Connect accounts, publish or import posts, then pull post analytics, account metrics, and raw audience data via API.

01

Connect supported accounts

Analytics depends on connected accounts, granted scopes, and platform API availability.

02

Publish or import posts

Use scheduled publishing and post history imports to build a source of truth for social content.

03

Read performance and audience data

Pull post analytics, account-level metrics, and raw audience demographics through the API or dashboard.

Capabilities

Two analytics layers, one API

Post-level engagement data plus account-level audience demographics. Both available via API and dashboard.

Post analytics

Review engagement, reach, impressions, and performance data for individual published posts where platform APIs expose it.

Account analytics

Track account-level metrics including follower counts, profile impressions, reach, and engagement trends for connected social accounts.

Raw audience demographics

Access raw platform data for audience age splits, gender breakdown, top cities, country reach, and watch time. Build the dashboard your clients actually want.

City and country splits

See where your audience is located at the city and country level for supported platforms like Instagram, TikTok, and YouTube.

Age and gender breakdowns

Get audience age-range and gender distribution data from platforms that expose it, including Instagram, TikTok, and YouTube.

Watch time and video metrics

Pull video-level watch time, average view duration, and retention data from YouTube and TikTok for content performance analysis.

Post history imports

Import historical posts for supported accounts to avoid starting every report from zero.

Dashboard plus API

Let clients inspect data visually while your product consumes the same reporting layer programmatically.

Client reporting workflows

Tie publishing, scheduled content, post history, and analytics into one operational view for agency deliverables.

Developer example

Fetch post analytics

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1// Post-level: GET /api/v1/analytics/post?postId=...&platformType=...2const postRes = await fetch(3  "https://api.bundle.social/api/v1/analytics/post?postId=post_123&platformType=INSTAGRAM",4  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }5);6const { post, items: postItems } = await postRes.json();78// Account-level (per team, one account per platform): GET /api/v1/analytics/social-account?teamId=...&platformType=...9const accountRes = await fetch(10  "https://api.bundle.social/api/v1/analytics/social-account?teamId=team_123&platformType=INSTAGRAM",11  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }12);13const { socialAccount, items: accountItems } = await accountRes.json();1415// Raw account payloads (see API reference): GET /api/v1/analytics/social-account/raw?teamId=...&platformType=...16const rawRes = await fetch(17  "https://api.bundle.social/api/v1/analytics/social-account/raw?teamId=team_123&platformType=INSTAGRAM",18  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }19);20const { socialAccount: sa, items: rawItems } = await rawRes.json();

Supported content

Post analyticsAccount analyticsRaw audience demographicsCity and country splitsAge and gender breakdownsWatch time and video metricsPost historyEngagement dataDashboard reporting

Honest limitations

  • Analytics availability varies by platform, account type, permission scope, and native API access.
  • Audience demographic data depth depends on the connected account's permissions and platform API grants.
  • Historical analytics may depend on when an account was connected or imported.

Guarantees

Developer-first infrastructure

2% error rate

We handle the platform edge cases, media processing, and rate limits so your requests succeed.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day. Sometimes the same hour. Test us c;

FAQ

Questions developers ask before building

Which platforms support analytics?

bundle.social lists analytics support for TikTok, YouTube, Instagram, Facebook, Threads, Reddit, Pinterest, Mastodon, LinkedIn, Bluesky, and Google Business.

What is the difference between post analytics and account analytics?

Post analytics covers engagement, reach, and impressions for individual published posts. Account analytics covers account-level metrics like follower growth, profile reach, and audience demographics.

Can I get raw audience demographics?

Yes. bundle.social provides raw audience data from connected platforms including age splits, gender breakdowns, city and country reach, and watch-time metrics so you can build your own dashboards.

Does every platform return the same metrics?

No. Each platform exposes different metrics and permissions. bundle.social normalizes the workflow without hiding real platform differences.

Can I import historical posts?

Yes. bundle.social includes post history import workflows for supported platforms, with limits depending on platform APIs and organization settings.

Can agencies use this for client reports?

Yes. The strongest use case is combining scheduled posts, imported history, raw analytics, and audience data into client-facing reporting workflows.