TikTok Sound Lookup: Metadata & Videos Using It
Pricing
from $0.49 / 1,000 results
TikTok Sound Lookup: Metadata & Videos Using It
Look up any TikTok sound by URL or ID and get back its title, creator, duration, cover art, and streaming links, plus every video currently using that sound with captions, hashtags, and engagement counts.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
vexaloom-labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Give this actor a TikTok sound — by page URL, numeric ID, or a keyword search — and it returns the sound's own metadata and the videos using it. Sound rows carry title, creator and artist, duration, cover art, DSP/streaming IDs, licensing flags, tags and total video count. Video rows carry the author, caption, hashtags, mentions, location, effects, slideshow images and engagement counters. No TikTok login, cookies or API key needed.
What this actor does
- Two modes:
bySoundresolves one or more sound URLs/IDs;searchSoundsdiscovers sounds from one or more keywords. - Complete sound metadata: title, author name, credited
artist/artists, owner handle, language, release info, tags, licensing flags, covers and video count. - DSP and partner IDs:
dspLinksandexternalSongInfoexpose the IDs TikTok holds for Spotify, Apple Music and other partners, without inventing links. - Every video using the sound: request up to 500 per sound, collected 30 at a time and deduplicated by video ID. TikTok can cap the public feed per run, so the actor returns what it can read and reports any shortfall.
- Slideshow-aware: photo posts are labelled
postType: "slideshow"and include theirimagesarray. - Client-side filters: publish window, minimum plays, minimum likes and one-video-per-creator, applied after collection.
- Opt-in error rows: turn on
includeErrorRowswhen you want a machine-readable row for each failed input. - Every empty field is omitted — no nulls or blank placeholders.
Output per sound (rowType: "music")
musicId,musicUrl— sound ID and canonical TikTok page URLmusicTitle,authorName,album— track identityartist— credited artist profile snapshot (id, secUid, username, displayName, bio, verified, avatarUrl)artists— every credited artist TikTok returnsownerHandle,ownerNickname— sound owner identity, when TikTok exposes oneduration,durationHighPrecision,shootDuration— track length and allowed clip lengthlanguage,createTime,createdAt,musicReleaseInfo— release and language metadataisCopyrighted,isCommerceMusic,isUnlimitedMusic,isOriginal,isPrivate— licensing and visibility flagsisPgc,isAuthorArtist,hasCommerceRight,commercialRightType— commercial-use classificationplayUrl,coverLarge,coverMedium,coverThumb— signed audio and cover URLsvideoCount— number of videos using the sound (kept as a string for very large counts)dspLinks— streaming-platform IDs, names and links derived from TikTok's partner dataexternalSongInfo— raw partner IDs (partnerName, partnerSongId, externalSongKey, links)tagList,themeTags— mood, genre and theme tagsmatchedSongId,shareMeta— matched licensed track ID and share textsearchKeyword,searchPosition— lineage when the sound came fromsearchSoundsauthor— creator profile snapshot for the soundrowType: "music"
Output per video (rowType: "post")
postId,postType,postUrl— video identifier,videoorslideshow, and linkmatchedMusicId— the sound this video was collected undersearchKeyword,searchPosition— search lineage when applicablecaption,textLanguage,createTime,createdAt— caption and publish timelocationCreated,poi— country and point-of-interest tag, when presentstitchEnabled,shareEnabled,duetEnabled,isAd— interaction and ad flagsplayCount,likeCount,commentCount,shareCount,collectCount,repostCount— engagement countershashtags—{name, id, isCommerce}entriesmentions—{username, userId, secUid, userUniqueId, start, end}entries from TikTok's mention metadataauthor— full author snapshot with bio, avatar and follower/heart/video countsmusic— the sound object embedded in the video (id, title, authorName, album, playUrl, coverUrl, dspLinks)video— width, height, duration, ratio, definition, bitrate, codec, format, size, quality and cover URLsimages— slideshow image URLs with width/height forpostType: "slideshow"effectStickers— effects used in the videomediaUrlExpiresAt— expiry timestamp for signed media URLsrowType: "post"
Output per failed input (rowType: "error", opt-in)
errorCode—invalid_music_input,sound_unavailable,no_search_results,feed_blockedorblockederrorMessage— plain-language explanationinputValue,musicId,searchKeyword— which input failed
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | bySound | bySound / searchSounds |
musicUrls | array | – | Sound page URLs (mode=bySound) |
musicIds | array | – | Numeric sound IDs, 15–20 digits (mode=bySound) |
searchQueries | array | – | Keywords to search (mode=searchSounds) |
maxSoundsPerQuery | integer | 10 | Sounds kept per keyword, 1–30 |
maxPostsPerSound | integer | 30 | Videos per sound, 0–500; 0 means metadata only |
includeMusicMetadata | boolean | true | Emit sound metadata rows |
includePosts | boolean | true | Emit video rows |
includeErrorRows | boolean | false | Emit rows for failed inputs |
publishedWithin | string | all | all / day / week / month / year (video rows) |
minPlayCount | integer | 0 | Drop videos below this play count |
minLikeCount | integer | 0 | Drop videos below this like count |
uniqueCreatorsOnly | boolean | false | Keep the highest-play video per author |
Example: one sound by URL
{"mode": "bySound","musicUrls": ["https://www.tiktok.com/music/original-sound-7595604258835401494"],"maxPostsPerSound": 100}
Example: several sounds by ID
{"mode": "bySound","musicIds": ["6799585653702019073", "7181527934435117058"],"maxPostsPerSound": 50,"includeErrorRows": true}
Example: keyword discovery with filters
{"mode": "searchSounds","searchQueries": ["lofi", "phonk", "afrobeats"],"maxSoundsPerQuery": 10,"maxPostsPerSound": 30,"publishedWithin": "month","minPlayCount": 10000,"uniqueCreatorsOnly": true}
Example: metadata only
{"mode": "bySound","musicIds": ["6799585653702019073"],"includeMusicMetadata": true,"includePosts": false,"maxPostsPerSound": 0}
Use cases
- A&R and label teams tracking how a track spreads and which creators are driving it
- Brand and campaign teams checking a sound's licensing flags, DSP IDs and audience before using it
- Trend researchers discovering sounds by keyword and pulling the videos that define each trend
- Rights-management teams auditing reuse of licensed or copyrighted tracks
- Creator-discovery platforms finding the highest-performing video per creator for a sound
- Music catalogues enriching tracks with TikTok's artist, release and streaming-partner identifiers
FAQ
Do I need a TikTok account or cookies? No. The actor reads public sound and video data without a login, cookie or API key.
Where do I find a sound's ID? Open the sound page on TikTok; the URL ends in /music/<name>-<digits>. The trailing digits are the ID, and you can paste either the full URL or the number.
What is the difference between authorName and artist? authorName is the label TikTok shows for the sound. artist and artists are the credited performer profiles TikTok returns for licensed tracks. For user-recorded sounds the artist fields are usually absent.
Why are dspLinks or externalSongInfo missing for some sounds? Streaming-partner IDs only exist for licensed commercial tracks. Original user sounds do not have them, and the field is omitted rather than filled with a guess.
How many sounds can one keyword return? TikTok returns up to 30 sounds per query and does not paginate this catalogue, so maxSoundsPerQuery is capped at 30. Use several keywords to broaden coverage; duplicates are removed across queries.
Why did I get fewer videos than the sound's video count? The actor collects up to maxPostsPerSound (maximum 500) from the public feed. TikTok may return fewer items for very old, private or region-restricted posts, and it can cap anonymous feed pages per IP. When that happens the actor returns everything it could read and reports the shortfall in the run status. Large pulls are read 30 videos at a time and can take several minutes to finish.
Why do some slideshow videos have no playback URL? Photo posts use images instead of a video file; their postType is slideshow and the video object may only carry covers and dimensions.
Are playUrl, covers and video URLs permanent? No. TikTok signs media URLs with a short expiry. Treat them as temporary and download promptly if you need the media itself.
Do the filters apply to sound rows too? No. publishedWithin, minPlayCount, minLikeCount and uniqueCreatorsOnly apply to video rows after collection. Sound rows are always returned for the inputs you asked for.
Is this affiliated with TikTok? No. This is an independent actor that reads TikTok's public sound and video data; it is not endorsed by or affiliated with TikTok or ByteDance.