Which platforms expose audience demographics, how inferred demographics are built, and why a larger sample does not fix the error that matters.
- Only 2 of the 4 major platforms, Instagram and YouTube, expose audience demographics, and only to the account holder.
- Instagram computes demographics from accounts reached, not followers, and reports nothing until more than 100 accounts are reached.
- Inferred demographics sample visible followers and project the result; at 2,500 sampled followers the margin is about 2 points.
- Selection bias is the real error: only public, parseable profiles can be sampled, and a bigger sample does not fix that.
- Label every field as measured or modelled in the data model, and take legal advice before showing inferred ethnicity or income.
Audience demographics are the field brands care most about and the field with the widest gap between what is advertised and what is measured. Two products can both show an age breakdown for the same creator, derived in completely different ways, with no visible indication of which is which.
This matters commercially because demographics are the number budget decisions rest on. A brand paying for reach into 25 to 34 year old women in the UK is buying a figure, and if that figure was modelled from a sample of visible followers, the brand should know before the campaign rather than during the post-mortem.
Below: which platforms expose demographics and under what conditions, how inferred demographics are actually constructed, the arithmetic of how wrong they can be, and what to do about it in your data model.
Which platforms expose audience demographics?
| Platform | Available | How | Granularity |
|---|---|---|---|
| Yes, to the account holder | instagram_manage_insights | 7 age brackets from 13-17 to 65+, gender as M/F/undisclosed, top 45 cities and 45 countries, follower active hours | |
| YouTube | Yes, to the channel owner | Analytics scopes | Age and gender breakdowns, geography |
| TikTok | No | No scope exists | The native developer API has no audience demographics scope at all |
| No | Withheld | Creator-level demographics unavailable on any commercial product |
That is the whole availability picture, and it reshapes products regularly. If your roadmap includes TikTok audience demographics from the native API, there is no permission to request and no tier to upgrade to. The scope references are Instagram, YouTube and TikTok, and the fuller field matrix is in social data API coverage.
What does Instagram actually measure?
Not what most people assume. Instagram calculates audience demographics from accounts reached, not from your follower list.
That distinction has real consequences. The demographics describe the people your content reached in a given window, which includes non-followers who saw a Reel and excludes followers who saw nothing. A creator with a viral post reaching a new audience will see their demographics shift, and the shift is real but it is not a change in who follows them.
3 practical implications.
- The window matters. Demographics for the last 7 days and the last 90 days describe different populations. Record which window produced the figure.
- There is a floor. Instagram requires more than 100 accounts reached before it will report demographics. Below that it reports nothing, for privacy and because the sample is too small to be meaningful.
- Meta labels some of these metrics estimated and in development, which is a candid statement about their own precision.
None of this makes authenticated demographics unreliable. It makes them specific. They are a measurement of a defined population, and knowing which population is the difference between using the number correctly and over-claiming on it. The Instagram-specific detail is in our Instagram audience demographics guide.
Check which demographic fields each platform exposes before you design around them. See the coverage list
How are inferred demographics built?
In 3 steps, and understanding the steps tells you where the error comes from.
- Sample. Take a subset of the creator's visible followers, typically a few thousand.
- Classify. Read each sampled follower's own public profile and infer their age, gender and location from the name, bio, photo, language and posting behaviour.
- Project. Assume the sample represents the whole audience and scale the distribution up.
Every step introduces error, and they are not the same kind of error. Step 1 produces sampling error, which is well understood and shrinks predictably. Steps 2 and 3 produce bias, which does not.
How much error does sampling introduce?
Less than people fear. The margin of error at 95% confidence for a proportion near 50% looks like this.
| Sample size | Margin of error | Reading |
|---|---|---|
| 100 followers | About 10 percentage points | Unusable for a decision |
| 500 followers | About 4.4 points | Directional only |
| 1,000 followers | About 3.1 points | Acceptable for shortlisting |
| 2,500 followers | About 2.0 points | Good |
| 10,000 followers | About 1.0 points | Better than most buyers need |
So a vendor sampling 2,500 followers has a margin of roughly 2 points, which is perfectly adequate for choosing between creators. Note also that halving the margin requires quadrupling the sample, so the returns diminish quickly and a vendor sampling 10,000 instead of 2,500 has bought 1 point of precision for 4 times the collection cost.
If sampling error were the only problem, inferred demographics would be close enough for most purposes. It is not the only problem.
Why does a bigger sample not fix the real error?
Because the sample is not random, and no amount of additional sampling corrects a non-random sample.
You can only classify a follower whose own profile is visible and parseable. Private accounts, accounts with no profile photo, accounts posting in a script your classifier handles badly, accounts with no bio: all of these are harder or impossible to classify, and they are dropped from the sample.
The question that decides accuracy is whether the followers you can read differ from the followers you cannot. They almost certainly do. Private accounts skew younger on several platforms. Accounts with sparse profiles skew towards casual users. Language and script coverage determines which countries you can classify at all.
# Why n does not rescue you.
#
# Suppose 60% of a creator's followers are classifiable.
# You sample from that 60% only.
# n = 2,500 margin +/- 2.0 pp around a biased centre
# n = 10,000 margin +/- 1.0 pp around the SAME biased centre
# n = 100,000 margin +/- 0.3 pp around the SAME biased centre
# Increasing n tightens the confidence interval around the wrong
# number. It makes a biased estimate look MORE authoritative,
# which is worse than leaving it wide.
# So the question to ask a vendor is not "how large is your sample".
# It is:
# 1. what share of followers were you unable to classify?
# 2. do you believe that group differs from the rest?
# 3. do you correct for it, and how?
#
# A vendor who has never computed answer 1 has not measured
# their own accuracy, whatever their sample size.
That unclassifiable share is the single most useful number in this whole subject, and almost nobody publishes it. It bounds how wrong the estimate can be in a way that sample size never does.
How do the 2 approaches compare?
| Authenticated | Inferred | |
|---|---|---|
| Source | The platform's own calculation | A vendor sampling visible followers |
| Population measured | Accounts reached in a window | Classifiable followers, projected |
| Main error type | Window and population definition | Selection bias, then classification error |
| Error shrinks with scale | Not applicable | Sampling error does. Bias does not |
| Available for | Creators who connect | Any public account |
| Floor | More than 100 accounts reached | Enough classifiable followers to sample |
| Defensible to a client | Yes, it is the platform's figure | Only if labelled as an estimate |
Neither is strictly better, which is the honest framing. Authenticated demographics are measured but only exist for creators who connected, and describe reach rather than followers. Inferred demographics work on everyone and carry a bias you cannot size without the vendor's cooperation.
The architecture that follows is the same one that applies across this whole category: use inferred demographics to shortlist, and authenticated demographics to decide. The boundary is in authenticated versus public social data.
Which inferred fields carry legal risk?
Some vendors infer well beyond age and location. Published feature lists include ethnicity, household income, audience authenticity and reachability.
Inferred ethnicity and inferred income deserve specific attention, because they are protected or sensitive characteristics in several jurisdictions and their presence in your product can create exposure that has nothing to do with influencer marketing.
- If your product touches employment, credit, housing or insurance decisions, displaying inferred ethnicity is a serious problem. We set out why protected characteristics have to be removed rather than flagged in what social screening is.
- Even in pure marketing use cases, a brand selecting creators on inferred audience ethnicity is making a targeting decision on a protected characteristic, inferred from photographs, with no consent from the people classified.
- Inference quality on these fields is weakest of all, because the signals are indirect. An income estimate derived from profile photographs is a guess wearing a decimal point.
This is not legal advice. It is a prompt to ask counsel before your interface renders those fields, rather than after a customer uses them for something you did not anticipate.
What should the data model do?
Carry the provenance on the field, not in documentation. If a brand challenges a number in a campaign review, the answer has to be available immediately and from the record itself.
# Provenance belongs on the value, not in a footnote.
audience_age = {
"value": {"18-24": 0.31, "25-34": 0.44, "35-44": 0.17},
"measured": False, # modelled, not counted
"method": "follower_sample_projection",
"sample_n": 2500,
"unclassified_share": 0.38, # ask for this. Most will not have it
"margin_pp": 2.0,
"fetched_at": "2026-07-27T09:00Z",
}
audience_age_authenticated = {
"value": {"18-24": 0.27, "25-34": 0.49, "35-44": 0.15},
"measured": True,
"method": "platform_insights",
"population": "accounts_reached", # NOT followers
"window_days": 30,
"fetched_at": "2026-07-27T08:00Z",
}
# Resolution rule: measured beats modelled on the same field,
# even when the modelled value is newer. Never average them.
# Keep both, because comparing them is how you tune the model.
The population field on the authenticated record is the one teams omit and later need. Without it, nobody downstream knows whether the figure describes followers or reached accounts, and those answer different questions for a brand.
The unclassified_share field is the one to request from any inferred-demographics vendor. If they cannot supply it, they have not measured their own exposure to selection bias, which is worth knowing before you resell their numbers.
What should you ask a vendor?
- Is this field measured or modelled? In writing, per field, per platform. The answer frequently differs across platforms within one product.
- For authenticated figures, which population and which window? Accounts reached over 30 days is a different number from followers.
- For inferred figures, what share of followers could not be classified? The bias bound, and the question that separates careful vendors from confident ones.
- What does the API return when the model cannot produce a defensible number? Null is correct. A vendor who always returns a number is not always checking.
- Which languages and scripts does the classifier handle? This determines which countries you can report on and is a fairness issue as well as a coverage one.
- How old is the figure? Demographics move slowly, so staleness matters less here than on follower counts, though a figure from an indexed source still has an age worth knowing, as covered in the freshness benchmark.
Where does Phyllo fit?
On the measured side. When a creator connects through your product, Phyllo's audience intelligence returns the platform's own demographic calculation rather than a projection, normalised across the platforms that expose it, through one API and 1 schema.
What we will not do is manufacture the fields platforms do not expose. There is no TikTok audience demographics figure available from the native developer API, so we do not invent one, and a vendor showing you TikTok audience age without a connected account is modelling it. That may be fine for shortlisting and it is not the same product. Per-platform field coverage is public at getphyllo.com/coverage and the API reference needs no sales call.
Where inferred demographics are the right tool. Shortlisting across creators who have never heard of you. That is a real job, a public index does it well, and a measured figure is unavailable for that population at any price. Use inference to narrow, then ask the shortlisted creator to connect before the money moves.
The short version
Check availability first, because 2 of the 4 major platforms expose nothing. Then check what the available figure measures, since Instagram reports on accounts reached rather than followers and that is a different population from the one most people assume.
For inferred demographics, stop asking about sample size and start asking what share of followers could not be classified. Sampling error is already small enough. The error that matters does not shrink when you collect more, and a vendor who cannot tell you its size has not measured their own accuracy.
Want the platform's own demographic figures rather than a projection, across every platform that exposes them? Get a demo
Which platforms provide audience demographics through their API?
Instagram and YouTube, and only to the account holder. TikTok's native developer API has no audience demographics scope, and LinkedIn withholds creator-level demographics at every commercial tier.
Are Instagram audience demographics based on followers?
No. Instagram calculates them from accounts reached, so they describe who saw content in a window, including non-followers. Instagram reports nothing until more than 100 accounts are reached.
How accurate are inferred audience demographics?
Sampling error is usually small, about 2 points at 2,500 sampled followers. The larger error is selection bias, because only followers with public, parseable profiles can be classified.
Does a larger sample make inferred demographics more accurate?
It reduces sampling error and does nothing for bias. The margin falls from about 2 points at 2,500 followers to 1 at 10,000, centred on the same estimate, so a wrong number looks more authoritative.
What should I ask a demographics vendor?
Whether each field is measured or modelled, the population and window behind authenticated figures, the share of followers that could not be classified, and whether the API returns null when unsure.
Can I get audience demographics for a creator who has not connected?
Only as an estimate. Every major platform releases audience demographics to the account holder alone, so any figure for a non-connected creator is modelled. Use it to shortlist, not as a measurement.
Is it safe to use inferred ethnicity or income data?
Take legal advice before showing either. They are protected or sensitive in several jurisdictions, inference on them is weakest, and in employment, credit, housing or insurance they carry legal risk.



