TikTok Trending Sounds & Chart History API avatar

TikTok Trending Sounds & Chart History API

Pricing

from $2.40 / 1,000 sound results

Go to Apify Store
TikTok Trending Sounds & Chart History API

TikTok Trending Sounds & Chart History API

Find TikTok chart sounds gaining usage over three or seven days, with cached example videos. Export latest charts and available sound history for nine countries.

Pricing

from $2.40 / 1,000 sound results

Rating

0.0

(0)

Developer

Trending TikTok Data

Trending TikTok Data

Maintained by Community

Actor stats

0

Bookmarked

237

Total users

157

Monthly active users

11 days ago

Last modified

Features

Limited permissions

Share

Find covered TikTok sounds gaining usage over three or seven days, export Popular and Viral Top 50 charts, or retrieve a sound's observed history. Get structured JSON or CSV for nine countries from a maintained, validated archive.

Each dataset item represents one sound on one country, chart, and UTC observation date. The Actor reads a maintained chart archive. It does not search arbitrary sounds or scrape videos on demand.

{
"mode": "latest",
"countries": ["US"],
"chartTypes": ["popular"],
"maxRows": 10
}

This returns up to 10 sound rows from the latest validated US Popular chart. Each row states its actual observation_date.

Daily TikTok music charts for all nine countries

Use the daily bulk-export example to feed a dashboard, reporting job or music research database:

{
"mode": "latest",
"countries": ["US", "DE", "BR", "JP", "KR", "CA", "FR", "MX", "TR"],
"chartTypes": ["popular", "viral"],
"maxRows": 900
}

This returns up to 900 rows: nine countries × two charts × 50 sounds. At current pricing, 900 delivered rows cost $2.70 plus $0.00005 per start; one full export per day for 30 days costs $81.0015. The example uses a $2.71 maximum charge per run. Fewer available rows cost less. A lower spending limit can stop the export before all selected charts are delivered. The Actor's default Try input remains the small 10-row US sample.

To automate your own daily export:

  1. Open the example and save the configuration as your own Apify Task. Run it once and check its coverage and cost.
  2. In Apify Console, create a Schedule, select your Task and set it to once daily. For example, use 0 3 * * * with timezone UTC. Enable the Schedule after checking its next run time.
  3. Download the completed run's dataset as JSON or CSV, or fetch it through the Apify API using the run's defaultDatasetId. Check the Coverage and missing dates output before importing.

Each run creates a new dataset. Merge observations using observation_date + country + chart_type + sound_id. Repeated runs can return the same observed date, and selected charts can have different latest dates. Keep each row's actual date and collection timestamp.

TikTok sound and chart history backfill

{
"mode": "history",
"countries": ["US"],
"chartTypes": ["popular", "viral"],
"fromDate": "2026-09-29",
"toDate": "2026-10-05",
"maxRows": 700
}

The range is inclusive and limited to 30 calendar days per run. The Coverage and missing dates output lists available_dates and missing_dates for each country and chart.

This one-week US backfill returns up to 700 rows and costs up to $2.10 plus $0.00005 per start. Replace the example dates with the fixed dates you need. History dates do not advance automatically when a Task is scheduled; use latest for an ongoing daily export.

For a larger backfill, split the date range or countries into separate runs. maxRows is a global cap of at most 5,000. For all nine countries and both charts, use chunks of up to five dates: at most 4,500 rows per chunk. Check rows_written, truncated_by_max_rows, truncated_by_spending_limit and missing dates before treating a backfill as complete. Export each run's dataset and combine it using the row key above.

Add soundIds to any mode to filter up to 50 covered sound IDs. Keep IDs as strings. For example:

{
"mode": "history",
"countries": ["US"],
"chartTypes": ["viral"],
"soundIds": ["7685822474004744200"],
"fromDate": "2026-09-27",
"toDate": "2026-10-04",
"maxRows": 50
}

This returns the archived observations in the selected range. An unknown sound returns no rows, and the coverage summary separates unknown IDs from known sounds outside the selected dates/charts.

Supported countries: United States (US), Germany (DE), Brazil (BR), Japan (JP), South Korea (KR), Canada (CA), France (FR), Mexico (MX), and Turkey (TR).

Track viral TikTok sounds gaining usage this week

{
"mode": "insights",
"countries": ["US"],
"chartTypes": ["viral"],
"lookbackDays": 7,
"sortBy": "usage_change",
"growthFilter": "rising",
"maxRows": 20
}

This ranks sounds present in the selected end-date charts by their net change in source-reported sound-use count. Choose the Sound usage growth dataset view. Save this input as a Task and schedule it daily to refresh your shortlist; leave asOfDate blank for current results.

For percentage growth, set sortBy to usage_growth_pct and optionally minBaselineUsage to 1000 to exclude tiny baselines. growthFilter: "all" also returns declines, unchanged counts and sounds with an unknown baseline. maxRows is a global cap after filtering, not a separate limit per country.

Seven days compares the end date with exactly seven UTC calendar days earlier. Missing baselines give null growth. Negative count changes are preserved. Country identifies chart membership only; the sound-use count is not country-specific, so do not add the same sound's count across charts or countries.

Current queries use the latest common chart date with fresh collection for all selected series. If no recent common date exists, the run fails clearly. An explicit asOfDate requests historical insights and can return partial coverage.

Example TikTok videos for growing sounds

