TikTok Sound Scraper - Music Metadata & Videos avatar

TikTok Sound Scraper - Music Metadata & Videos

Pricing

from $3.00 / 1,000 scraped tiktok sounds

Go to Apify Store
TikTok Sound Scraper - Music Metadata & Videos

TikTok Sound Scraper - Music Metadata & Videos

Scrape TikTok sound metadata, audio preview links, artist details, usage counts, and videos using a sound. Provider-backed with ScrapeCreators primary and SociaVault fallback. MCP/API-ready.

Pricing

from $3.00 / 1,000 scraped tiktok sounds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

60

Total users

25

Monthly active users

2 days ago

Last modified

Share

TikTok Sound Scraper is an Apify Actor for people and systems that work from TikTok sound references and need normalized data in the default dataset. It accepts TikTok music URLs, raw clip IDs, or music search queries, and it returns one record per saved sound or one record per saved video using that sound. The most useful fields include clipId, soundUrl, title, author, album, userCount, audioUrl, coverUrl, shareUrl, plus video fields such as videoId, videoUrl, authorUsername, playCount, likeCount, and hashtags. The outcome is a structured dataset for analytics, creator research, trend monitoring, and AI-agent workflows.

This Actor is provider-backed with ScrapeCreators as the primary provider and SociaVault as fallback. It is usable through Apify MCP and through the Apify API.

Best fit and connected workflows

This Actor fits workflows that start with a TikTok sound reference and end with a structured list of the sound itself and the videos that use it.

Use it when you want to:

  • turn a TikTok /music/ URL into normalized sound metadata,
  • resolve a raw clip ID into a sound record,
  • discover sounds through TikTok music search and then collect the related sound and video rows,
  • export creator and engagement fields for downstream analysis,
  • feed sound metadata into another TikTok workflow.

For discovery-first workflows, a natural upstream step is [TikTok Search Scraper - [Videos, Hashtags & Users]](the referenced Actor page), which can surface public TikTok records that you can then pass into this Actor by sound URL or ID. When your starting point is a trend feed, TikTok Trending Videos Scraper is another upstream source of public TikTok records that can lead into sound-focused analysis.

Practical scenario

Maya is reviewing a campaign brief that includes a TikTok music link. She starts with the sound URL https://www.tiktok.com/music/luther-7439295283975702544 and runs the Actor with outputMode set to sounds_and_videos.

The dataset returns a sound row with title, author, album, userCount, audioUrl, and shareUrl, plus video rows with videoId, videoUrl, authorUsername, playCount, likeCount, and caption. Maya uses the userCount and video engagement fields to decide which creators to review next, then opens the listed videoUrl records for a manual content check.

Input fields

FieldTypePurpose
soundUrlsarray of stringsTikTok sound/music URLs
startUrlsarray of request sourcesApify-style URL input for TikTok /music/ URLs
clipIdsarray of stringsRaw TikTok sound clip IDs
searchQueriesarray of stringsMusic search queries that use SociaVault search
outputModestringSave sound metadata, videos, or both
providerOrderstringProvider sequence for sound details and videos
maxSoundsintegerMaximum unique sounds to process
maxSearchResultsPerQueryintegerMaximum sounds discovered per search query
maxVideosPerSoundintegerMaximum videos saved for each sound
maxPagesPerSoundintegerSafety cap for provider pagination per sound
regionstringAlpha-2 region used for SociaVault search
filterBystringSociaVault search filter: all, title, or creators
sortTypestringSociaVault search sort mode
includeRawDatabooleanInclude raw provider payloads on each row

Focused input example

{
"soundUrls": [
"https://www.tiktok.com/music/luther-7439295283975702544"
],
"outputMode": "sounds_and_videos",
"providerOrder": "scrapecreators-first",
"maxSounds": 1,
"maxVideosPerSound": 25,
"maxPagesPerSound": 5,
"includeRawData": false
}

Output fields

The default dataset contains normalized sound rows and video rows. Each row includes a recordType and a provider.

