Instagram Audience Demographics

Instagram audience demographics API for raw analytics data

Raw Instagram follower, reach, and impression data through one API, so your reporting does not depend on the Meta dashboard.

Access raw Instagram audience data including follower age splits, gender distribution, city and country reach, and impression-by-time data. Build custom reporting without the Meta dashboard.

Last updated: July 2026

One API key. No per-account fees. 15 platforms.

API key authScheduled publishing15 platforms
Quick start
API request
1// Raw Instagram account analytics: GET /api/v1/analytics/social-account/raw2const res = await fetch(3  "https://api.bundle.social/api/v1/analytics/social-account/raw?teamId=team_123&platformType=INSTAGRAM",4  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }5);6const { socialAccount, items } = await res.json();7// When raw demographics are enabled for your org, items[0].raw includes:8// { profileInfo, totals30d: [...], demographics: [...] } (see API reference: raw analytics)
Official APIs500k+ connected accountsDirect engineer support

Accessing Instagram analytics natively

Instagram Insights requires Meta app setup, permissions, and account type restrictions.
Audience demographic data is gated behind business or creator account eligibility.
Building a custom reporting layer on top of Instagram Insights is a separate project from publishing.

What bundle.social handles

Pull raw Instagram audience demographics through the bundle.social API without building Meta Graph API integrations.
Get age splits, gender breakdown, top cities, country reach, and impression-by-hour data in one response.
Use the raw data to build client dashboards, audience reports, or performance tools.

Instagram audience data without the Meta Graph API project

bundle.social collects Instagram audience demographics from connected accounts and returns raw data via API. No Meta app review, no Insights permission scoping, no separate integration project.

Workflow

How it works

Connect an Instagram account, then GET raw social account analytics for team and platform to read stored profile, insights, and demographics payloads.

01

Connect an Instagram account

Connect a business or creator Instagram account via the OAuth connect URL flow.

02

Pull raw account analytics

GET /api/v1/analytics/social-account/raw with teamId and platformType=INSTAGRAM. items contains raw Instagram Graph API shaped snapshots, newest first.

03

Build your dashboards

Parse items[0].raw: profileInfo, totals30d (Insights series), and demographics (when raw Instagram demographics are enabled for your organization).

Product architecture

Build social media workflows without rebuilding every platform

Instagram audience demographics API for raw analytics data

Agencies, SaaS dashboards, creator tools, and internal marketing teams usually want Instagram audience data without taking on a Meta integration project. Building it natively means a Meta app, Insights permissions, app review, business or creator accounts on the customer side, and ongoing maintenance as metrics are renamed or deprecated.

bundle.social collects Instagram audience data from connected accounts and returns raw Graph API shaped snapshots through the account analytics endpoint. Your product reads profile information, the recent Insights series, and demographics where they are enabled, using only a bundle.social API key rather than Meta credentials.

Account type and reporting thresholds decide what is returned

Instagram exposes audience data for business and creator accounts, so a personal account produces no demographics regardless of how the integration is written. Meta also suppresses breakdowns for audiences below its own reporting minimums, which is why a smaller account can return follower counts and impression timing while age, gender, and city splits stay empty.

A dashboard that treats those fields as guaranteed looks broken on exactly the accounts that are hardest to explain to a customer. bundle.social preserves the raw shape and the gaps, so product teams can label unavailable data instead of presenting an incomplete report as a complete one.

From Instagram publishing to audience reporting

Impression timing, age brackets, gender distribution, and top locations change decisions only when they sit next to the content that produced them. Marketers ask when to publish and whether the audience matches the plan, and both questions need posts, analytics, and audience data in one view.

bundle.social keeps Instagram publishing, post history, raw analytics, and audience snapshots in the same workspace, stored over time rather than fetched once. Agencies can build client reporting, SaaS products can embed dashboards, and AI tools can use audience context alongside TikTok and YouTube data from the same API.

Capabilities

Instagram demographic data for reporting and audience analysis

Age groups, gender, cities, countries, and impression timing. Raw data from Instagram through one API.

Impressions by hour and day

Access impression timing data to find when your audience is most active and schedule content accordingly.

Age group splits

See how your Instagram followers break down by age bracket to guide content tone and paid targeting.

Top cities and countries

See which cities and countries your Instagram followers are located in to guide geo campaigns.

Gender distribution

Understand the gender makeup of your Instagram audience for creative and campaign planning.

Raw data for custom dashboards

The response returns raw JSON data ready for Looker, Tableau, your internal BI tool, or a client-facing dashboard.

No Meta API credentials required

bundle.social handles Instagram auth and data collection. Your product only needs the bundle.social API key.

Developer example

Fetch raw Instagram social account 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// GET /api/v1/analytics/social-account/raw?teamId=...&platformType=INSTAGRAM2// Response: { socialAccount, items: SocialAccountAnalyticsRaw[] }3// Instagram item.raw (when demographics are enabled) is shaped like:4// {5//   profileInfo: { ...IG user object },6//   totals30d: [ { name: "likes", period: "day", values: [...] }, ... ],7//   demographics: [ ... demographic insight series from Instagram ... ]8// }910const res = await fetch(11  "https://api.bundle.social/api/v1/analytics/social-account/raw?teamId=team_123&platformType=INSTAGRAM",12  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }13);14const { socialAccount, items } = await res.json();15const latest = items[0];16const ig = latest?.raw as {17  profileInfo?: unknown;18  totals30d?: unknown[];19  demographics?: unknown[];20};21// Example: const series = ig?.totals30d; const demo = ig?.demographics;

Supported content

Age group splitsGender distributionTop citiesTop countriesImpressions by hourFollower demographics

Honest limitations

  • Audience demographic data availability depends on the connected Instagram account type and Meta permissions.
  • Instagram business or creator account status is required for demographic data access.

Guarantees

Developer-first infrastructure

Visible post status

Track scheduled, processing, posted, retrying, and error states per post.

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.

FAQ

Questions developers ask before building

What Instagram demographic data is available?

bundle.social provides raw audience demographics including follower age splits, gender distribution, top cities, top countries, and impression-by-hour data for connected Instagram accounts.

Do I need Meta Graph API credentials?

No. bundle.social handles Instagram authentication and data collection. You only need a bundle.social API key.

Does this require a business or creator account?

Yes. Meta restricts demographic analytics to Instagram business and creator accounts. Personal accounts do not expose this data.

Can I use this data in my own dashboards?

Yes. The raw JSON response can be piped into any reporting tool, dashboard builder, or data warehouse.