TikTok Sound Scraper - Music & Audio
Pricing
from $2.39 / 1,000 tiktok sounds
TikTok Sound Scraper - Music & Audio
Scrape TikTok sounds and music: title, artist, album, usage count, audio and cover URLs, commercial-use flags, plus every video using the sound with views, likes and creator. Use sound URLs, clip IDs or search.
Pricing
from $2.39 / 1,000 tiktok sounds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
TikTok Sound Scraper - Music & Audio
TikTok Sound Scraper extracts TikTok sound and music data, including title, artist, album, how many videos use the sound, audio preview and cover URLs, and commercial-use flags, plus the videos that use each sound with views, likes, comments and creator details. It works from TikTok sound URLs, raw clip IDs, or a sound search.
| Paste a TikTok sound link, a clip ID or a keyword and get one clean row per sound with its usage count, matched song and artist profiles, plus up to thousands of video rows per sound with play, like, comment, share and save counts. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use Apify Actor parsebird/tiktok-sound-scraper to scrape TikTok sounds (music and original audio) and the videos that use them. Example with ApifyClient (Python): client.actor("parsebird/tiktok-sound-scraper").call(run_input={"soundUrls":["https://www.tiktok.com/music/luther-7439295283975702544"],"outputMode":"sounds_and_videos","maxVideosPerSound":25}). Inputs (at least one of soundUrls, startUrls, clipIds, searchQueries is required): soundUrls array of strings (TikTok /music/ URLs or vm.tiktok.com short links); startUrls array of {url} (same, request-list format); clipIds array of strings (15-21 digit sound IDs); searchQueries array of strings (keywords for TikTok sound search); outputMode string ("sounds_and_videos" default, "sounds", "videos"); maxSounds integer (default 50, unique sounds across all inputs); maxSearchResultsPerQuery integer (default 10); maxVideosPerSound integer (default 30, 0 = no videos); maxPagesPerSound integer (default 10, about 10-13 videos per page); filterBy string ("all" default, "title", "creators"; search only); sortType string ("relevance" default, "most_used", "most_recent", "shortest", "longest"; re-sorts search results); region string (2-letter country code, default "US"); providerOrder string ("app_first" default, "web_first", "app_only", "web_only"; web_only saves no videos); includeRawData boolean (default false). Output: dataset rows with recordType "sound" or "video". Sound rows: clipId, soundUrl, title, author, album, durationSeconds, fullSongDurationMs, userCount (videos using the sound), createdAt, isOriginal, isOriginalSound, isCommerceMusic, hasCommerceRight, canReuse, language, coverUrl, audioUrl, shareUrl, matchedSongId, matchedSongTitle, matchedSongAuthor, themeTags, artists[{uid, secUid, username, nickname, isVerified}]. Video rows: clipId, soundTitle, soundAuthor, videoPosition, videoId, videoUrl, caption, createdAt, authorId, authorSecUid, authorUsername, authorNickname, authorVerified, region, durationMs, playCount, likeCount, commentCount, shareCount, collectCount, hashtags, coverUrl. Every row also has provider, inputType, inputValue, searchQuery, scrapedAt. A RUN_SUMMARY record in the default key-value store lists counts and failed inputs. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
What is TikTok Sound Scraper?
TikTok Sound Scraper is a TikTok music scraper and TikTok sound API alternative. Give it a TikTok sound page such as luther by Kendrick Lamar & SZA, a clip ID, or a search keyword, and it returns the sound's metadata and the TikTok videos made with it as structured data. No TikTok account, cookies or API key are needed.
The easiest way to try it: open the Input tab, keep the prefilled sound URL, and click Start. You get one sound row and 10 video rows in a few seconds.
What can TikTok Sound Scraper do?
- 🎵 Scrape TikTok sound details: title, artist, album, duration, creation date, cover art, audio preview URL, theme tags and the matched full song
- 📈 Get the usage count:
userCountis the number of TikTok videos made with the sound, the same number TikTok shows on the sound page - 🎬 List videos using a sound: video URL, caption, hashtags, creator, verified badge, region, and play, like, comment, share and save counts
- 🔎 Find sounds by keyword with TikTok's sound search, filter by title or creator, and re-sort by usage, recency or length
- 💼 Check commercial use:
isCommerceMusic,hasCommerceRight,isOriginalSoundandcanReuseflags for brand and ad workflows - 🔁 Three input modes in one run: sound URLs (including short links), raw clip IDs, and search queries, deduplicated by clip ID
- ⚙️ Platform features: run it on a schedule to track a sound's growth, call it through the Apify API, connect it to integrations such as Google Sheets, Make or Zapier, and export results as JSON, CSV, Excel, XML or HTML
What data can you extract from TikTok sounds?
Every dataset row has a recordType of sound or video.
Sound rows
| Field | Description |
|---|---|
clipId | TikTok sound ID (the number at the end of the sound URL) |
title, author, album | Sound title, artist or creator, and album |
userCount | Number of TikTok videos that use the sound |
durationSeconds | Length of the TikTok clip in seconds |
fullSongDurationMs | Length of the full matched song in milliseconds |
matchedSongId, matchedSongTitle, matchedSongAuthor | The catalog song TikTok matched to the sound |
isOriginalSound, isCommerceMusic, hasCommerceRight, canReuse | Original-audio and commercial-use flags as TikTok reports them |
themeTags, language | Mood/genre tags and reported language |
artists | Linked TikTok artist profiles (username, nickname, secUid, verified) |
coverUrl, audioUrl | Cover art and the audio preview file |
createdAt | When the sound was created on TikTok |
Video rows
| Field | Description |
|---|---|
videoId, videoUrl, videoPosition | The video and its position in the sound's video list |
caption, hashtags | Video caption and hashtags |
authorUsername, authorNickname, authorVerified, authorId, authorSecUid | Video creator |
playCount, likeCount, commentCount, shareCount, collectCount | Engagement counts |
durationMs, region, createdAt, coverUrl | Video length, region, publish time and thumbnail |
soundTitle, soundAuthor, clipId | The sound the video uses |
How to scrape TikTok sounds
- Open TikTok Sound Scraper and click Try for free.
- Paste one or more TikTok sound URLs (open a sound in the TikTok app or website, then Share → Copy link), add clip IDs, or type search keywords.
- Choose What to save: sounds and videos, sounds only, or videos only.
- Set Max sounds and Max videos per sound to control how much data you collect.
- Click Start and wait for the run to finish.
- Download the results from the Output tab as JSON, CSV, Excel, XML or HTML, or read them through the API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
soundUrls | array | One input type | — | TikTok sound URLs such as https://www.tiktok.com/music/luther-7439295283975702544, or vm.tiktok.com short links that redirect to a sound page |
startUrls | array | One input type | — | Same as soundUrls, in Apify request-list format ([{"url": "..."}]) |
clipIds | array | One input type | — | Raw 15-21 digit TikTok sound IDs |
searchQueries | array | One input type | — | Keywords for TikTok sound search |
outputMode | string | No | sounds_and_videos | sounds_and_videos, sounds or videos |
maxSounds | integer | No | 50 | Maximum unique sounds across all inputs |
maxVideosPerSound | integer | No | 30 | Maximum videos saved per sound (0 = none) |
maxSearchResultsPerQuery | integer | No | 10 | Maximum sounds taken from each search |
maxPagesPerSound | integer | No | 10 | Safety cap on video pages per sound (about 10-13 videos per page) |
filterBy | string | No | all | Search in all, title or creators |
sortType | string | No | relevance | relevance, most_used, most_recent, shortest or longest |
region | string | No | US | Two-letter country code sent to TikTok with each request |
providerOrder | string | No | app_first | Data source order for sound details: app_first, web_first, app_only, web_only |
includeRawData | boolean | No | false | Add the raw TikTok payload to each row as rawData |
Focused input example
{"soundUrls": ["https://www.tiktok.com/music/luther-7439295283975702544"],"outputMode": "sounds_and_videos","maxSounds": 1,"maxVideosPerSound": 25,"maxPagesPerSound": 5,"includeRawData": false}
Search example
{"searchQueries": ["espresso sabrina carpenter", "phonk"],"maxSearchResultsPerQuery": 5,"sortType": "most_used","outputMode": "sounds"}
Output example
A sound row and a video row from a real run (long URLs shortened):
[{"recordType": "sound","provider": "tiktok-app","inputType": "url","inputValue": "https://www.tiktok.com/music/luther-7439295283975702544","clipId": "7439295283975702544","soundUrl": "https://www.tiktok.com/music/luther-7439295283975702544","title": "luther","author": "Kendrick Lamar & SZA","album": "GNX","durationSeconds": 59,"fullSongDurationMs": 177599,"userCount": 1425218,"createdAt": "2024-11-22T23:15:12Z","isOriginal": false,"isOriginalSound": false,"isCommerceMusic": true,"hasCommerceRight": false,"canReuse": true,"language": "English","coverUrl": "https://p9-sg.tiktokcdn.com/aweme/720x720/tos-alisg-v-2774/ooCBAEtE4DqIfBLAjADiRIneQATZEYFgAh8tm8.jpeg","audioUrl": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/o8f9CfEFDdCEDUAq6gDqgOY4gQNfJHzxhF2ayE","shareUrl": "https://www.tiktok.com/music/luther-7439295283975702544","matchedSongId": "7440101671265486864","matchedSongTitle": "luther","matchedSongAuthor": "Kendrick Lamar & SZA","themeTags": ["Love"],"artists": [{"uid": "7486547994222740523","secUid": "MS4wLjABAAAAvpZK1VKUmXciE56qu5sbLqcbmzfEMwPaisV4CKQXH7JzitoUooisLwlAWcZ5oW2W","username": "sza","nickname": "SZA","isVerified": true}],"scrapedAt": "2026-10-22T12:31:28.773Z"},{"recordType": "video","provider": "tiktok-app","inputType": "url","clipId": "7439295283975702544","soundTitle": "luther","soundAuthor": "Kendrick Lamar & SZA","videoPosition": 1,"videoId": "7502954579814845726","videoUrl": "https://www.tiktok.com/@sza/video/7502954579814845726","caption": "THANK YOU KENDRICK FOR COMING TO YESTERDAY’S @NotBeauty POP UP !!!!","createdAt": "2025-05-10T22:56:11Z","authorUsername": "sza","authorNickname": "SZA","authorVerified": true,"region": "US","durationMs": 23467,"playCount": 2944107,"likeCount": 227300,"commentCount": 1581,"shareCount": 4549,"collectCount": 13500,"hashtags": null,"coverUrl": "https://p16-common-sign.tiktokcdn.com/...jpeg","scrapedAt": "2026-10-22T12:31:28.780Z"}]
All rows share the same columns, and fields that don't apply to a row type are null. The run also saves a RUN_SUMMARY record in the default key-value store with row counts, search results per query and any inputs that failed.
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("parsebird/tiktok-sound-scraper").call(run_input={"soundUrls": ["https://www.tiktok.com/music/luther-7439295283975702544"],"outputMode": "sounds_and_videos","maxVideosPerSound": 50,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row["recordType"] == "sound":print(row["title"], row["author"], row["userCount"], "videos")else:print(row["videoUrl"], row["playCount"], row["authorUsername"])
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('parsebird/tiktok-sound-scraper').call({searchQueries: ['phonk'],maxSearchResultsPerQuery: 10,sortType: 'most_used',outputMode: 'sounds',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((s) => console.log(`${s.title} by ${s.author}: ${s.userCount} videos`));
Use cases
- Music marketing and A&R: track how many TikTok videos use a track and who the top creators using it are
- Trend monitoring: schedule daily runs on a list of sounds and chart
userCountgrowth over time - Influencer discovery: find creators with high play counts who already use a brand's or artist's sound
- Ad and content planning: check
isCommerceMusicandhasCommerceRightbefore choosing a sound for branded content - Research datasets: collect sound metadata and engagement data for academic or market research
How it works
- Sound URLs and short links are parsed (or resolved) to TikTok clip IDs. Search keywords go through TikTok's sound search.
- Sound details are read from TikTok's app video feed for the sound and from TikTok's web sound search. With the default
app_firstorder, the app feed gives the base record and the search fills in fields it lacks, such asuserCount. Sounds found by search start from the search record. - Videos using the sound are paged from TikTok's app video feed until
maxVideosPerSoundormaxPagesPerSoundis reached. Only videos that really use the requested sound are kept, and duplicates are dropped. - Rows are saved to the dataset as they're collected, so you can watch results arrive during the run.
How much does it cost to scrape TikTok sounds?
What is the price per TikTok sound and video?
TikTok Sound Scraper uses pay-per-event pricing with two events. Compute and proxy costs are included in the event prices.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
sound-scraped: TikTok sound | $0.00299 ($2.99 / 1,000) | $0.00279 ($2.79 / 1,000) | $0.00259 ($2.59 / 1,000) | $0.00239 ($2.39 / 1,000) |
video-scraped: TikTok video using the sound | $0.00149 ($1.49 / 1,000) | $0.00139 ($1.39 / 1,000) | $0.00129 ($1.29 / 1,000) | $0.00119 ($1.19 / 1,000) |
A sound-scraped event is one sound row saved to the dataset. A video-scraped event is one video row that uses the target sound saved to the dataset. Sounds that can't be found and inputs that fail are not charged. For example, 10 sounds with 100 videos each cost 10 × $0.00299 + 1,000 × $0.00149 = $1.52 on the Free plan. Apify's free plan includes monthly platform credits you can use to try the actor.
How do I keep costs predictable?
Choose Sounds only if you just need metadata and usage counts, and set Max videos per sound to the number of videos you need. The run stops by itself when your spending limit is reached.
Is it legal to scrape TikTok sounds?
TikTok Sound Scraper only collects data that TikTok shows publicly to anyone without logging in: sound pages, sound search results and public videos. It doesn't log in or access private accounts. Video rows include public creator usernames, which can be personal data under laws such as the GDPR and CCPA, so use the data for legitimate purposes. Music and audio files remain protected by copyright, so check the rights before reusing any audio. Read Apify's guide on whether web scraping is legal, and consult a lawyer if you're unsure.
Other TikTok scrapers and related Actors
| Actor | What it does |
|---|---|
| TikTok Trends Scraper | Trending hashtags, videos, sounds and creators |
| TikTok Video Downloader | Download TikTok videos as MP4 |
| TikTok Slideshow Downloader | Download photo-mode posts as image files |
| TikTok Live Search Scraper | LIVE rooms for a keyword with viewers and creators |
| TikTok Influencer Email Finder | Public emails and social links of TikTok creators |
| TikTok Ads Scraper | TikTok Creative Center top ads |
| Instagram Reels Audio Scraper | Instagram Reels audio and the reels that use it |
| Spotify Play Count Scraper & API | Spotify track play counts |
| SoundCloud Scraper | SoundCloud tracks, artists and playlists |
FAQ
Does TikTok Sound Scraper need a TikTok account or API key? No. It reads public TikTok data only and needs no login, cookies or TikTok API access.
Where do I find a TikTok sound URL or clip ID?
Tap the sound name under any TikTok video to open the sound page, then use Share → Copy link. The clip ID is the long number at the end of the URL, for example 7439295283975702544 in https://www.tiktok.com/music/luther-7439295283975702544.
What does userCount mean?
It's the number of TikTok videos made with the sound, the figure TikTok shows on the sound page. It comes from TikTok's sound search, so with app_only it's null.
How many videos can I get per sound?
TikTok returns about 10-13 videos per page. The defaults (maxVideosPerSound 30, maxPagesPerSound 10) load up to 30. Raise both limits for more. In our tests a single sound paged past 160 videos without stopping. TikTok decides the order of the list and doesn't let you sort it by date or views.
Why did a clip ID fail with web_only?
The web source finds sounds through search, so it needs the sound's title. That comes from the URL (/music/<title>-<id>) or from the app source. Use a full sound URL, or keep the default app_first.
Does sortType sort TikTok's whole catalog?
No. TikTok's sound search returns results in relevance order. For any other sort, the actor loads up to 3 times your per-search limit and re-sorts that pool before keeping the top results.
Is audioUrl the full song?
It's the audio file TikTok serves for the sound, which is usually the TikTok clip (see durationSeconds), not the full track.
Can I schedule runs or use the data in other tools? Yes. Use Apify schedules for recurring runs, the API tab for code access, and integrations to send rows to Google Sheets, Airtable, Make or Zapier.
Something is missing or wrong. Where do I report it? Open an issue on the Issues tab with the input you used, and we'll look into it.