FieldTypePurpose
recordTypestringsound or video
providerstringProvider that returned the row
inputTypestring or nullurl, clipId, or search
inputValuestring or nullOriginal URL, clip ID, or query
searchQuerystring or nullQuery that discovered the sound
clipIdstring or nullTikTok sound clip ID
soundUrlstring or nullTikTok music page URL
titlestring or nullSound title
authorstring or nullSound author or artist
albumstring or nullAlbum name when available
durationSecondsnumber or nullSound clip duration
fullSongDurationMsnumber or nullMatched full song duration
userCountinteger or nullNumber of TikTok videos using the sound
createdAtstring or nullSound or video creation timestamp
isOriginalboolean or nullTikTok original flag
isOriginalSoundboolean or nullTikTok original audio flag
isCommerceMusicboolean or nullCommerce music flag
hasCommerceRightboolean or nullProvider-reported commerce right
canReuseboolean or nullReuse or shooting flag when exposed
languagestring or nullReported language
coverUrlstring or nullCover art or thumbnail URL
audioUrlstring or nullProvider-returned audio preview URL
shareUrlstring or nullProvider-returned TikTok share URL
matchedSongIdstring or nullMatched catalog song ID
matchedSongTitlestring or nullMatched catalog song title
matchedSongAuthorstring or nullMatched catalog song author
themeTagsarray or nullGenre or mood tags
artistsarray or nullArtist profile objects
soundTitlestring or nullSound title on video rows
soundAuthorstring or nullSound author on video rows
videoPositioninteger or nullPosition in the returned video list
videoIdstring or nullTikTok video ID
videoUrlstring or nullTikTok video URL
captionstring or nullVideo caption text
authorIdstring or nullVideo author ID
authorSecUidstring or nullTikTok secure user ID
authorUsernamestring or nullVideo author username
authorNicknamestring or nullVideo author display name
authorVerifiedboolean or nullWhether the author is verified
regionstring or nullVideo region when returned
durationMsinteger or nullVideo duration in milliseconds
playCountinteger or nullVideo play count
likeCountinteger or nullVideo like count
commentCountinteger or nullVideo comment count
shareCountinteger or nullVideo share count
collectCountinteger or nullVideo save count
hashtagsarray or nullHashtags detected in the video
scrapedAtstringTimestamp when the row was saved

Illustrative output record

{
"recordType": "sound",
"provider": "scrapecreators",
"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,
"userCount": 482194,
"coverUrl": "https://p16-sg.tiktokcdn.com/aweme/720x720/example.jpeg",
"audioUrl": "https://sf16-ies-music-sg.tiktokcdn.com/obj/example",
"shareUrl": "https://www.tiktok.com/music/luther-7439295283975702544",
"matchedSongTitle": "luther",
"matchedSongAuthor": "Kendrick Lamar & SZA",
"scrapedAt": "2026-06-10T00:00:00.000Z"
}

How it works

The Actor accepts direct music URLs, request-list style start URLs, raw clip IDs, and optional search queries.

Implementation facts from the live contract:

  • ScrapeCreators is the recommended primary provider for sound details and videos.
  • SociaVault is the fallback provider.
  • SociaVault search powers searchQueries.
  • outputMode selects whether rows include sounds, videos, or both.
  • maxSounds, maxSearchResultsPerQuery, maxVideosPerSound, and maxPagesPerSound bound collection size and provider pagination.
  • includeRawData adds raw provider payloads to each saved row for debugging and downstream parsing.
  • Output rows are stored in the default dataset, and RUN_SUMMARY is stored in the key-value store.

Pricing

This Actor uses Pay per event plus Apify platform usage. The live Pricing tab shows the current pricing details, so check it before each run.

Event examples from the live contract:

  • Actor start: charged when the Actor begins running.
  • Scraped TikTok sound: charged for each saved sound metadata row.
  • Scraped TikTok video using sound: charged for each saved video row.

For example, one run that saves two sound rows and ten video rows consumes twelve scrape events, plus the Actor start event and any Apify platform usage associated with the run. Use the Pricing tab for the current rates and total cost calculation.

Use with AI agents (MCP)

