Douyin Hashtag Detail Scraper avatar

Douyin Hashtag Detail Scraper

Pricing

$0.10 / actor start

Go to Apify Store
Douyin Hashtag Detail Scraper

Douyin Hashtag Detail Scraper

EN — Get details of a Douyin hashtag by ch_id (challenge id). Returns ch_info: name/desc/view_count/user_count/share_info/author.

Pricing

$0.10 / actor start

Rating

0.0

(0)

Developer

wang wei

wang wei

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 days ago

Last modified

Categories

Share

✨ What you get

EN — Get details of a Douyin hashtag (challenge) by its numeric ch_id. Returns the rich ch_info object: name, description, total view count, total user count, share metadata, author info, and challenge flags. One run = one Data provider call.

ZH — 抖音话题详情 — 通过 ch_id(话题 ID)抓取话题元数据。 返回完整的 ch_info:名称、描述、总播放量、总参与用户数、分享链接、作者信息、是否官方话题等。一次运行 = 一次上游请求。

Built for influencer research, trend analysis, brand monitoring, competitor benchmarking, and content ops workflows on Douyin (TikTok China) — China's #1 short-video platform with 750M+ daily active users.

5 free runs / day. No API key required — No API key or setup required.

💼 Use cases

  • Sizing a hashtag's reach before you partner inside it — hand it the numeric chId and view_count plus user_count come back, which tells you whether a vertical's conversation is big enough to be worth a creator brief.
  • Tracking momentum on your own brand challenge — run the same chId on a schedule and watch view_count and user_count move, which is the cheapest read on whether a seeded topic is actually spreading.
  • Grabbing the share assets for a cross-platform push — share_info carries share_url, share_title and share_desc, which is what a UGC or seeding program needs to point people at the challenge.
  • Reading a hashtag out of a competitor's video URL — spot the chip on a rival post, copy the trailing number from the hashtag page URL, and get the topic name, description and official-challenge flags back for that vertical.

✅ Who this is for

  • Influencer and brand marketers — evaluating whether a hashtag is worth partnering in.
  • Trend researchers — mapping where a challenge sits in its category and growth phase.
  • Content and UGC teams — collecting share metadata to seed participation.
  • Competitive analysts — pulling topic-level metadata for any challenge id they find in the wild.

❌ Who this is NOT for

  • Anyone who does not already have the numeric chId — this Actor takes a challenge id only, and the README's three ways to get one are all manual: open the hashtag page and copy the trailing number, resolve a short share URL in a desktop browser, or click the hashtag chip on a video. If you have a keyword instead of an id, start with the hashtag search Actor.
  • Pasting anything other than the bare number — a full share URL and the ch_id=1575791821492238 query-string form are both rejected; only the trailing numeric id is accepted, in integer or string form.
  • Growth curves or history — one run returns one snapshot of cumulative totals. There is no time series behind it, so a single run cannot tell you whether a topic is accelerating.
  • Reading an empty result as a missing topic — if cha_name comes back empty or null the id itself is invalid, not the hashtag unpopular. Re-check the URL or pick a different hashtag.
  • Anything video-level or bulk — one run is one hashtag lookup and one dataset row. Video counts, video URLs and author-by-author data are not in this output, and there is no multi-id input.

📥 Input parameters

FieldTypeRequiredDefaultNotes
chIdintegeryes—Douyin challenge id (numeric). Example: 1575791821492238.

A real-world example: ch_id 1575791821492238 = 深海 (Deep Sea) — 5.28 billion cumulative views.

{
"chId": 1575791821492238
}

The chId is the numeric challenge id Douyin assigns to every hashtag. You can grab it from any public hashtag URL in three ways:

Open any hashtag page in a desktop browser. The URL ends with the numeric ch_id:

https://www.douyin.com/challenge/1575791821492238
└──────── chId ────────┘

Copy the trailing number → paste it into the input field.

Option B — From a share / short URL

When someone shares a hashtag link on mobile, Douyin rewrites it into a short form. Paste the short URL into the address bar of a desktop browser and hit Enter — it redirects to the canonical /challenge/<id> form, then grab the trailing number as in Option A.

https://v.douyin.com/iJxxxxxxx/ → https://www.douyin.com/challenge/1575791821492238

Option C — From a video inside the hashtag

Open any video that belongs to a hashtag. The URL contains the aweme_id (video id) — but you also need the ch_id. Click the hashtag chip below the video description; it opens the canonical hashtag page, then grab the ch_id from the URL as in Option A.

Quick validation

After entering a chId, the data provider returns cha_name (the hashtag name). If cha_name is empty or null, the id is invalid — re-check the URL or pick another hashtag.

Common mistake

  • ❌ Do not paste the share URL — only the trailing numeric id is accepted.
  • ❌ Do not include ch_id= query-string form (ch_id=1575791821492238) — strip the ch_id= prefix.
  • ✅ Correct: "chId": 1575791821492238
  • ✅ Correct: "chId": "1575791821492238" (string form also accepted — both fields parse to integer internally)

📤 Output

The Actor pushes one item (the normalized ch_info) to the default dataset and writes a SUMMARY record to the default key-value store.

{
"ch_id": 1575791821492238,
"cha_name": "深海",
"desc": "深海是一个挑战话题",
"view_count": 5283529674,
"user_count": 52345678,
"is_challenge": true,
"is_pgcshow": false,
"share_info": {
"share_title": "深海",
"share_desc": "深海挑战话题",
"share_url": "https://www.iesdouyin.com/share/challenge/1575791821492238"
},
"author": { /* creator profile when available */ },
"rawData": { /* full Data provider ch_info object */ }
}

See .actor/output_schema.json for the full type schema, or read it at runtime via the Apify API.

💰 Billing

Free users are limited to 5 runs per day. Paid users (APIFY_USER_IS_PAYING=1) have unlimited runs. The Actor itself adds no markup — you pay the data provider provider per request plus the standard Apify compute unit cost.

📚 Resources

cd douyin-hashtag-detail
Data provider_API_KEY=... Data provider_BASE_URL=<your-Data provider-base-url> npm test
  • node test/unit.js — 3 unit assertions on normalize / extract / rank.
  • node test/integration.js — 1 live call against a known ch_id.

MIT

📜 Notes & caveats

Use it together with the other Douyin Actors

This Actor is part of the 5-Actor Douyin MVP set. Use it together with:

Where in the pipelineActorUse it to
you are hereDouyin Hashtag Detail Scraper (you are here)(this Actor)
before / step ①../douyin-hashtag-search/README.mdkeyword search → get topic_id (= ch_id) for any hashtag you want to look up
sister step ③../douyin-hashtag-video-list/README.mdwalk the full video list under the same ch_id
sister Actor../douyin-hot-search-list/README.mdboard-level trends — find the topic in mainstream before it gets saturated
sister Actor../douyin-live-hot-search-list/README.mdlive-stream specific trends

You are here: Douyin Hashtag Detail Scraper — run this on its own for the data provider use case described above, or chain it with the other 4 Actors for a full Douyin keyword → hashtag → videos → trends pipeline.

Why this Actor exists

Douyin's hashtag system is the primary discovery surface on the platform. Knowing a challenge's view_count and user_count is the first step in any influencer / brand / trend analysis workflow. This Actor is the step ① entry point of the 4-Actor Douyin MVP set.