# Instagram Trending Audio Chart · Top 10 Reels Sounds & Rank (`memo23/instagram-trending-sounds-scraper`) Actor

Instagram's top 10 trending Reels sounds from the audio picker, with chart rank, previous rank and movement, Reels count, title, artist, audio link and optional top Reels per song. Schedule it for a daily chart history. No login, no cookies.

- **URL**: https://apify.com/memo23/instagram-trending-sounds-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Social media, Marketing
- **Stats:** 2 total users, 2 monthly users, 83.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.80 / 1,000 ranked 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

## Instagram Trending Audio Chart · Top 10 Reels Sounds with Rank

Get the top 10 trending sounds Instagram shows in the Reels audio picker, with each sound's chart rank, its previous rank and how many places it moved. Run it on a schedule and you have a daily chart history. No login, no cookies.

| You get | Details |
|---|---|
| The chart | 10 rows, rank 1 to 10, licensed songs and creators' original sounds |
| Movement | `trendRank`, `previousTrendRank`, `rankChange`, `isNewEntry` |
| Volume | How many Reels use the sound, as Instagram shows it (`8.5K reels`) and as a number |
| The sound | Title, artist, duration, explicit and lyrics flags, cover art, audio file link, audio page link |
| Top Reels (optional) | The most-played recent Reels using each song: URL, creator, plays, likes, date |

### Why use it

Creators and social media managers pick audio from this list every day, and labels and agencies watch it to see which songs are taking off. The in-app chart shows rank movement for a moment and then it is gone. This actor writes it down: one run gives you today's chart, a scheduled run gives you how each song climbed or fell.

### How it works

1. Reads Instagram's trending audio chart (the list in the Reels audio picker).
2. Keeps the chart's 10 entries in order and drops the ordinary search results Instagram appends after them.
3. For each sound, records rank, previous rank, change, Reels count and the sound's details.
4. With **Add top Reels per sound** on, looks up the most-played recent Reels for each song.

### Input

| Field | Default | Notes |
|---|---|---|
| `mode` | `chart` | `chart` = Instagram's top-10 chart. `reelsSearch` = rank the sounds used by Reels that match your search terms |
| `licensedOnly` | `false` | Chart mode: keep licensed songs only, skip creators' original sounds |
| `includeTopReels` | `false` | Chart mode, paid plans: add the most-played recent Reels per song |
| `maxTopReels` | `3` | Reels listed per song, 1 to 12 |
| `saveAudio` | `false` | Keep a permanent copy of each audio file in the run's key-value store |
| `queries`, `maxReels`, `includeOriginalAudio` | | Reels search mode only |

```json
{ "mode": "chart", "includeTopReels": true, "maxTopReels": 3 }
```

### Output

```json
{
    "source": "chart",
    "trendRank": 1,
    "previousTrendRank": 4,
    "rankChange": 3,
    "isNewEntry": false,
    "isTrending": true,
    "title": "Drip",
    "artist": "ATEEZ",
    "isOriginalAudio": false,
    "durationMs": 181790,
    "isExplicit": false,
    "hasLyrics": true,
    "reelsCountText": "8.5K reels",
    "reelsCountApprox": 8500,
    "trackId": "1598176351795390",
    "audioClusterId": "1076517598544012",
    "audioUrl": "https://www.instagram.com/reels/audio/1076517598544012/",
    "audioDownloadUrl": "https://scontent.cdninstagram.com/…",
    "coverArtworkUrl": "https://scontent.cdninstagram.com/…",
    "topReels": [
        { "url": "https://www.instagram.com/reel/De0s-LGRWAI/", "username": "ateez_official_", "playCount": 7436033, "likeCount": 748136, "postedAt": "2026-10-24T…" }
    ],
    "scrapedAt": "2026-10-27T09:00:00.000Z"
}
```

`rankChange` is positive when a sound moved up. `isNewEntry` is true when the sound has no previous rank.

### Pricing

You pay per sound row: $0.004 on the free plan, less on paid Apify plans (down to $0.0028). A full chart is 10 rows, so about $0.04 a run, top Reels included.

### Free Apify plan

Free plan runs get the chart with up to 8 sounds. The first 3 come back in full. After that, rows keep the rank, movement, title, artist and Reels count, and hide the audio file, cover art and stored copy. Top Reels need a paid plan.

### FAQ

**Which country's chart is it?** The chart Instagram serves to the session that reads it. You cannot pick a country yet, and rows do not claim one. The songs usually show which market it is: on 2026-10-27 one run returned a chart led by ATEEZ, Ja Rule and John Anderson, another a chart of Russian songs.

**Why do some sounds have no top Reels?** Creator original sounds have no song id to look up Reels by. Licensed songs get them.

**Is this Instagram's official chart?** It is the list Instagram itself ranks in the Reels audio picker, read through a third-party data source. It is not an official Instagram export.

**How fresh is it?** Instagram updates the chart during the day. A run may return a copy cached for a short while.

### ⚠️ Disclaimer

This actor collects publicly available Instagram audio metadata. Use the data in line with Instagram's terms and applicable law. It does not log in, does not bypass access controls, and is not affiliated with Instagram or Meta.

### SEO Keywords

instagram trending audio, instagram trending sounds, instagram reels trending music, instagram audio chart, trending reels songs, instagram viral audio, reels music chart, instagram music trends, instagram trending songs today

# Actor input Schema

## `mode` (type: `string`):

chart: Instagram's own top-10 trending audio list from the Reels audio picker, with the current rank, the previous rank and the change. reelsSearch: searches Reels for your terms and ranks the sounds they use.

## `licensedOnly` (type: `boolean`):

Chart mode: keep only licensed songs and skip creators' original sounds.

## `includeTopReels` (type: `boolean`):

Chart mode, paid plans: for each sound, add the most-played recent Reels that use it (URL, creator, plays, likes, date).

## `maxTopReels` (type: `integer`):

Chart mode: how many Reels to list per sound when top Reels are on.

## `queries` (type: `array`):

Reels search mode only. Words Instagram's Reels search will run. Sounds are taken off the returned Reels and ranked by how often they appear. Default: \["trending"]. Example: \["trending", "viral"].

## `maxReels` (type: `integer`):

Reels search mode only. How many Reels to inspect before ranking. Ranking needs repeats, so stay at 60 or above. Whole number 12–240. Default: 72.

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

Chart mode returns at most 10 (the chart's length). Cap on rows in the dataset, after ranking. Whole number 1–100. Default: 25.

## `includeOriginalAudio` (type: `boolean`):

Reels search mode only. Off (default) keeps licensed catalogue tracks only — original audio with huge play counts otherwise dominates the list. Turn on to mix creator recordings in.

## `saveAudio` (type: `boolean`):

Copy each ranked sound into this run's key-value store and set audioKvStoreUrl. Instagram CDN links expire; this copy does not. Off by default.

## Actor input object example

```json
{
  "mode": "chart",
  "licensedOnly": false,
  "includeTopReels": false,
  "maxTopReels": 3,
  "queries": [
    "trending"
  ],
  "maxReels": 72,
  "maxSounds": 25,
  "includeOriginalAudio": false,
  "saveAudio": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "queries": [
        "trending"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/instagram-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 = { "queries": ["trending"] }

# Run the Actor and wait for it to finish
run = client.actor("memo23/instagram-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 '{
  "queries": [
    "trending"
  ]
}' |
apify call memo23/instagram-trending-sounds-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,memo23/instagram-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/tap0snSpKU62h3aY5/builds/rm3uB2wL98thmQb6j/openapi.json
