Pricing
Pay per event
π΅ Douyin Xingtu KOL Scraper
Extract Douyin xingtu kol data β star index, audience, followers, and more. Scrape by keyword, URL or ID. Export to JSON, CSV & Excel, use the API, schedule runs and integrate. No code required.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Douyin Xingtu (ζεΎ) KOL / Influencer Scraper
π douyin-xingtu-kol-scraper
Search Douyin Xingtu (ζεΎ) influencers (KOLs) by keyword and enrich each one with profile basics, the Xingtu index marketing scores, and fans / audience demographic portraits β the data brands use to plan China influencer-marketing campaigns.
Unofficial. Not affiliated with, authorized, or endorsed by Douyin, Xingtu (ζεΎ), or ByteDance. This is an independent tool that retrieves publicly available data via a third-party API. Use it in compliance with Douyin's / Xingtu's terms and applicable law; you are responsible for how you use the data.
What it does
- Keyword search (
searchKeywords) β searches the Xingtu KOL marketplace and pages through results (20 KOLs per page) untilmaxItemsis reached. Each KOL carries rich marketing metrics straight from search: star index, e-commerce score & GMV range, 30-day fans growth, interaction rate, median views, suggested CPM price, content theme labels, and the creator's top-performing items. - sec_user_id lookup (
userIds) β resolves a Douyinsec_user_idto its XingtukolIdand enriches it the same way. - Per-KOL enrichment (each toggle is on by default except audience portrait):
- Profile basics β nickname, follower count, avatar, gender, city/province, tags, unique ID, sec_uid, MCN.
- Xingtu index β star / spread / convert / shopping / cooperation / cp scores, each with value, rank and rank percentile.
- Fans portrait β top cities, provinces, age bands, gender split, devices, interests.
- Audience portrait (optional) β viewer demographics.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
searchKeywords | string[] | ["ηΎε¦"] | Keywords to search. Chinese works best. |
userIds | string[] | [] | Douyin sec_user_id values to resolve + enrich. |
maxItems | integer | 50 | Total KOLs across all inputs. |
enrichProfile | boolean | true | Add profile basics (1 API call/KOL). |
enrichXingtuIndex | boolean | true | Add Xingtu index scores (1 API call/KOL). |
enrichFansPortrait | boolean | true | Add fans demographics (1 API call/KOL). |
enrichAudiencePortrait | boolean | false | Add audience demographics (1 API call/KOL). |
proxyConfiguration | object | off | Optional Apify Proxy. |
Example:
{"searchKeywords":["ηΎε¦"],"maxItems":5}
Output
One dataset item per KOL, deduped by kolId. Shape (enrichment fields appear when enabled):
{"kolId":"6978702114235088932","nickname":"δΈεΉ΄ηΎε¦εζ―ζ¨ε ","follower":270553,"starIndex":81.25,"ecomScore":82,"ecomLevel":"L1","ecomGmv30dRange":"1k-3w","fansIncrement30d":11158,"interactRate30d":0.054,"vvMedian30d":24386,"assignCpmSuggestPrice":97,"gender":"female","city":"ζε·εΈ","province":"ζ΅ζ±η","tags":["ζΆε°"],"contentThemeLabels":["εε¦ζη¨","ζ€εζε·§","..."],"secUid":"MS4wLjABAAAA...","uniqueId":"bomuyg","xingtuIndex":{"link_star_index":{"value":75.6,"rank":17936,"rankPercent":0.0087,"avgValue":56.41}},"fansPortrait":[{"type":"εεΈεεΈ","description":"εεΈζε€η1δΈͺεεΈδΈζ΅·(16%)","distribution":[{"key":"δΈζ΅·","value":11131}]}],"topItems":[{"itemId":"7580711922930502073","vv":3228265,"videoTag":3}],"url":"https://www.xingtu.cn/ad/creator/author-homepage/abstract/6978702114235088932","source":"search:ηΎε¦"}
How it works
Uses a fast, direct HTTP API (no headless browser, no cookies or login). Calls use a browser User-Agent (the edge is behind Cloudflare bot-management) and retry on transient 403/429/5xx responses as well as the occasional "HTTP 200 but please-retry" envelope the Xingtu upstream emits. The API key is supplied to the Actor as a secret environment variable, managed for you β you don't need to bring your own.
Notes & limits
- Search results are capped by the upstream marketplace; very broad keywords still page deep.
- Enrichment costs one extra API call per KOL per enabled portrait/index β turn off the ones you don't need to run cheaper and faster.
userIdsaccepts Douyinsec_user_idstrings (not numeric UIDs or @handles).
Why this Actor
- Direct API, no headless browser β fast, stable runs with nothing to babysit.
- No login, no cookies β we never touch your accounts, so there's no ban risk.
- Fresh, real-time data β every run reads the source live, not a stale cache.
- Pay per result β you're billed only for the rows actually delivered.
- Structured JSON β export to CSV, Excel, or JSON, or pull straight from the API / MCP.
Use cases
- Pull structured content + engagement for analytics dashboards.
- Track a creator's or topic's output and performance over time.
- Build training/research datasets of posts and metadata.
- Power competitor and trend monitoring.
FAQ
Do I need an account, cookies, or to log in anywhere? No. The Actor talks to a fast, direct HTTP API server-side β you just provide inputs and run it.
How am I billed?
Pay-per-result: a fixed price per row returned, with no separate platform/compute charge. Caps like maxItems keep spend predictable.
Can I run it on a schedule or call it from my app? Yes β use Apify Schedules, the REST API, the JavaScript / Python clients, or the MCP server. See the API tab.
Is this affiliated with Douyin (ζι³)? No. It's an independent tool that collects publicly available data. Use it in line with the platform's terms and applicable law.
How do I get a sec_user_id or aweme_id? A sec_user_id is the long MS4wLjAB... string in a profile share link; an aweme_id is the number in douyin.com/video/<id>.
More Douyin (ζι³) scrapers by us
- Douyin Scraper β Search Β· profile Β· comments Β· ηζ¦ trending
Browse the full fleet β https://apify.com/ethereal_wool
