TikTok Sound Scraper - Videos by Song, Music ID or URL avatar

TikTok Sound Scraper - Videos by Song, Music ID or URL

Pricing

Pay per event

Go to Apify Store
TikTok Sound Scraper - Videos by Song, Music ID or URL

TikTok Sound Scraper - Videos by Song, Music ID or URL

Scrape every TikTok video that used a sound. Paste the music link from any video or the bare id and get the videos with captions, authors, views, likes, comments and shares, plus a row describing the track itself.

Pricing

Pay per event

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Categories

Share

TikTok Sound Scraper: every video that used a song

Paste the music link from any TikTok video, or the bare sound id, and get every video that used that sound: caption, author, follower count, views, likes, comments, shares, post date and the media addresses. Plus one row describing the track itself.

No login, no API key, no TikTok developer account.

What you get

Per video: video_id, url, description, created_at, handle, nickname, author_id, author_verified, follower_count, author_video_count, play_count, like_count, comment_count, share_count, collect_count, duration_seconds, width, height, cover_url, play_url, download_url, hashtags, is_ad, and the sound_id the row belongs to.

Per sound: music_id, music_title, music_author, music_url, music_cover_url, music_duration_seconds, music_is_original, music_album, and videos_returned.

Optional: eight extra author fields, and downloads of the videos, thumbnails, avatars, sound artwork and photo-post slideshow images into the run's key-value store.

Why a sound is the unit worth tracking

On TikTok a sound is a format. When a track starts moving, the accounts using it are the accounts about to get reach, and the ones who got there first are visible in the post dates. A record label, a brand and a creator all want the same export from that: who used it, how big they are, how well it did for them, and when.

The app shows you a sound page and no way to export it. This is that page as rows.

Where to find a sound id

Open any TikTok video and the sound is the link at the bottom. It looks like:

https://www.tiktok.com/music/original-sound-7286756730682476546
https://www.tiktok.com/music/Dance-Monkey-6745334339318729474

Paste the whole link or just the number at the end. The words in the middle are decorative and are ignored; the number is what resolves. Anything that is neither a sound link nor a plausible id is reported by name rather than silently skipped, so a run of fifty tells you exactly which line was wrong.

This one pages properly

Unlike a lot of TikTok surfaces, the sound feed is a real paginated feed: about 30 videos per request with a working cursor, measured at 0.5 to 0.7 seconds a page. Three pages returned 87 distinct videos.

So maxVideosPerSound is the honest control over both time and cost. There is no re-asking trick and no rotation to work around.

The track's own details come off the first video

TikTok's sound page renders nothing on the server: there is no track record on it to read, and the endpoint that would return one answers with an error. So the title, author, artwork, duration and whether it is an original or a licensed track are read off the first video in the feed, where TikTok includes them in full.

That has one consequence worth stating plainly. A sound with no videos gets no sound row, because there is nothing to read it from. The run reports soundsWithoutVideos so an empty answer reads as empty rather than as a failure.

Filters cost pages, and the summary says so

Every filter is applied to the rows the run collected. The feed takes no date or popularity parameter, so a narrow window reads more pages and returns fewer rows. The summary carries videosScanned, videosRejectedByFilters and pagesRead so the cost of a filter is visible rather than hidden.

Input

FieldTypeNotes
soundsarrayMusic links or bare ids, one per line. Required.
maxVideosPerSoundintegerDefault 60, up to 400. About 30 per request.
resultsPerPageinteger1 to 30, default 30.
sortByselectrelevance, most_liked, most_viewed, most_commented, most_shared, newest, oldest.
oldestPostDatestringYYYY-MM-DD, an ISO timestamp, or 7 days / 3 months.
newestPostDatestringSame formats.
leastDiggsintegerMinimum likes.
mostDiggsintegerMaximum likes. Useful for finding small accounts.
excludeAdsbooleanDrop rows TikTok marks as advertising.
scrapeAdditionalAuthorMetabooleanEight extra author fields. Free.
shouldDownloadVideosbooleanStore the MP4 and put a working link on the row.
shouldDownloadCoversbooleanStore the thumbnail.
shouldDownloadAvatarsbooleanStore the author avatar.
shouldDownloadMusicCoversbooleanStore the sound artwork.
shouldDownloadSlideshowImagesbooleanStore each image of a photo post.
maxMediaDownloadsintegerCeiling across every download option. Default 50.
countrystringTwo-letter code. Feeds are regional.
languagestringTwo-letter code.
proxyCountryCodestringWhere the request should appear to come from.

A raw media address from TikTok returns 403 to anyone who pastes it elsewhere. Turn on a download option and the file lands in the run's key-value store with a public link on the row, which works anywhere.

Photo posts have no video at all. Those rows carry slideshow_images, and the slideshow option stores each image.

What people use this for

Catching a sound early. Sort by oldest and the first users of a track are the top rows. Run the same sound weekly and the growth is the row count.

Creator discovery. Everyone using a sound, with follower counts, filtered to accounts below a ceiling. That is a list of creators in a format, priced before they are expensive.

Rights and licensing. music_is_original separates a creator's own audio from a licensed track, and music_album names the release when there is one.

Campaign measurement. A branded sound run daily gives the number of videos, the total views across them and who posted, without asking anyone to report it.

Notes

View, like and comment counts are live and change through the day. A run is a snapshot.

A sound with no videos, or an id that is not a sound, is reported with the reason rather than returning an empty table that reads as a track nobody used.

Free Apify plans are capped at 10 results per run. The run stops collecting at that point rather than paging the whole feed and discarding it.