TikTok profile audience API
Fetch country-level audience demographics for a TikTok handle as structured location rows in the shared Social Fetch JSON envelope.
GET /v1/tiktok/profiles/{handle}/audience30 credits Failed requests are free
About this endpoint
GET /v1/tiktok/profiles/{handle}/audience takes a TikTok handle (with or without a leading @) and returns data.audienceLocations when the lookup resolves: each row has country, countryCode, count, and percentage (a string like "15.96%"). Compact identity sits under data.profile (platform, handle, profileUrl). Branch on data.lookupStatus before you write rows: found and not_found are explicit outcomes. On not_found, profile and audienceLocations are null.
This is location mix for one handle, not a paginated list of follower accounts. For the inbound follower graph use GET /v1/tiktok/profiles/{handle}/followers. Aggregate counts without geography live on GET /v1/tiktok/profiles/{handle}. Bill from meta.creditsCharged.
TikTok profile audience API FAQ
How do I get TikTok audience demographics by handle via API?
Call GET /v1/tiktok/profiles/{handle}/audience with your Social Fetch API key (x-api-key). Pass the TikTok username as the path parameter, with or without a leading @. Read data.lookupStatus, then data.audienceLocations and data.profile when the status is found.
How much does the TikTok profile audience API cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.
What does each audience location row include?
country (display name), countryCode (ISO code), count (audience count for that country), and percentage (share as a string, for example "6.00%"). Rows arrive under data.audienceLocations.
What does lookupStatus mean on the TikTok audience route?
found means audience demographics could be resolved for that handle. not_found means no audience data matched; profile and audienceLocations are null. Always branch on lookupStatus before treating a null or empty locations array as "zero countries."
How is this different from listing a profile's followers?
This route returns country-level audience mix for one handle. The people behind the follower count are GET /v1/tiktok/profiles/{handle}/followers (paginated profile rows). Aggregate follower totals without geography are on GET /v1/tiktok/profiles/{handle} under data.metrics.
Do I need TikTok OAuth to fetch profile audience demographics?
No. You authenticate to Social Fetch with an API key. The route returns audience location data when available for the handle; it does not act on behalf of a logged-in TikTok user.
Can I use this for sponsorship geo-fit scoring?
Yes. Teams store top countryCode / percentage rows next to a creator record, then filter or score against campaign target markets. Keep meta.requestId if you need support on a failed lookup.
Other TikTok endpoints
- ProfileGET /v1/tiktok/profiles/{handle}
- Profile videosGET /v1/tiktok/profiles/{handle}/videos
- Profile followersGET /v1/tiktok/profiles/{handle}/followers
- Profile followingGET /v1/tiktok/profiles/{handle}/following
- Profile regionGET /v1/tiktok/profiles/{handle}/region
- Profile engagementGET /v1/tiktok/profiles/{handle}/engagement
- Live streamGET /v1/tiktok/profiles/{handle}/live
- Live infoGET /v1/tiktok/live