TikTok Music & Sound Scraper avatar

TikTok Music & Sound Scraper

Pricing

$1.80 / 1,000 audio links

Go to Apify Store
TikTok Music & Sound Scraper

TikTok Music & Sound Scraper

Get direct audio download links from public TikTok video URLs. Export captions, thumbnails, music details, creator data, and engagement counts in one dataset.

Pricing

$1.80 / 1,000 audio links

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

5

Monthly active users

3 days ago

Last modified

Share

🎧 TikTok audio downloader for public video URLs

TikTok Audio Downloader helps content reviewers and researchers get audio from public TikTok video URLs. Paste one or more TikTok video links and get a direct audio download URL, caption, thumbnail, creator details, publish time, duration, music title, music author, and engagement counts in an Apify dataset.

Use this TikTok audio downloader when you already have video URLs and need a repeatable way to save audio for content review, social listening, campaign tracking, audio archiving, creator research, or downstream automation. The Actor works with public TikTok video pages only. You do not need to provide TikTok cookies, a TikTok login, or a TikTok API key.

For a small first run, keep the prefilled Apify TikTok video URL and start the Actor. Once the output shape looks right, paste your own list of public TikTok video links, schedule the Actor, or call it through the Apify API.

📦 TikTok audio data you can export

What this TikTok audio downloader does

  • Accepts public TikTok video URLs in bulk.
  • Finds a usable audio link when TikTok exposes one for the video.
  • Saves one dataset row per video with usable audio.
  • Returns one direct TikTok audio download link in audio.sourceUrl.
  • Adds source video context such as videoId, sourceUrl, caption, publish time, duration, and thumbnail.
  • Adds creator data such as username, display name, secUid, avatar, signature, follower count, following count, and heart count when TikTok exposes them.
  • Adds public engagement counts such as plays, likes, comments, shares, and collects when available.
  • Skips invalid, private, removed, unsupported, blocked, stale, or audio-less targets without saving failure rows.

This Actor is focused on downloading audio from known TikTok video URLs. It does not discover videos from profiles, hashtags, sounds, comments, search results, TikTok Shop, or trending feeds.

Each output row represents one public TikTok video where a usable audio link was found. Core fields include:

  • videoId and sourceUrl
  • caption, createdAt, durationSeconds, and thumbnailUrl
  • audio.sourceUrl for the direct TikTok audio link
  • audio.durationSeconds, audio.title, and audio.author
  • creator.username, creator.displayName, creator.secUid, creator.avatarUrl, and creator.signature
  • creator.followerCount, creator.followingCount, and creator.heartCount
  • engagement.playCount, engagement.likeCount, engagement.commentCount, engagement.shareCount, and engagement.collectCount

Some fields can be null when TikTok does not expose that value for a public video. The dataset contains successful audio rows only, so skipped or unavailable targets are reported in the run log instead of appearing as placeholder rows.

You can open the dataset in Apify, export it as JSON, CSV, Excel, XML, RSS, or HTML, call it through the Apify API, schedule repeat runs, or connect it to webhooks and integrations. Use audio.sourceUrl to download the source audio without login or special headers. The link keeps the source format and may expire.

🚀 How to run this TikTok audio downloader

  1. Add one or more public TikTok video URLs in TikTok video URLs.
  2. Start the Actor.
  3. Open the dataset when the run finishes.
  4. Use audio.sourceUrl to download the audio from TikTok.
  5. Use sourceUrl, caption, creator, and engagement fields to connect the audio back to the original TikTok video.

Desktop and mobile TikTok video links are accepted when they resolve to a public /video/ page. Profile URLs, hashtag URLs, sound URLs, search URLs, comment URLs, photo posts, and private videos are not supported by this Actor.

⚙️ Input

FieldTypeWhat it does
videoUrlsarrayPublic TikTok video URLs, up to 500 submitted URL rows. Each item can be a URL string or a request-list item with a url field.

Example input

This input was used in a successful run with the prefilled video URL.

{
"videoUrls": [
{
"url": "https://www.tiktok.com/@apifytech/video/7398101551744552225"
}
]
}

🧾 Output

