Instagram Audience Demographics via API: What You Can and Can't Get
An agency vetting influencers asked us the question that comes up in nearly every influencer-marketing pitch: "Can your API give us the creator's audience demographics, age, gender, location, so we know if their followers match our target market?"
The honest answer for Instagram is no, and I'd rather tell you that up front than sell you a number that's quietly made up. Let me explain exactly why, what you can get (TikTok is different), and the proxies that get you a defensible read without inventing data.
Why Instagram audience demographics aren't available publicly
Audience demographics, the age brackets, gender split, and top countries of a creator's followers, live in one place: the account owner's private Instagram Insights (or the Meta Graph API, which only works with the account owner's explicit permission). That data is computed by Instagram from signals no outside party can see, and it is never exposed on the public profile.
So when a tool claims it can pull any Instagram creator's audience age and gender without that creator connecting their account, be skeptical. Either the creator authorized it (a legitimate but consent-based flow), or the numbers are modeled estimates dressed up as facts. Public scraping only sees what a logged-out visitor sees, and a logged-out visitor never sees a creator's audience breakdown.
This isn't a SociaVault gap; it's a hard boundary of what's public. We collect public data only, and audience demographics simply aren't in it.
What TikTok does expose (country only)
TikTok is the exception, and even then only partially. TikTok surfaces an audience-by-country breakdown for many creators, which our demographics endpoint returns. What you get is a list of countries with percentages, not age, not gender.
const API = "https://api.sociavault.com/v1";
const HEADERS = { "x-api-key": "sk_live_your_key" };
async function tiktokAudienceCountries(handle) {
const res = await fetch(
`${API}/scrape/tiktok/demographics?handle=${handle}`,
{ headers: HEADERS },
);
const d = (await res.json()).data ?? {};
return d.audienceLocations ?? [];
}
// -> [{ country: "Mexico", countryCode: "MX", count: 83, percentage: "15.96%" }, ...]
Two things to flag honestly:
- It's country distribution only. No age or gender. If your campaign hinges on "women 18–24," TikTok's public data won't confirm that.
- It costs 26 credits, not the usual 1. It's a heavier lookup, so treat it as a shortlist tool, run it on the 10 creators you're seriously considering, not as a first-pass filter across thousands.
And treat those percentages as an estimate. They're derived from a sample, so read them as "roughly 16% Mexico," not a precise census of every follower.
Honest proxies when you need a read on Instagram
You can't get Instagram's real audience breakdown, but you can assemble a defensible picture from public signals. Just label it for what it is, inference, not Instagram's own numbers.
1. Read the creator's own market from their content. Caption language, the language of their top comments, and where their tagged locations cluster tell you a lot about who they're talking to. A creator posting in Portuguese with a comment section full of pt-BR replies has a Brazilian audience, no Insights access required.
2. Sample the commenters. Pull the comments on recent posts and look at the commenters, their usernames, languages, and (where public) their own profiles. It's a sample, not the whole follower base, but a consistent pattern across several posts is a decent signal.
import requests
API = "https://api.sociavault.com/v1"
HEADERS = {"x-api-key": "sk_live_your_key"}
def commenter_languages(post_url):
r = requests.get(f"{API}/scrape/instagram/comments",
params={"url": post_url}, headers=HEADERS)
comments = r.json().get("data", {}).get("comments", [])
# inspect commenter usernames / text language as a *sample* signal
return [c.get("user", {}).get("username") for c in comments]
3. Match the audience to the creator, not the reverse. For most vetting decisions, the creator's own location, language, niche, and engagement quality predict audience fit well enough. A US fitness creator with strong, real engagement almost certainly has a US-skewed fitness audience, you rarely need a demographic report to make that call.
4. Prioritize authenticity over demographics. A precise age/gender split is worthless if a third of the followers are fake. Spend your effort on an engagement and fake-follower check first; a real, engaged audience in the right niche beats a demographic guess every time. We cover that in detecting fake followers and the audience quality audit.
The bottom line
- Instagram audience age/gender/location: not available publicly, for anyone, without the creator's own Insights access.
- TikTok: audience-by-country percentages via the demographics endpoint (26 credits, estimate, no age/gender).
- Everywhere: you can infer audience market from language, comments, and content, and you should weight authenticity above demographics.
If a vendor promises full Instagram audience demographics from public data alone, that's the claim to walk away from. For more on assembling a picture from what's genuinely public, see social media audience analysis and the TikTok demographics API guide.
Frequently Asked Questions
Can I get an Instagram creator's audience age and gender via API?
No. That data lives only in the account owner's private Instagram Insights (or the Graph API with their consent). It's never on the public profile, so no public API can return it for an arbitrary creator.
Does SociaVault provide Instagram audience demographics?
No, because they aren't public. We provide public data only, and audience age/gender/location isn't part of it. We can return the creator's own public profile, posts, and engagement, which you use to infer audience fit.
What audience data can I get for TikTok?
An audience-by-country breakdown with percentages, via the demographics endpoint. It does not include age or gender, and it costs 26 credits per lookup. Treat the percentages as sample-based estimates.
How do I estimate an Instagram creator's audience then?
Use public proxies: the creator's caption language, the language and profiles of their commenters (sampled across recent posts), tagged locations, and niche. Label the result as inference, not Instagram's own figures.
Why is the TikTok demographics call 26 credits instead of 1?
It's a heavier lookup than a standard profile or video request. Use it on a shortlist of serious candidates rather than as a bulk first-pass filter.
Is audience demographic data more important than fake-follower checks?
Usually not. A precise demographic split means little if a large share of the audience is fake or disengaged. Vet authenticity and engagement first, then worry about demographic fit.
Vetting creators and want to work only with what's genuinely public? Start free with 50 credits (no card) and pull real profiles, comments, and TikTok country splits to build an honest picture.
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.