How do I get trending TikTok hashtags and sounds?
Three endpoints. GET /v1/tiktok/trending/music lists the sounds TikTok is pushing now. GET /v1/tiktok/trending/posts lists the videos on the trending feed. GET /v1/tiktok/search/hashtags?q=… finds hashtags by keyword with their post counts. All three answer with one API key.
Trends move by region and by hour. Read on a schedule and store capturedAt with each row. A trend is a series, not a snapshot.
Checked September 2026 · request and response run against the API · no affiliate links
curl "https://api.openhandle.dev/v1/tiktok/trending/music" \
-H "Authorization: Bearer $OPENHANDLE_API_KEY"import { OpenHandle } from '@openhandle/sdk';
const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
const music = await openhandle.tiktok.trending.music.list();
const hashtags = await openhandle.tiktok.search.hashtags.list({ q: 'orchard' });
for (const sound of music.data) console.log(sound.id, sound.title);{
"platform": "tiktok",
"resource": "music",
"capturedAt": "2026-09-18T12:04:51Z",
"source": "live",
"data": [{ "id": "960000000003", "title": "Synthetic Loop" }],
"meta": { "cursors": { "next": null } }
}Trimmed to one sound. The full record has artist, duration, cover, and usage metrics where TikTok shows them. The example is a Test sound, so you can run it on a free Test key.
From a trend to the videos
- —Videos using a sound.
GET /v1/tiktok/music/{id}/postslists videos that use the sound, newest first. - —Videos under a hashtag.
GET /v1/tiktok/hashtags/{id}/postslists videos for a hashtag. The hashtag ID comes from search. - —Trending categories.
GET /v1/tiktok/trending/categorieslists the category buckets TikTok groups trends into.
Measure a trend, not a moment
Read the trending lists every few hours and store every row with capturedAt. A sound that appears for the first time is a signal. A sound that climbs over three reads is a trend. A hashtag post count read twice, a day apart, gives you the growth rate. None of that exists in a single response.
What TikTok shows, and what it does not
The trending feed is what TikTok shows a logged-out visitor. It is not personalized, and it is not the Creative Center’s regional charts. A metric TikTok hides is null, never 0.
When this does not work
Empty is an answer. A cursor from another request is a mistake.
| Situation | Status | Code |
|---|---|---|
| No hashtags match the query | 200 | empty data |
| The sound or hashtag ID does not exist | 404 | PROFILE_NOT_FOUND |
| The cursor came from another request | 400 | CURSOR_MISMATCH |
{
"error": {
"code": "CURSOR_MISMATCH",
"message": "The cursor does not belong to this request.",
"requestId": "req_01j8…",
"retryable": false
}
}An empty page bills as an answered request. Every trending read is a live read unless you ask for a cache tier.
Read next
More TikTok questions
Send your agent ahead.
Paste the prompt into your agent and it sets everything up. Or come yourself, it takes five minutes.
100 free requests. No card needed.