> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/tiktok/profiles-handle-audience>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/tiktok/profiles-handle-audience.mdx>

---

# 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}/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`.

## Request

- **Endpoint:** `GET /v1/tiktok/profiles/{handle}/audience`
- **Credits:** 30 credits
Failed requests are free
- **Input:** by handle
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/audience/get)
- **Platform page:** [/platforms/tiktok](https://www.socialfetch.dev/platforms/tiktok)

## 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.