This Actor is an Apify Actor usable through Apify MCP. It retrieves TikTok sound metadata and video rows from accepted inputs and returns normalized dataset records plus run summary telemetry.

Exact Actor identity: khadinakbar/tiktok-sound-scraper

Use it when an agent needs a structured TikTok music record, a list of videos using a sound, or a sound discovered from search.

Find the TikTok sound behind this URL, save the sound metadata, and return the first 10 videos using it. Use the default provider order, keep raw provider data off, and summarize the sound title, author, usage count, and top creator handles.

Output interpretation:

  • recordType = "sound" identifies the music-level row.
  • recordType = "video" identifies a video that uses the sound.
  • provider shows whether ScrapeCreators or SociaVault returned the row.
  • scrapedAt marks when the row was saved.
  • RUN_SUMMARY contains provider usage, row counts, cost estimate, and stop reason.

Scope and pagination guidance:

  • Direct sound URLs and clip IDs map to specific sounds.
  • Search queries use SociaVault search, then the discovered sounds are scraped.
  • maxPagesPerSound caps provider pagination while collecting videos.
  • maxVideosPerSound caps the number of saved video rows per sound.
  • maxSounds caps the number of unique sounds across direct inputs and search results.

Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/tiktok-sound-scraper').call({
soundUrls: ['https://www.tiktok.com/music/luther-7439295283975702544'],
outputMode: 'sounds_and_videos',
maxSounds: 1,
maxVideosPerSound: 10,
providerOrder: 'scrapecreators-first',
});
const datasetItems = await client.dataset(run.defaultDatasetId).listItems();
console.log(datasetItems.items);

Best results and outcome guidance

A focused input usually produces the clearest dataset. Start with one of these patterns:

  • one sound URL when you already know the exact TikTok music page,
  • one clip ID when you only have the numeric sound identifier,
  • one search query when you want discovery first and can work from the returned matches,
  • sounds mode when you only need sound-level metadata,
  • videos mode when you only need the videos that use a sound.

For search-driven workflows, use region, filterBy, and sortType together so the search matches your research context. Set maxVideosPerSound to a smaller number when you only need sample videos, or leave it higher when you want broader coverage of the returned sound.

Continue the workflow

  • Then use TikTok Transcript Scraper to continue Tiktok records selected with TikTok Sound Scraper - Music Metadata & Videos into a focused media workflow.
  • Then use TikTok Trending Hashtags Scraper to extend TikTok Sound Scraper - Music Metadata & Videos research with a complementary discovery contract.

Design note

I found that the dataset contract cleanly separates sound rows from video rows through recordType, while still keeping shared identifiers like clipId and soundUrl available for both workflow stages.

FAQ

When should I use sound URLs versus clip IDs?

Use sound URLs when you already have a TikTok music page. Use clip IDs when another workflow, such as a search scraper or trend scraper, has already extracted the numeric sound identifier.

How does this Actor connect to discovery workflows?

A discovery Actor can surface public TikTok records first, and this Actor can then resolve the related sound metadata and videos. The verified upstream options are [TikTok Search Scraper - [Videos, Hashtags & Users]](the referenced Actor page) and TikTok Trending Videos Scraper.

What appears in the dataset when I only want sound metadata?

Set outputMode to sounds. The dataset will then focus on sound rows, including fields like title, author, album, userCount, audioUrl, and shareUrl.

What appears in the dataset when I only want videos?

Set outputMode to videos. The dataset will focus on video rows with fields such as videoId, videoUrl, authorUsername, playCount, likeCount, and hashtags.

How do search queries work?

searchQueries uses SociaVault's TikTok music search endpoint to discover sounds, and then the Actor scrapes each discovered sound according to the other input settings.

Where can I check pricing for the current run?

Open the live Pricing tab in the Actor UI. The Actor uses Pay per event plus Apify platform usage.

Responsible use

Use this Actor for public web data and for workflows that fit your data governance, privacy, and platform-terms requirements. Review the returned dataset fields before downstream use, especially when joining sound rows and video rows into a single analysis table.