If any vertical was designed in a lab to thrive on TikTok, it is beauty and cosmetics. Short-form video rewards face-on demonstration, before-and-after transformations, satisfying swatches, sound-led tutorials, and the unscripted authenticity that built #TikTokMadeMeBuyIt into a billion-view shelf. Beauty buyers do not start on Google in 2026. They start on a For You feed, screenshot a lip combo, search the product name back on TikTok, then check Sephora.
The catch is that the public TikTok app gives marketers almost nothing programmatic. You can scroll, but you cannot pull. That is the gap TikLiveAPI fills. It exposes 37 REST endpoints covering users, posts, comments, hashtags, music and search, all behind a single X-Api-Key header sent to https://api.tikliveapi.com. No TikTok login, no scraper farm, one credit per request, structured JSON every time. For a beauty brand, that means creator discovery, mention tracking, dupe spotting and trend forecasting all become real workflows instead of intern tasks.
Before touching code, agree on the jobs the API actually does for a beauty team:
Each workflow maps cleanly onto a small set of endpoints. The mapping below is the only cheat sheet your team needs taped to the wall.
user_count and view_count, then /challenge-posts/ paginates the videos./search-video/ with keyword plus publish_time=1 for 24 hours or 7 for week-over-week./post-comments/ for the top-level thread (each comment uses an id field, not cid), then /post-comment-replies/ for nested context./search-video/ sorted by publish_time=1 day over day, then compute post velocity in your own database.You want a fixed watchlist before you write a single line of code. The baseline beauty stack:
Goal: build a shortlist of 50 skincare creators with 50k to 500k followers who have posted in the last 30 days. Three calls per candidate.
import requests, time
BASE = "https://api.tikliveapi.com"
HEAD = {"X-Api-Key": "YOUR_API_KEY"}
# 1. Seed the list
seed = requests.get(f"{BASE}/search-user/",
headers=HEAD, params={"keyword": "skincare routine", "count": 30}).json()
shortlist = []
for u in seed.get("users", []):
username = u["uniqueId"]
# 2. Enrich
info = requests.get(f"{BASE}/userinfo-by-username/",
headers=HEAD, params={"username": username}).json()
followers = info["stats"]["followerCount"]
if not (50_000 <= followers <= 500_000):
continue
# 3. Confirm recency
posts = requests.get(f"{BASE}/user-posts/",
headers=HEAD, params={"userid": info["user"]["id"], "count": 5}).json()
if not posts.get("videos"):
continue
latest = max(v["create_time"] for v in posts["videos"])
if time.time() - latest > 30 * 86400:
continue
shortlist.append({"username": username, "followers": followers})
Three credits per candidate. A 30-result seed plus enrichment plus posts comes in around 90 credits per discovery run.
Goal: catch a viral aesthetic before peak. Pick a hashtag, run a velocity check each morning, flag spikes.
tag = requests.get(f"{BASE}/challenge-info-name/",
headers=HEAD, params={"name": "cleangirl"}).json()
print(tag["cha_name"], tag["user_count"], tag["view_count"])
today = requests.get(f"{BASE}/search-video/",
headers=HEAD, params={"keyword": "clean girl makeup",
"publish_time": 1, "sort_by": 2, "count": 35}).json()
# Compare today's count to a 7-day baseline stored in your DB
Store view_count and user_count from /challenge-info-name/ daily. A 30 percent day-over-day jump in either field is your trigger to brief content.
Goal: see who is winning share of voice this quarter. Pull each competitor's profile and last 35 posts, sum engagement, normalize.
competitors = ["sephora", "glossier", "drunkelephant",
"rarebeauty", "elfcosmetics", "fentybeauty"]
scoreboard = []
for handle in competitors:
info = requests.get(f"{BASE}/userinfo-by-username/",
headers=HEAD, params={"username": handle}).json()
uid = info["user"]["id"]
posts = requests.get(f"{BASE}/user-posts/",
headers=HEAD, params={"userid": uid, "count": 35}).json()
engagement = sum(v["digg_count"] + v["comment_count"] + v["share_count"]
for v in posts["videos"])
scoreboard.append({"brand": handle,
"followers": info["stats"]["followerCount"],
"engagement_35": engagement})
Two calls per competitor, six competitors, twelve credits for a full quarterly snapshot.
For a mid-market clean skincare brand, an illustrative scoreboard in 2026 might look like this. Sephora dominates raw follower count because it is a retailer aggregating every launch. Rare Beauty and Fenty Beauty win engagement per post because celebrity founders sit on top of the algorithm. Glossier punches above weight on community comments. Drunk Elephant attracts polarizing ingredient debates that inflate comment counts. ELF Cosmetics is the price-point Trojan horse, regularly showing up under #tiktokmademebuyit with sub-ten-dollar dupes. Indie founders like Topicals or Saie carve niches around specific aesthetics and ingredient stories. Your job is to know where you actually compete - not who is biggest, but who is closest in audience overlap.
/post-comments/./music-posts/ count for your brand-licensed audio.Three patterns are working in 2026. A pure in-house team with one developer running TikLiveAPI plus a community manager owning briefs is the lowest-cost option and scales to a few hundred creator conversations a month. A specialist beauty agency is the fastest path to executional polish but rarely owns first-party data, so insist on raw exports. The third pattern, which is winning at the mid-market, is hybrid: one in-house data engineer plus a small agency for production, with the TikLiveAPI feeding a shared dashboard so both sides debate the same numbers.
Beauty is one of the most regulated verticals on social. Before you scale a creator program, three checks:
/user-posts/ and audit for unapproved language before paying./userinfo-by-username/ bio and signature fields as a first filter./post-comments/ for misinformation that may force a brand response.One request equals one credit, credits never expire, refunds available on unused packages. A mid-market brand running the full playbook typically lands around 110,000 credits per month:
See live package sizes on /pricing/ and stress-test exact calls in the /playground/ before committing budget.
Yes. The TikLiveAPI uses only the X-Api-Key header. No TikTok login, password, or business account is involved. You query the public surface of the platform programmatically.
If you run a daily /search-video/ sweep with publish_time=1 on your SKU name plus the word dupe, you typically see the first spike within 24 hours of upload. Pair that with /post-comments/ sentiment on the top result and you have a same-day brief.
For the playground and one-off lookups, no. For continuous workflows like creator discovery and mention tracking, yes, you want at least one engineer or a technical agency partner. The endpoints are simple REST, so a junior developer can ship the first pipeline in a week.
The API exposes public TikTok content - users, posts, hashtags, comments, music, and ads detail via /ads-detail/. TikTok Shop transaction data lives behind separate seller authentication and is not part of the public scrape surface.
Use the 100 free credits granted on registration plus email verification, run every call once in the /playground/, and cache responses locally during development. For production, set per-script credit caps and review burn weekly via your /profile/ usage chart.
Ready to wire the API into your beauty marketing stack? Read the full /documentation/, test calls in the /playground/, browse more vertical playbooks on the /blog/, or reach the team via /contact/.
Ready to put what you read into code? Try our endpoints live or grab the full reference.