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
CountryCountry name of audience members
Country CodeISO country code (e.g., MX, US, BR)
CountNumber of audience members from that country
PercentageShare of total audience from that country

Note: This endpoint currently provides audience geographic distribution (countries). It costs 26 credits per request.

Using the Demographics API

const response = await fetch('https://api.sociavault.com/v1/scrape/tiktok/demographics?handle=shakira', {
  headers: {
    'x-api-key': 'YOUR_API_KEY'
  }
});

const demographics = await response.json();

Parameters

ParameterTypeRequiredDescription
handlestringYesTikTok handle

Sample Response

{
  "success": true,
  "audienceLocations": [
    { "country": "Mexico", "countryCode": "MX", "count": 83, "percentage": "15.96%" },
    { "country": "United States", "countryCode": "US", "count": 72, "percentage": "13.85%" },
    { "country": "Brazil", "countryCode": "BR", "count": 58, "percentage": "11.15%" },
    { "country": "Colombia", "countryCode": "CO", "count": 41, "percentage": "7.88%" },
    { "country": "Argentina", "countryCode": "AR", "count": 35, "percentage": "6.73%" }
  ]
}

Practical Use Cases

Audience-Brand Fit Scoring

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

function calculateGeoFitScore(audienceLocations, targetCountries) {
  // targetCountries: { 'US': 50, 'MX': 20, 'BR': 15, ... } (desired % weights)
  let score = 0;
  
  for (const loc of audienceLocations) {
    const targetWeight = targetCountries[loc.countryCode] || 0;
    const actual = parseFloat(loc.percentage);
    // Higher score when audience % matches target weight
    score += Math.min(actual, targetWeight);
  }
  
  return score; // Max 100 if perfect match
}

Compare Multiple Creators

Analyze geographic reach across creators to find the best fit:

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

const comparisons = await Promise.all(
  creators.map(async handle => {
    const res = await fetch(`https://api.sociavault.com/v1/scrape/tiktok/demographics?handle=${handle}`, {
      headers: { 'x-api-key': 'YOUR_API_KEY' }
    });
    const data = await res.json();
    
    const usAudience = data.audienceLocations.find(l => l.countryCode === 'US');
    return {
      handle,
      usPercentage: usAudience ? parseFloat(usAudience.percentage) : 0,
      topCountry: data.audienceLocations[0]?.country,
      totalCountries: data.audienceLocations.length
    };
  })
);

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

Regional Campaign Planning

Group creators by their strongest region:

function groupByTopRegion(audienceLocations) {
  const regionMap = {
    US: 'North America', CA: 'North America', MX: 'Latin America',
    BR: 'Latin America', CO: 'Latin America', AR: 'Latin America',
    GB: 'Europe', DE: 'Europe', FR: 'Europe', ES: 'Europe',
    IN: 'Asia', JP: 'Asia', KR: 'Asia', PH: 'Asia'
  };
  
  const regionTotals = {};
  for (const loc of audienceLocations) {
    const region = regionMap[loc.countryCode] || 'Other';
    regionTotals[region] = (regionTotals[region] || 0) + parseFloat(loc.percentage);
  }
  
  return Object.entries(regionTotals)
    .sort((a, b) => b[1] - a[1])
    .map(([region, pct]) => ({ region, percentage: pct.toFixed(1) + '%' }));
}

## Combine with Other Endpoints

Demographics work best combined with:

- [TikTok Profile Scraper](/blog/tiktok-profile-scraper-api) - Base follower metrics
- [TikTok Videos Scraper](/blog/tiktok-videos-scraper-api) - Content performance
- [TikTok Followers List](/blog/tiktok-followers-scraper-api) - Individual follower data

## Frequently Asked Questions

### How is demographic data calculated?

Demographics are derived from analyzing a sample of the creator's engaged audience (viewers, commenters, likers) to determine their geographic distribution.

### What demographic data is available?

Currently, the demographics endpoint provides **audience country distribution** — showing which countries the creator's audience comes from, with counts and percentages. Each location includes country name, ISO country code, count, and percentage.

### 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](https://sociavault.com/signup) and start making data-driven influencer decisions.

Full documentation: [/docs/api-reference/tiktok/demographics](https://docs.sociavault.com/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.