TikTok music videos API
List public TikTok posts that reuse a specific sound, keyed by music clip id, with cursor pagination in the shared Social Fetch envelope.
GET /v1/tiktok/music/{clipId}/videos1 credit per successful request.
About this endpoint
Sound pages are how a lot of TikTok discovery actually works: a track goes viral, then hundreds of creators stitch the same clip. Brand monitors, rights teams, and trend dashboards need the post list for that clipId, not a keyword search that may miss the audio match.
`GET /v1/tiktok/music/{clipId}/videos` takes the numeric music clip id from a TikTok music URL (for example the trailing digits in `https://www.tiktok.com/music/Title-7439295283975702544`). The response returns `data.clipId`, a `data.videos` array, and `data.page` (`hasMore`, `nextCursor`). Each video row matches the profile-feed shape: id, caption, createdAt, url, thumbnailUrl, durationMs, pinned, isAd, engagement stats, and media download URLs. Pass optional `cursor` when `data.page.hasMore` is true.
This route has no `lookupStatus`. An empty `data.videos` array can mean no public posts use the clip, or other cases. Pricing is on the credit badge for this operation; bill from `meta.creditsCharged`. on every response. For sound metadata alone use `GET /v1/tiktok/songs`. For a single post by URL use `GET /v1/tiktok/videos`. For a creator's own uploads use `GET /v1/tiktok/profiles/{handle}/videos`.
TikTok music videos API FAQ
How do I list TikTok videos for a music clip via API?
Call `GET /v1/tiktok/music/{clipId}/videos` with your Social Fetch API key (`x-api-key`) and the numeric music clip id in the path. Read `data.videos` and `data.page` in the JSON response. Full parameters and examples are in the API docs.
Where do I get the TikTok music clipId?
From a public TikTok music URL. The clipId is the numeric id at the end of paths like `https://www.tiktok.com/music/Title-7439295283975702544`. You can also pull it from video payloads that include music metadata when you already resolved a post.
How much does the TikTok music videos endpoint cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
How does pagination work on TikTok music videos?
When `data.page.hasMore` is true, pass `data.page.nextCursor` as the `cursor` query param on the next request. Keep the same `clipId` across pages. The cursor is opaque — do not invent or parse it.
What does each music-clip video row include?
The same shape as profile feed rows: id, caption, createdAt, url, thumbnailUrl, durationMs, pinned, isAd, stats (views, likes, comments, shares, saves), and media download URLs. Optional `details` may carry extra TikTok-native fields that are not duplicated at the top level.
Why is data.videos empty for a clipId that looks valid?
This route has no `lookupStatus`. An empty array can mean no public videos use this music clip, or other cases. Do not treat an empty list as a hard "clip not found" signal without additional checks.
How is this different from song metadata, profile videos, or keyword search?
This route pages posts that reuse one music clip id. `GET /v1/tiktok/songs` returns metadata for one sound. `GET /v1/tiktok/profiles/{handle}/videos` pages a creator's feed by handle. `GET /v1/tiktok/search` is free-text keyword discovery. Use music videos when the sound is the join key for the post list.
Do I need TikTok OAuth to list videos for a sound?
No. You authenticate to Social Fetch with an API key. The route reads public music-clip video data; it does not act on behalf of a logged-in TikTok user.
Other TikTok endpoints
- ProfileGET /v1/tiktok/profiles/{handle}
- Profile videosGET /v1/tiktok/profiles/{handle}/videos
- Profile followersGET /v1/tiktok/profiles/{handle}/followers
- Profile followingGET /v1/tiktok/profiles/{handle}/following
- Profile regionGET /v1/tiktok/profiles/{handle}/region
- Profile audienceGET /v1/tiktok/profiles/{handle}/audience
- Live streamGET /v1/tiktok/profiles/{handle}/live
- User searchGET /v1/tiktok/users/search