Back to Blog
General

TikTok Demographics API: Get Audience Age, Gender & Location Data

January 26, 2026
4 min read
S
By SociaVault Team
tiktokdemographicsapiaudience analysis

TikTok Demographics API: Analyze Audience Composition

Understanding who watches a TikTok creator's content is crucial for influencer marketing, advertising, and content strategy. This guide shows you how to extract audience demographics using the SociaVault API.

Why You Need Audience Demographics

Demographic data helps you:

  • Verify Audience Fit - Ensure creator audiences match your target customers
  • Price Negotiations - Justify rates based on audience quality
  • Campaign Planning - Create content that resonates with specific demographics
  • ROI Prediction - Estimate conversion potential before campaigns
  • Competitive Analysis - Compare audience compositions across creators

What Demographic Data Is Available?

The Demographics API returns:

Data PointDescription
Age RangesDistribution across age brackets (13-17, 18-24, 25-34, etc.)
Gender SplitMale/Female/Other percentages
Top CountriesGeographic distribution of audience
Top CitiesMajor cities where audience is located
LanguagePrimary languages of followers
Active HoursWhen audience is most active

Using the Demographics API

const response = await fetch('https://api.sociavault.com/tiktok/demographics', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    handle: 'charlidamelio'
  })
});

const demographics = await response.json();

Sample Response

{
  "handle": "charlidamelio",
  "demographics": {
    "ageDistribution": {
      "13-17": 15.2,
      "18-24": 42.8,
      "25-34": 28.5,
      "35-44": 9.2,
      "45+": 4.3
    },
    "genderDistribution": {
      "female": 62.5,
      "male": 35.8,
      "other": 1.7
    },
    "topCountries": [
      { "country": "United States", "percentage": 45.2 },
      { "country": "Brazil", "percentage": 12.1 },
      { "country": "United Kingdom", "percentage": 8.4 },
      { "country": "Germany", "percentage": 5.2 },
      { "country": "Canada", "percentage": 4.8 }
    ],
    "topCities": [
      { "city": "Los Angeles", "percentage": 8.2 },
      { "city": "New York", "percentage": 7.1 },
      { "city": "London", "percentage": 4.5 }
    ],
    "peakActivity": {
      "timezone": "America/New_York",
      "hours": [18, 19, 20, 21]
    }
  }
}

Practical Use Cases

Audience-Brand Fit Scoring

Calculate how well a creator's audience matches your target:

function calculateFitScore(demographics, targetAudience) {
  let score = 0;
  
  // Age match (target: 18-34)
  const targetAgePercentage = 
    demographics.ageDistribution['18-24'] + 
    demographics.ageDistribution['25-34'];
  score += targetAgePercentage * 0.4;
  
  // Gender match (target: 60% female)
  const genderDiff = Math.abs(60 - demographics.genderDistribution.female);
  score += (100 - genderDiff) * 0.3;
  
  // Geographic match (target: US)
  const usPercentage = demographics.topCountries
    .find(c => c.country === 'United States')?.percentage || 0;
  score += usPercentage * 0.3;
  
  return score;
}

Compare Multiple Creators

Analyze demographics across creators to find the best fit:

const creators = ['creator1', 'creator2', 'creator3'];

const comparisons = await Promise.all(
  creators.map(async handle => {
    const demo = await getDemographics(handle);
    return {
      handle,
      usAudience: demo.topCountries.find(c => c.country === 'United States')?.percentage,
      youngAudience: demo.ageDistribution['18-24'] + demo.ageDistribution['25-34'],
      femaleAudience: demo.genderDistribution.female
    };
  })
);

// Sort by US audience percentage
comparisons.sort((a, b) => b.usAudience - a.usAudience);

Optimal Posting Time

Use peak activity data to schedule content:

const { peakActivity } = demographics;
console.log(`Best posting time: ${peakActivity.hours[0]}:00 ${peakActivity.timezone}`);

Combine with Other Endpoints

Demographics work best combined with:

Frequently Asked Questions

How is demographic data calculated?

Demographics are derived from analyzing a sample of the creator's engaged audience (viewers, commenters, likers). This provides more accurate insights than follower lists alone.

How accurate are the demographics?

Our data is highly accurate for accounts with consistent engagement. Smaller accounts or those with recent viral spikes may show more variance.

Can I get demographics for any account?

Demographics are available for public accounts with sufficient engagement data. Very new or inactive accounts may have limited demographic information.

How often is demographic data updated?

Demographic data is refreshed periodically to reflect audience changes. Request fresh data anytime—you'll always get the latest available insights.

Is this better than TikTok's official analytics?

TikTok's native analytics are only available to account owners. SociaVault provides third-party demographic analysis for any public profile, essential for brands evaluating potential partners.

Start Analyzing TikTok Demographics

Get your API key and start making data-driven influencer decisions.

Full documentation: /docs/api-reference/tiktok/demographics

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.