Global TikTok marketing rarely behaves the way a single dashboard makes it look. A hashtag that explodes in Sao Paulo can be invisible in Mexico City the same week. A creator with two million followers in Indonesia might convert poorly in the United States because their voice, slang, and references do not translate. If you are running international campaigns, you need region-aware data, not just global counts. The TikLiveAPI /region-list/ endpoint plus the region parameter on /search-video/ and /challenge-posts/ give you that layer.
This guide walks through how country targeting actually works in the API, eight practical recipes for international marketers, a Brazil vs Mexico overlap example, and the compliance notes you should hand to your legal team before you ship.
Three endpoints carry the region story.
First, /region-list/ returns the country codes TikTok actually supports for filtering. You should never hardcode an ISO list and assume it matches. TikTok rolls regions in and out, and the only safe source is the live endpoint. Pull it once per deploy and cache it. See the full reference at /documentation/region/.
Second, /search-video/ accepts a region parameter so a single keyword can be sliced by country. The same keyword run with region=BR versus region=MX returns different ranked sets, different play counts, and often completely different creators.
Third, /challenge-posts/ accepts region too, which is how you isolate a hashtag campaign to one country and measure local pickup rather than global noise. See /documentation/posts/ for the full post family.
Authentication is the same on all three. Send your key as the X-Api-Key header. Pricing is 1 request = 1 credit, credits never expire, and registration plus email verification grants 100 free credits to test region splits before you commit. Full details on /pricing/.
curl -X GET "https://api.tikliveapi.com/region-list/" \
-H "X-Api-Key: YOUR_API_KEY"
Cache the response. The codes change rarely, but they do change.
curl -X GET "https://api.tikliveapi.com/search-video/?keyword=skincare®ion=BR&count=30" \
-H "X-Api-Key: YOUR_API_KEY"
Swap BR for MX, ID, PH, US, GB, DE, or whatever code /region-list/ returned, and you get the country-specific ranking for that keyword.
curl -X GET "https://api.tikliveapi.com/challenge-posts/?challenge_id=1234567890®ion=BR&count=30" \
-H "X-Api-Key: YOUR_API_KEY"
You can paginate with cursor for both endpoints. Test variants in the /playground/ before wiring them into your pipeline.
To build a per-country hashtag leaderboard, pick five to ten seed keywords for your vertical, run /search-video/ with each region, then walk the returned video items and count hashtag occurrences. Items in /search-video/ use snake_case fields, and engagement signals like play_count and digg_count let you weight hashtags by reach, not just appearance count. Re-run weekly and you have a rolling country-level hashtag index your strategists can plan against.
"Rising" is the delta between two snapshots. Take the same hashtag set, same keyword set, same region, twice a week. Store the play_count sum or top-N median per hashtag, and rank by week-over-week growth rate. The hashtags climbing fastest in region=PH are not the same ones climbing in region=DE, and that asymmetry is your media-buying edge. Combine with /challenge-posts/ filtered by region to see if the hashtag is actually generating new posts, not just inheriting old play counts.
The user search endpoint does not take a region parameter directly, but you can layer it. Run /search-user/ with a keyword in the local language (Portuguese for Brazil, Bahasa for Indonesia), then take each result's uniqueId, call /userinfo-by-username/, and inspect the user object for bio language and bio links. Cross-check by pulling a few of their videos via /user-posts/ and looking at audio language and captions. This stack gives you a defensible creator shortlist per country without paying a roster vendor.
Spillover is when content born in one country starts pulling views in another. To detect it, take a single video URL via /post-detail/, note the author's region from their profile, then track the hashtags and audio (music_info) it uses. Run /search-video/ on those hashtags across five target regions for two weeks. If a hashtag that was Brazil-only in week one is showing up in Mexico and Argentina in week two with different creators, you are watching spillover. Buy the audio rights or align your local creators with that sound before the wave peaks.
The API does not return a language code. You infer it. The cheapest method: run /search-video/ with region=BR, walk the returned videos, send the captions or descriptions through a lightweight language detector library. Bucket creators by inferred language. This is how you separate Spanish-speaking creators in the US Hispanic market from English-speaking US creators, even though both return under region=US. It also separates Brazilian Portuguese from European Portuguese cleanly when you compare BR and PT regions.
For a paid media plan, you want a matrix of country times vertical times engagement potential. Build it by looping /search-video/ across your top fifteen target regions and your top ten product keywords. For each cell, capture median play_count, median digg_count, and post count. Normalize to a 0-100 score. Render as a heatmap and you have a single sheet that tells media planners where the organic signal is strongest. This is the cheapest input to a media-mix model you will ever build, and it costs roughly 150 credits per refresh.
Some videos are geo-restricted. When you call /post-detail/ on a URL that is locked to a region you cannot resolve from, you may get reduced metadata or a play URL that 403s when your CDN fetches it. The fix: never depend on a single region for download. If you are caching watermark-free videos via play or hdplay from /post-detail/, retry through your own multi-region fetcher and log which regions yielded a 200. For creator-facing tools, surface a "not available in your region" message instead of a broken player.
Country targeting often pulls personal-ish data: usernames, bios, avatars, follower counts. Under GDPR (EU) and LGPD (Brazil), publicly available social media data is not automatically free to process. You need a lawful basis, you need a retention policy, and you need to honor deletion requests. Practical rules: do not store user records longer than your stated retention window, redact bios from analytics exports shared outside your company, and provide a contact path for data subject requests. The API only returns what TikTok exposes publicly, but how you store and reuse it is your responsibility.
Suppose you are launching a skincare brand across Latin America and you want to know whether to run one creative or two. Pull /search-video/ for keyword=skincare at region=BR and region=MX, 50 videos each.
curl -X GET "https://api.tikliveapi.com/search-video/?keyword=skincare®ion=BR&count=50" \
-H "X-Api-Key: YOUR_API_KEY"
curl -X GET "https://api.tikliveapi.com/search-video/?keyword=skincare®ion=MX&count=50" \
-H "X-Api-Key: YOUR_API_KEY"
For each set, extract the author uniqueId and the hashtags from each video. Compare.
In a typical run you will see something like this pattern: the creator overlap between BR and MX is low, often under 10 percent, because language and platform algorithm route audiences differently. Hashtag overlap is higher, maybe 25 to 40 percent, because product terms (skincare, glow, rotina) cross borders even when creators do not. The audio overlap, accessible via music_info on each video, is the most interesting signal: it can be 50 percent or higher when a sound is genuinely viral across Latin America.
The strategic read: shoot two creative variants with local creators, but consider sharing the audio bed across markets to ride a common sound. You will get better attribution per market and lower production cost than fully bespoke content. None of that read is possible without the region parameter.
The region parameter filters by TikTok's regional ranking, which approximates "what users in that country see," not necessarily "creators based in that country." A creator based in Los Angeles whose content trends in Brazil will appear under region=BR. That is usually what you want for media planning; if you need creator-of-record location, inspect the user profile separately.
You will get reduced or empty results. Always validate against the current /region-list/ response, not a static list. See /documentation/region/.
Yes. Both /search-video/ and /challenge-posts/ accept cursor alongside region. Keep the region identical across pages so your slice stays consistent.
Each request is 1 credit. A 15-country, 10-keyword /search-video/ sweep is 150 credits. Re-run weekly and a quarter of strategy data costs you under 2,000 credits.
No, but you can derive it. For /search-video/ items, divide digg_count by play_count per video, then take the median for the region. That gives you a stable engagement floor per country.
The play and hdplay URLs returned by /post-detail/ may be subject to TikTok's regional CDN rules. If a fetch fails, retry from a different egress region or fall back to wmplay (watermarked). Detail on /documentation/posts/.
Keep a deletion log keyed to TikTok uniqueId. When a request comes in, purge that user from your cache and add the id to a denylist so future ingests skip them. Document the retention window in your privacy policy.
The /playground/ lets you fire region-parameterized requests interactively and inspect the raw response, which is the fastest way to confirm your country codes resolve before you wire them into a worker.
Pull /region-list/ today, pick three target countries, and run one /search-video/ sweep for your top keyword in each. Compare the top 10 hashtags and the top 10 creators across the three sets. That single exercise will reshape how you brief your regional teams. When you are ready to operationalize, see the full reference at /documentation/, sandbox-test in /playground/, and check credit costs on /pricing/.
Ready to put what you read into code? Try our endpoints live or grab the full reference.