FieldTypeWhat it does
videoIdstringTikTok video ID for the source video.
sourceUrlstringPublic TikTok video URL used for the saved audio.
captionstring or nullVideo caption or title text.
createdAtstring or nullVideo publish time as an ISO datetime.
durationSecondsnumber or nullSource video duration in seconds.
thumbnailUrlstring or nullSource video thumbnail or cover image URL.
audioobjectDirect audio link and source music facts.
audio.sourceUrlstringDirect TikTok audio download link. It opens without login or special headers, keeps the source format, and may expire.
audio.durationSecondsnumber or nullAudio duration in seconds when shown separately.
audio.titlestring or nullMusic or original-sound title.
audio.authorstring or nullMusic or original-sound author.
creatorobjectPublic creator identity and profile data.
creator.usernamestring or nullCreator handle without the @ sign.
creator.displayNamestring or nullCreator display name.
creator.secUidstring or nullTikTok secure creator identifier when public.
creator.avatarUrlstring or nullCreator avatar image URL.
creator.signaturestring or nullCreator bio or profile signature text.
creator.followerCountinteger or nullCreator follower count.
creator.followingCountinteger or nullCreator following count.
creator.heartCountinteger or nullCreator total hearts.
engagementobjectPublic engagement counts.
engagement.playCountinteger or nullVideo play count.
engagement.likeCountinteger or nullVideo like count.
engagement.commentCountinteger or nullVideo comment count.
engagement.shareCountinteger or nullVideo share count.
engagement.collectCountinteger or nullVideo save count.

Example audio download

This complete row comes from a successful run of the current beta build.

{
"videoId": "7689759692251335988",
"sourceUrl": "https://www.tiktok.com/@ryoun_e/video/7689759692251335988",
"caption": "#chiquita #chiquitapunyaryoun #babymonster #jangmisq #kpop #fyp",
"createdAt": "2026-09-26T08:35:40.000Z",
"durationSeconds": 29,
"thumbnailUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/oAq31VDiAzKlAITE8Bi1AgCBw2UKAgX9PeWB31~tplv-tiktokx-origin.image?dr=9636&x-expires=1791309600&x-signature=A2DyraXed0dP1594btODcASCua0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8",
"audio": {
"sourceUrl": "https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/oYmKROzfqiBcQ18wBmFEgkDRtsCZucyMILfmQC",
"durationSeconds": 59,
"title": "Gnawing",
"author": "DeadBoySociety"
},
"creator": {
"username": "ryoun_e",
"displayName": "R Y O U N",
"secUid": "MS4wLjABAAAA1VHNOFYYXd3yLLN9khOIhuZu6l1oUAwvDZNp4DMfCYgbn_rf8dQsxOvwhsqlI6gC",
"avatarUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/96f6f0b45b18d856ffdb4b7669a10558~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=2127b611&x-expires=1791309600&x-signature=o5u5KqD%2BQmWHr9q84lLiJUlKgP8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8",
"signature": "2nd acc @ryoun \nSound promotion inquiries via DM or email\n📩 ryounedit@gmail.com\njangmisq",
"followerCount": 271300,
"followingCount": 133,
"heartCount": 37700000
},
"engagement": {
"playCount": 81000,
"likeCount": 2442,
"commentCount": 29,
"shareCount": 89,
"collectCount": 273
}
}

Limits and caveats

  • The Actor works with public TikTok video URLs only.
  • TikTok audio URLs can expire. Download the audio soon after the run if you need to keep a copy.
  • TikTok may hide some creator, music, thumbnail, timing, or engagement fields for a specific video. Hidden values appear as null.
  • The input form accepts up to 500 submitted URL rows.
  • The Actor does not download full TikTok videos. Use TikTok Video Downloader for direct video links.

💳 Pricing

This Actor uses pay-per-event pricing. You are charged once for each video saved to the dataset with a usable audio download link. Failed, unsupported, private, unavailable, or audio-less URLs do not create dataset rows and are not charged as successful audio results.

🔌 Integrations

Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML. Call the Actor through the Apify API, schedule repeat runs, or use webhooks to send finished-run data to your own tools. Download audio through the direct TikTok link in audio.sourceUrl.

❓ FAQ

Can I download audio from a TikTok sound page?

No. This Actor accepts TikTok video URLs, not sound pages. Use it when you have one or more public TikTok /video/ links and want the audio from those videos.

Why is a field null?

TikTok does not expose every field for every public video. When a value such as audio.title, creator.signature, or engagement.collectCount is not available, the Actor returns null instead of guessing.

Where is the downloaded audio file?

Use audio.sourceUrl in the dataset row. It points to the audio file on TikTok. Download it soon after the run if you need to keep it, since the link may expire.

Does this work as a TikTok to MP3 converter?

It returns a link to the audio file TikTok exposes. It does not convert or edit audio, so the file is not promised to be MP3.

Does this require TikTok login or cookies?

No. The Actor is built for public TikTok video pages and does not ask you for TikTok cookies, a login, or a TikTok API key.

Is this an official TikTok audio download tool?

This is an Apify Actor made by Maxime Dupré. It finds available audio links from public TikTok video URLs you provide.

📝 Changelog

v1.0 (04-10-2026)

  • Use audio.sourceUrl to download audio from TikTok. Results no longer include audio.fileUrl or an Apify-stored audio copy.
  • Repeated URLs for the same video now return one audio result.

v0.1

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré