# TikTok Trending Sounds & Songs Scraper (`s_actors/tiktok-trending-sounds-scraper`) Actor

Trending TikTok sounds and songs right now in any country and 21 Explore categories: videos using each sound, plays, top videos and creators, commercial-use flag, MP3. New-sound alerts. No login.

- **URL**: https://apify.com/s_actors/tiktok-trending-sounds-scraper.md
- **Developed by:** [Superior Actors](https://apify.com/s_actors) (community)
- **Categories:** Social media, Marketing, AI
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.49 / 1,000 sounds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### TikTok Trending Sounds & Songs Scraper

Find the **sounds and songs trending on TikTok right now, in any country and in any of the 21 Explore categories**. The Actor reads a large sample of the videos TikTok is pushing in that country (1,000 per category by default) and ranks every sound by **how many of those videos use it**, with the plays and likes they got, the newest video, the top video and creators, whether the sound is **cleared for commercial use**, and the **audio file (MP3)**. TikTok shows every country its own feed, so each country is loaded through a **residential IP in that country**: Nigeria gets Nigerian sounds, the Philippines gets Filipino ones.

```json
{ "countries": ["US", "GB"], "categories": ["All"] }
```

No TikTok login, no cookies, no browser. Use it as a **TikTok trending sounds finder** or a **TikTok sounds API** for content planning, music marketing and A\&R: schedule it with **Only new sounds** to catch every sound entering the trend.

#### What you get

Real example, 4 October 2026, United Kingdom, category All, 1,000 Explore videos sampled (33 sounds used by 2 or more of them):

| # | sound | artist / author | videos in sample | plays of those videos | newest video | commercial use |
|---|---|---|---|---|---|---|
| 1 | Saxophones getting louder - Sped Up | AntonioVivald | 8 | 22,452,500 | 28 Sep 2026 | no |
| 2 | original sound | . | 5 | 10,691,700 | 2 Oct 2026 | yes |
| 3 | pll purposes only ty | demi devito | 4 | 3,453,600 | 1 Oct 2026 | yes |
| 4 | Late Night | SKARS | 4 | 3,000,200 | 1 Oct 2026 | no |
| 5 | âm thanh gốc - k24- NNTQ I | k24- NNTQ I | 3 | 52,400,000 | 25 Sep 2026 | yes |
| 6 | original sound | bud | 3 | 35,013,700 | 30 Sep 2026 | yes |

The same run, United States (the US feed mixes in Spanish and other languages and repeats less: the top sound was in 3 of 1,000 videos):

| # | sound | artist / author | videos in sample | plays of those videos | newest video | commercial use |
|---|---|---|---|---|---|---|
| 1 | sonido original | ElRolitas | 3 | 11,600,000 | 23 Sep 2026 | yes |
| 2 | Horror, suspense strange sound | DN.FACTORY | 2 | 22,500,000 | 17 Sep 2026 | yes |
| 3 | Saxophones getting louder - Sped Up | AntonioVivald | 2 | 17,000,000 | 17 Aug 2026 | no |

| Field | Description |
|---|---|
| `country`, `position` | Country of the feed, place in the ranking (most used first, then most plays) |
| `musicTitle`, `musicAuthor`, `musicId`, `musicUrl` | The sound or song, its artist (or the creator of an original sound), the sound page on TikTok |
| `videosInSample`, `sampleShare`, `sampleSize` | How many sampled videos use the sound, their share in %, how many videos were sampled |
| `samplePlays`, `sampleLikes`, `averagePlays` | Plays and likes of those videos, average plays per video |
| `newestVideoAt`, `newestVideoAgeDays` | When the newest of those videos was posted: is the sound still fresh? |
| `topVideoUrl`, `topVideoPlays`, `topVideoAuthor`, `creators`, `videoUrls` | The most played video with the sound, up to 10 creators and videos using it |
| `musicIsOriginal`, `musicIsCommercial`, `musicIsCopyrighted` | Original sound (recorded by a creator) or a released song; TikTok's commercial-use flag; copyright flag |
| `musicDurationSeconds`, `musicCoverUrl`, `musicAudioUrl`, `audioFileUrl` | Length, cover art, TikTok's audio link (expires within days) and the MP3 saved by the Actor (with **Save audio files**) |
| `categories` | Explore categories where the sound was found (when several are sampled) |
| `isNew`, `previousPosition`, `scrapedAt` | Not in the previous run of this monitor, its place in the previous run (both empty on the first run), run time |

#### How it works

1. Add **countries** as two-letter codes (US, GB, DE, BR, IN, NG, ZA, PH...): any country works
2. Choose **Explore categories**: All (every topic) or a niche such as Singing & Dancing, Comedy, Food, Beauty Care, Sports, Fitness & Health, Outfit, Games, Animals, Cars...
3. Optional: **Minimum videos per sound** (2 or more = real trends only), **Commercial-use sounds only**, **Songs only**, **Save audio files**, **Only new sounds** for scheduled runs
4. Run, then download the dataset as CSV, Excel, JSON or HTML. Two tabs: **Trending sounds** and **Videos, creators, audio**

#### Why this Actor

| | |
|---|---|
| 🌍 **Any country, really local** | Each country's feed is loaded through a residential IP in that country. A cloud IP gets an empty feed, and a single IP gets one country's feed for every "country" setting |
| 🧭 **Sounds of a niche** | Sample any of the 21 Explore categories: the sounds trending in dance, comedy, food or beauty videos are not the same |
| 📊 **Measured, not guessed** | Every sound comes with the number of trending videos using it, their plays and the newest one, so you see what is spreading and what is fading |
| 💼 **Commercial-use flag** | Filter to the sounds TikTok clears for commercial use, safe for brand accounts and ads |
| ⬇️ **MP3 files** | Save each sound's audio with a permanent link: TikTok's own links expire within days |
| 🔔 **New-sound alerts** | `isNew` and `previousPosition` on every row; **Only new sounds** returns just the sounds that entered the ranking since the previous run |
| 💰 **$0.99 per 1,000 sounds** | Plus $0.03 per 1,000 videos sampled. No subscription |

#### Get new trending sounds every day

1. Choose the countries and categories, set **Minimum videos per sound** to 2 and turn on **Only new sounds**
2. Save as a task and add a schedule, e.g. every morning
3. The **first run** returns the ranking as a baseline. **Every later run** returns only sounds not seen before: send them to [Google Sheets](https://apify.com/s_actors/google-sheets-import-export), Slack or email with an integration

The memory is kept in your account (key-value store `tiktok-sounds-state`). Use a different **Monitor name** for each task.

#### Pricing

Pay per sound and per 100 videos sampled, no subscription needed. The sample is read through residential IPs in each country, so it is charged at what it costs; Apify Scale and Business plans pay less per sound:

| Event | Free and Starter plans | Scale plan | Business plan |
|---|---|---|---|
| Run start | $0.001 | $0.001 | $0.001 |
| Sound (one row) | $0.00099 | $0.00079 | $0.00049 |
| 100 sampled videos | $0.003 | $0.003 | $0.003 |

| Task | Cost |
|---|---|
| Top 100 sounds of one country (1,000 videos sampled) | ~$0.13 |
| 5 countries × top 100 sounds | ~$0.65 |
| Daily alert, one country (~20 new sounds a day) | ~$1.50 per month |

#### Ready-made tasks

Open it, change the countries, and run:

| Task | What you get |
|---|---|
| [Trending TikTok Sounds Right Now](https://apify.com/s_actors/tiktok-trending-sounds-scraper/examples/trending-tiktok-sounds-right-now) | The sounds trending in the US and the UK, used by 2 or more trending videos |

#### FAQ

**Where does the ranking come from?** TikTok no longer publishes a public sounds chart: the songs list of TikTok Creative Center needs a logged-in business account, and the sound pages do not show their data without TikTok's own app code. So the Actor measures the trend itself: it reads the Explore feed that TikTok shows a visitor in each country (the public, country-level version of For You) and counts the sounds of those videos. A sound used by several of the videos TikTok is pushing is trending right now.

**How big is the sample?** 1,000 different videos per category and country by default (up to 3,000), in about 30 seconds. In a test of 1,000 UK videos, the top sound was used by 8 of them and 33 sounds by 2 or more (US: 3 and 9); most sounds appear once. Set **Minimum videos per sound** to 2 to keep only the repeated ones, or sample more videos for a steadier ranking.

**What is an original sound?** Audio recorded by a creator (a voice-over, a meme, a remix) instead of a released song. Many TikTok trends are original sounds. Turn on **Songs only** to skip them.

**What does commercial use mean?** TikTok marks the sounds that business accounts may use in their videos and ads (`is_commerce_music`). Most popular released songs are not cleared; most original sounds are. Check the sound's page in TikTok before using it in a paid campaign.

**Does it give the total number of videos using a sound?** No. That number is shown only inside the TikTok app and to logged-in users. The Actor gives the number of trending videos using it in the sample, with their plays, which is what a trend ranking needs.

**Do I need a TikTok account or cookies?** No.

#### Use with the API and AI agents

Run it via the [Apify API](https://docs.apify.com/api/v2) from Python, Node.js or any HTTP client, or connect it to Claude, ChatGPT and other AI agents through the [Apify MCP server](https://mcp.apify.com): "Which songs are trending on TikTok in Nigeria this week, and which of them can a brand use?"

#### Other tools

| Tool | What it does |
|---|---|
| [TikTok Viral Videos & Explore Scraper](https://apify.com/s_actors/tiktok-explore-scraper) | Viral TikTok videos from the Explore page in any country and 21 categories: plays, likes, plays per hour, creators, new-video alerts |
| [TikTok Trending Hashtags Scraper](https://apify.com/s_actors/tiktok-trending-hashtags-scraper) | Trending TikTok hashtags by country: ~45 per country (not just the top 3), views, trend curve, top creators, new-trend alerts |
| [TikTok Trending Videos Scraper](https://apify.com/s_actors/tiktok-trending-videos-scraper) | Top TikTok videos by country: ~80 per country (not just the top 4), period and organic views, engagement, likes, creators, new-video alerts |
| [TikTok Video Scraper](https://apify.com/s_actors/tiktok-video-scraper) | Views, likes, shares, hashtags and sound of TikTok videos, MP4 download, views tracker |
| [TikTok Comments Scraper](https://apify.com/s_actors/tiktok-comments-scraper) | Comments and replies of TikTok videos and profiles, keyword filter, only-new alerts |
| [TikTok Transcript Scraper](https://apify.com/s_actors/tiktok-transcript-scraper) | Transcripts and subtitles of TikTok videos and profiles: text, SRT, VTT, translations |
| [YouTube Trending & Charts Scraper](https://apify.com/s_actors/youtube-trending-scraper) | YouTube charts: trending videos, top songs, music videos, artists, Shorts songs by country |
| [Google Sheets Import & Export](https://apify.com/s_actors/google-sheets-import-export) | Send the sounds to a Google Sheet |

# Actor input Schema

## `countries` (type: `array`):

Two-letter country codes, one per line (US, GB, DE, BR, IN, NG, ZA, PH...). Any country: TikTok shows each country its own Explore feed, and the Actor loads it through a residential IP in that country.

## `categories` (type: `array`):

Explore feed categories to sample. All = the main feed (every topic). Pick a category to get the sounds trending in a niche, e.g. Singing & Dancing, Comedy, Food or Beauty Care. A video found in several categories counts once.

## `sampleVideos` (type: `integer`):

How many different Explore videos to read per category and country. Sounds are ranked by how many of them use each sound: a bigger sample finds more sounds and a steadier ranking (1,000 videos ≈ 30 seconds, $0.03). Charged per 100 videos read ($0.003): they go through residential IPs in the country.

## `maxSounds` (type: `integer`):

The top N sounds per country, most used first.

## `minVideos` (type: `integer`):

Only sounds used by at least this many videos of the sample (2 or more = trending, not a one-off). Empty or 1 = every sound.

## `commercialOnly` (type: `boolean`):

Only sounds that TikTok marks as cleared for commercial use (the Commercial Music Library), safe for brand and business accounts.

## `excludeOriginalSounds` (type: `boolean`):

Skip "original sound" audio recorded by creators and keep released songs.

## `downloadAudio` (type: `boolean`):

Save every sound's audio to the key-value store tiktok-sounds-audio and add a permanent link (audioFileUrl). TikTok's own audio links (musicAudioUrl) expire within days.

## `onlyNew` (type: `boolean`):

For scheduled runs (save the input as a task and add a schedule). The first run returns the ranking and remembers it; every later run returns only sounds that were not in it before. Without it, every row still has isNew and previousPosition.

## `monitorName` (type: `string`):

Name of the memory used by isNew, previousPosition and Only new sounds. Use a different name for each task.

## `maxConcurrency` (type: `integer`):

How many categories and countries are read at the same time.

## `proxyConfiguration` (type: `object`):

Explore always goes through Apify residential proxies in the chosen country (TikTok gives cloud IPs an empty Explore feed); this setting is only a fallback. The default works.

## `debugLog` (type: `boolean`):

Log every refused request (for troubleshooting).

## Actor input object example

```json
{
  "countries": [
    "US"
  ],
  "categories": [
    "All"
  ],
  "sampleVideos": 1000,
  "maxSounds": 100,
  "commercialOnly": false,
  "excludeOriginalSounds": false,
  "downloadAudio": false,
  "onlyNew": false,
  "monitorName": "default",
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "debugLog": false
}
```

# Actor output Schema

## `sounds` (type: `string`):

Sounds ranked by how many trending videos use them, with plays.

## `details` (type: `string`):

Top video, creators and audio link of every sound.

## `all` (type: `string`):

Every field of every row.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "countries": [
        "US"
    ],
    "categories": [
        "All"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("s_actors/tiktok-trending-sounds-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "countries": ["US"],
    "categories": ["All"],
}

# Run the Actor and wait for it to finish
run = client.actor("s_actors/tiktok-trending-sounds-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "countries": [
    "US"
  ],
  "categories": [
    "All"
  ]
}' |
apify call s_actors/tiktok-trending-sounds-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,s_actors/tiktok-trending-sounds-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ERlnuZWL56vwh2oVe/builds/ahHKtp5oF7V5vfaKw/openapi.json
