TikTok Sound Scraper
Scrape every TikTok video using a sound: views, likes, comments, shares, author and music data. $0.25 per 1,000 videos, flat at every volume.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
musicIds,musicUrls,resultsPerPage(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.00025 per result = $0.25 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Result returned | Charged per video returned. Failed/empty runs not charged. | $0.00025 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-06-23, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
musicIds | TikTok music/sound IDs (the trailing digits of a /music/ URL). Find them in any video's music.id field. | array |
musicUrls | Or paste TikTok /music/ URLs. | array |
resultsPerPage | Max videos per sound. Charged per result. | integer |
sessionCookies | Optional — leave empty and the run works as normal. Sound feeds are pulled keyless first; a built-in session only covers the sounds that come back empty. Supply your own TikTok account cookie here to get a private rate limit that no other user shares. In Chrome, on a logged-in tiktok.com tab: F12 → Application → Cookies → copy the `sessionid` value. Paste one per line; several are rotated. | array |
notionConnector | Optional. Deliver results to your connected Notion via Apify MCP connectors. | string |
notionParentId | Optional Notion database/data-source id. | string |
What you get
A structured dataset — each result includes fields like:
textplayCountdiggCountcommentCountwebVideoUrlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
Related tools in Social Media Scrapers
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
TikTok Followers & Following Scraper
Extract any TikTok account's public followers or following list with bios, avatars, regions, verified badges and counts.
Instagram Comments Scraper
Scrape Instagram post and reel comments at $0.40 per 1,000, flat at every volume, plus a $0.001 run start. Text, likes, replies, author, verified badge.
Twitter (X) Search Scraper
Scrape X (Twitter) search results by keyword and advanced query. Full text, engagement, author, media. $0.40 per 1,000 tweets plus a $0.00005 run start.
Twitter (X) List Scraper
Scrape every tweet from any X (Twitter) list: full text, likes, retweets, views, media, hashtags and author profile.
Threads Scraper
Scrape public Threads profiles and recent posts without login: bios, followers, post text, likes, timestamps and media URLs. From $0.40 per 1,000 results.
Facebook Pages Scraper
Scrape public Facebook Page names, categories, likes, talking-about counts, verified badges and images without login.
Where this tool sits
- Categories
- Social Media Scrapers
- Platforms
- TikTok
⚡ TikTok Music & Sound Scraper — Videos by Sound (No Login, No API Key)
Pull every TikTok video that uses a given sound. Paste a music/sound ID or a TikTok /music/ URL and get back each video using that track — views, likes, comments, shares, caption, hashtags, author, video & cover URLs, and the music metadata. Export to JSON, CSV or Excel, call it from the API, or have results delivered straight to Notion. Pay per result — empty/failed runs cost nothing.
> No account. No API key. No signing keys. No proxy. Paste a sound ID and run.
Why this scraper wins
- 🔓 Keyless, sign-free, proxy-free — no login, no API key, no msToken, and no proxy required.
- 🛡️ Beats TikTok's IP blocking — sources data through infrastructure TikTok trusts, so you always get *real* numbers instead of decoy data.
- 🎵 Sound-first — perfect for finding who's using a trending sound, tracking sound virality, and discovering creators by track.
- 💸 Pay per result — billed per video actually returned; empty/failed runs cost nothing.
- 🧹 Clean, flat records — one tidy object per video, ready for sheets, dashboards or LLM pipelines.
- 📬 Built-in Notion delivery — push every run into Notion via Apify connectors, zero extra code.
- 🚦 Honest errors — a clear diagnostic row (
BLOCKED,RATE_LIMITED,NO_RESULTS) instead of silent emptiness.
What you can scrape
| Input | What it is | Returns |
|---|---|---|
| Music ID | The trailing digits of a /music/ URL (also found in any video's music.id) | Videos using that sound |
| Music URL | A full TikTok /music/... link | Videos using that sound |
Input
musicIds— TikTok music/sound IDs (the trailing digits of a/music/URL, e.g.7654341603238103821).musicUrls— or paste TikTok/music/URLs; the ID is extracted automatically.resultsPerPage— max videos per sound (default50, up to2000). You pay per result.sessionCookies— optional. Your own TikToksessionidcookie(s), one per line; see *Throughput and your own cookie* below.proxyConfiguration— optional; this scraper needs no proxy.notionConnector/notionParentId— optional Notion delivery via Apify MCP connectors.
Throughput and your own cookie
Runs work out of the box: each sound is pulled keyless first, exactly as before, and that needs nothing from you. Only when a sound comes back empty does the run retry it through a built-in session, so a quiet or newly-trending track returns videos instead of a blank.
That built-in session is shared across everyone using the Actor, so under heavy concurrent load it can
be rate-limited. If you are tracking many sounds and want a rate limit nobody else shares, paste your
own TikTok sessionid into sessionCookies (Chrome: F12 → Application → Cookies → sessionid, one per
line). It is optional, it replaces the built-in session rather than adding to it, and an expired or
missing cookie just means the run stays on the keyless path instead of failing.
Output (one record per video)
{
"type": "video",
"id": "7300000000000000000",
"webVideoUrl": "https://www.tiktok.com/@creator/video/7300000000000000000",
"text": "this sound is everywhere 🔥 #fyp",
"createTime": "2024-06-12T14:00:00.000Z",
"hashtags": ["fyp"],
"region": "US",
"playCount": 2400000,
"diggCount": 318000,
"commentCount": 4200,
"shareCount": 9100,
"collectCount": 15000,
"downloadCount": 1200,
"isAd": false,
"video": {
"duration": 23,
"cover": "https://...jpg",
"dynamicCover": "https://...jpg",
"playAddr": "https://...mp4",
"downloadAddr": "https://...mp4"
},
"music": {
"id": "7654341603238103821",
"title": "original sound",
"authorName": "creator",
"playUrl": "https://...mp3",
"original": true,
"duration": 30
},
"author": {
"id": "...",
"uniqueId": "creator",
"nickname": "Creator",
"avatar": "https://...jpg"
}
}
Pricing
$0.25 per 1,000 sounds ($0.00025 each), with no run-start fee. Flat rate — no volume tiers, no plan gates — and you are charged only for sounds actually returned.
Pay-per-result. You are charged only for videos actually returned — empty or failed runs cost nothing.
FAQ
Where do I find a music/sound ID? It's the trailing digits of a TikTok /music/ URL, e.g. https://www.tiktok.com/music/original-sound-7654341603238103821 → 7654341603238103821. You'll also find it in any scraped video's music.id field.
Do I need a TikTok account? No. Public sounds are pulled keyless, and sessionCookies is optional —
supply one only if you want a rate limit that nobody else shares.
Do I need a proxy? No. This scraper needs no proxy at all and works from any IP.
How does it beat TikTok's blocking? It never hits TikTok from a flagged IP — data is sourced through infrastructure TikTok trusts, so you get the real numbers.
It returned an error row — why? That's the actor telling you exactly what happened (BLOCKED, RATE_LIMITED, NO_RESULTS) instead of failing silently.
Want profiles, hashtags and search too? Use the companion TikTok Scraper for the all-in-one (profiles + videos + hashtags + search).
Billing
One charge applies today: the per-result fee for videos actually delivered, at $0.00025 each ($0.25 per 1,000). There is no run-start fee. Samples, diagnostics, duplicates, blocked look-ups and no-result runs never incur the per-result fee — a run that returns nothing is free.
*Notice: from 19 August 2026 a $0.001 run-start fee applies to each run. The $0.00025 per-video price is unchanged.*