There are several different things people mean by “TikTok audience insights”: the audience tool in Ads Manager, analytics for an account's followers, and the audience breakdown attached to a search topic. This guide covers the third: topic demographics retrieved through TokConnect.

Separate three audience questions

Topic demographics describe categories returned for one search topic and one requested window. Ads Audience Insights describes aggregated TikTok user information for advertising exploration and provides its own filters and estimation caveats. Follower analytics concerns people who follow a specific account. Each can contain age, gender, or location labels, but the population and question differ.

If you need to decideUseKeep in the output
Whether a search topic returns a usable category breakdownaudience_demographics for the selected topicQuery ID, window, all totals, unknown and zero categories
How an ad audience could be configured or exploredTikTok Ads Manager Audience InsightsAudience definition, selected locations and filters, retrieval date
Who follows a brand accountThe account owner’s analyticsAccount, reporting range, export or screen source
Who buys or retains a productProduct and customer dataProduct event definition and cohort

Do not place figures from these sources in one denominator. A topic result can help you decide which question to investigate in a video; it does not validate an ad-targeting segment or a customer persona.

Request a topic breakdown

First retrieve a queryId using topic search. Then ask for demographics with a 7-, 30-, 60-, or 180-day window. The topic text is useful context, but the follow-up tool needs its ID.

Find the topic “language learning mobile apps.” Request its audience_demographics for 30 days. Return the summary and the age, gender and location rows, including unknown, others and totals. Keep the returned field labels.

For a scriptable workflow, use the MCP access guide. The tool returns category values labelled popularity; do not automatically relabel them as people or percentages.

A real response for language-learning apps

Our 30-day request for “language learning mobile apps” returned these non-zero rows, alongside several zero rows. The summary named 35+, unknown gender, and United States of America.

BreakdownReturned non-zero valuesReading
GenderTotal 198; unknown 99; male 99Unknown data accounts for part of the returned total; the result does not describe an exclusively male audience
AgeTotal 198; 35+ 99; others 9935+ appears, but “others” leaves part of the breakdown unresolved
LocationTotal 199; United States of America 199The response names the US; the category's underlying unit still needs to be preserved

The totals differ across breakdowns. We retain the source values instead of pooling them into one audience size. A useful brief note is: “This topic response names US and 35+ in its summary, with unknown gender and an unresolved age category. Investigate whether our intended customers share that context.”

A language-app team could use that note to recruit relevant interview participants. It should not change its targeting or declare a buyer persona solely from this response. The next step is to compare the topic wording and questions with its own customer evidence.

Returned gender values preserve unknowns. They have not been converted into percentages.
Returned gender values preserve unknowns. They have not been converted into percentages.

An empty response is not an audience with zero people

A separate 30-day walking-pad request returned blank summary fields and zero values throughout. That gives us no usable demographic profile. Record “No usable breakdown returned” and retain the original response.

Check the topic ID and requested window. If another related topic answers the same research question, inspect it separately and label the change. Replacing zeros with guesses from a creator profile would combine two different populations.

Handle missing and zero data

Use three labels in the brief: returned zero, returned unknown, and no field returned. A returned zero may mean the source provided a zero for that category; it does not identify why. Unknown says the response contains an unresolved category. A missing field says the response did not provide the category. These conditions lead to different follow-up work and should never become an assumed share.

For a zero-only response, retain the request and rows, state that it supplies no usable breakdown for the proposed decision, and choose another source. Do not calculate percentages from an all-zero total. If a selected country does not appear, record its absence instead of assuming the topic has no audience there. This discipline keeps a thin response from turning into a confident customer profile.

Choose the next decision

The language-app result can frame a source-review question: does a creative concept need review for a US and older-audience context? It cannot support “the audience is male” because half of the gender total is unknown. It cannot support “all users are 35+” because the age output contains an others category. Its source values retain the label popularity, so the response is not a headcount or a percentage calculation.

Decision neededResponse conditionNext action
Pick a creative question to inspectNamed location and age category, with unknowns retainedReview relevant videos and use the labels as context, not targeting
Set paid-media targetingTopic categories onlyReject this response for targeting; configure and document an Ads Manager audience instead
Describe paying customersAny topic demographic responseReject it as customer evidence; use product or customer research
Response has zero-only rowsNo usable breakdownRecord the failed evidence path and choose another source

Source note: language learning mobile apps, query ID 7668819022917402644, 30-day topic-demographic request, retrieved 18 September 2026. Returned summary: US, 35+, unknown gender. Decision: review source content with that context; do not set targeting or write a customer-profile claim from this response.

Sources and further reading