Add "includeExamples": true to an insights request to include up to three cached videos using each sound. Choose the Example videos dataset view for CSV links; JSON also includes caption, creator handle, publication time and available engagement counts.

{
"mode": "insights",
"countries": ["US"],
"chartTypes": ["viral"],
"lookbackDays": 7,
"includeExamples": true,
"maxRows": 20
}

Examples are collected centrally for the ten strongest positive seven-day changes in each country/chart, then deduplicated by sound and country. Other sounds return examples when they are already cached. The examples are source-selected: published_at shows each video's age, and examples_collected_at reports when its metrics were fetched. Missing engagement counts are null.

The examples_status field is available, stale, not_collected, source_empty or source_error. Samples expire after 36 hours. An explicit asOfDate returns an empty list with historical_examples_unavailable. Sounds without examples still return their growth result. With examples disabled, the existing growth row fields remain unchanged.

Three nested examples are included in the sound-result price: one row, one result charge. The coverage summary separates availability across all eligible rows from example_rows_written and examples_written, which count what was actually delivered. Example links can become unavailable on TikTok after collection.

Latest and history modes retain the following flat fields for JSON and CSV exports:

FieldMeaning
observation_date, country, chart_type, rankUTC date and ranked chart position.
sound_id, title, artistTikTok sound ID, title, and artist. Sound IDs are strings.
usage_countSource-reported sound-use count, not video views.
rank_change, usage_changeChange versus the previous adjacent UTC date, or null if that date or sound is unavailable. Positive rank change means the sound climbed.
previous_observation_datePrior validated chart date when the previous calendar day exists, otherwise null.
is_original_sound, is_commerce_musicSource flags. The commerce flag does not grant or establish music licensing rights.
duration_seconds, tiktok_url, cover_urlSound length and source links where available.
spotify_url, apple_music_url, youtube_music_urlSource-provided music service links when available; otherwise null.
source_updated_at, collected_atSource chart update time and collection time.

Rank and usage count belong to the observation date. Title, artist, artwork, and music service links come from the current normalized sound record, not the observation date.

Insights retains the sound metadata but uses the requested period for rank_change and usage_change. It replaces previous_observation_date with explicit baseline fields:

FieldMeaning
record_type, calculation_versionsound_insight and calculation version 1.
baseline_date, lookback_daysExact baseline date and elapsed three- or seven-day period.
baseline_rank, baseline_usage_countValues observed at the exact baseline, or null.
usage_growth_pctSigned percentage change, rounded to four decimals; null for a missing or zero baseline.
growth_statusgrowing, declining, flat or unknown.
baseline_statuspresent, chart_missing or sound_absent.
observed_days, expected_observationsDates the sound was observed in the window, versus four or eight expected observations.
coverage_statuscomplete, endpoints_only or missing_baseline. An endpoint comparison is valid despite gaps in between.
baseline_collected_atCollection time for the baseline observation, or null.

One insight result is one sound in one country/chart for one date and period. The same sound in several selected chart contexts can produce several rows. Source chart rankings may update less often than the usage counts; compare source_updated_at with collected_at.

TikTok sound chart coverage and pricing

The run's Coverage and missing dates output reports selected countries/charts, actual available and missing dates, total available records, records written, and whether the run stopped at maxRows or the spending limit. A zero-result request writes no dataset items and still reports coverage.

The primary billable unit is one dataset row: one chart observation or one sound-growth result. Both cost $3 per 1,000 rows, plus the $0.00005 start event at the default memory. A 20-row shortlist costs $0.06 plus start; running it daily for 30 days costs $1.80 plus start events. Apify's displayed pricing is authoritative. Historical gaps, filters and spending limits can reduce the delivered count and bill. Summaries and errors are not written as paid dataset rows.

For insights, the coverage output also reports the resolved date, candidate and comparable counts, missing baselines, sequential filter exclusions and total eligible results. If maxRows is omitted, insights defaults to 20, latest to 50 per selected chart, and history to 5,000. The Try form starts with 10.

For reliable automation, save an Apify Task with your preferred countries, charts, and dates, or call the Actor through the Apify API. The Actor returns stored chart observations and does not need an Apify proxy.

More TikTok trend data: videos, hashtags, top ads and Instagram audio

We publish four related Actors. Each has its own country coverage, history dates and pricing:

  • TikTok Trending Videos: up to 100 top videos per 7- or 30-day chart in the US, Japan, Vietnam, Thailand and Indonesia, with creators, views, links and stored history.
  • TikTok Hashtag Trends: 100 trending hashtags per 7- or 30-day Creative Center chart in the US, UK, Germany, France, Brazil, Canada and Australia, with post and view counts, trend curves, top creators and history.
  • TikTok Top Ads: daily top-20 Creative Center ad samples for the UK, US, Germany and Brazil, with creative links, likes, CTR percentile rankings and spend categories.
  • Instagram Reels Audio Tracker: dated Reel usage counts with 1-day and 7-day growth for a tracked set of Instagram sounds.

Delivery monitoring

The chart service stores operational receipts containing the Apify run/build IDs, timestamps, export mode, growth period, example request/return counts, elapsed time, row counts, platform event counters, owner/paid/free classification, spending-limit flags, and error category. An ad-hoc Apify webhook confirms the final run status and event counters after the run ends. This lets us investigate incomplete exports. Receipts contain no API tokens, customer identity, raw input, or dataset contents.