# Apple Music & iTunes Top Charts by Country (`trovevault/apple-music-itunes-charts-by-country`) Actor

Export Apple Music Top 100 songs and albums and iTunes Store top songs, albums and music videos for 170+ countries, with genre filters, Apple IDs, release dates, artwork and rank movement between runs.

- **URL**: https://apify.com/trovevault/apple-music-itunes-charts-by-country.md
- **Developed by:** [Trove Vault](https://apify.com/trovevault) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.85 / 1,000 songs

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

### Apple Music & iTunes Top Charts Export

Export Apple Music and iTunes Store top charts for 170 countries as clean rows, with rank changes between runs, for music marketing, A\&R and streaming analytics teams.

### What does Apple Music & iTunes Top Charts by Country do?

Apple Music & iTunes Top Charts by Country exports the official Apple chart you choose for every market you select. Each chart position becomes one row with the market, rank, change since the previous chart, artist, track, album, genre, release date and Apple link.

- Apple Music Top Songs and Top Albums: the 100 most-played songs and albums per country
- iTunes Top Songs, Top Albums and Top Music Videos: up to 200 best-selling downloads per country
- Optional iTunes genre charts, from Pop and Hip-Hop/Rap to K-Pop and Latin
- Rank changes between runs, so a daily schedule shows what is rising and falling
- 170 storefronts, from the United States and United Kingdom to Portugal, Nigeria and Japan

### What data can you extract from Apple Music charts?

| Field | Description |
|---|---|
| `market` | Country name |
| `chart` | Chart name, including the iTunes genre when one is selected |
| `rank` | Chart position |
| `change` | Positions gained since the previous chart date |
| `artist` | Artist credit |
| `track` | Song or music video title (not on album charts) |
| `album` | Album title (only on album charts and iTunes Top Songs) |
| `genre` | Main genre Apple lists |
| `releaseDate` | Release date |
| `appleUrl` | Apple Music or iTunes link |

### Can I use Apple Music & iTunes Top Charts by Country to track charts in many countries at once?

Yes. Select as many markets as you need, or All markets, and the chosen chart is exported for each one in a single run. A daily schedule across 10 markets gives you a complete chart history in your own Apify storage, with no API keys or Apple developer account.

### How does Apple Music & iTunes Top Charts by Country work?

1. You pick markets and one Apple chart.
2. The Actor reads Apple's official public chart feeds for each market.
3. Each position is cleaned into one row with the same fields for Apple Music and iTunes.
4. The Actor compares each chart with the previous chart date and fills `change`.
5. Rows land in a dataset you can export as JSON, CSV or Excel, or send to other tools.

It is like opening the Apple charts page for every country every morning, but already in a spreadsheet.

### Why use Apple Music & iTunes Top Charts by Country?

| Feature | Typical chart scrapers | Apple Music & iTunes Top Charts by Country |
|---|---|---|
| Chart types | One chart type | Apple Music songs and albums plus iTunes songs, albums and videos |
| Markets | A short list of countries | 170 storefronts, or All markets in one run |
| Rank changes | Rank only | Change since the previous chart date |
| Genre charts | Rarely available | 17 iTunes genres |
| Data source | Scraped web pages that break | Apple's official public feeds |
| Failed charts | Run fails or bills error rows | Logged in the run summary, never billed |

### What can you do with Apple Music chart data?

- **Release monitoring**: check every morning whether a new single entered the Top 100 in priority markets.
- **A\&R scouting**: spot artists climbing iTunes genre charts in smaller markets before they break in the US or UK.
- **Campaign reporting**: show clients a daily table of rank and change per country.
- **Streaming vs buying**: run Apple Music Top Songs and iTunes Top Songs to compare plays with purchases.
- **Content and playlists**: feed newsletters, playlist curation or social posts with fresh chart data.

Recommendation: schedule the Actor once a day. `change` always compares against the previous chart date, so extra runs on the same day do not distort it.

### How to use Apple Music & iTunes Top Charts by Country?

1. Create a free Apify account and open Apple Music & iTunes Top Charts by Country.
2. Pick your markets, for example United States, United Kingdom and Portugal.
3. Pick a chart, for example Apple Music Top Songs.
4. Optionally pick iTunes genres in the Genres box.
5. Click Start, then download the results or schedule the run daily.

### How much will it cost to scrape Apple Music charts?

This Actor uses pay-per-event pricing: you pay a small fee per run start and per chart row in the dataset, and nothing for failed charts. One country's Apple Music Top 100 is 100 rows. Check the Pricing tab for the current price per 1,000 rows.

To keep costs low, select only the markets you follow instead of All markets.

### Input

| Field | Description |
|---|---|
| `markets` | Country names, or All markets |
| `chart` | Apple Music Top Songs, Apple Music Top Albums, iTunes Top Songs, iTunes Top Albums or iTunes Top Music Videos |
| `genres` | Optional iTunes genres, such as Pop or K-Pop |
| `datasetId`, `runId` | Optional Pipeline Integration fields |

```json
{
    "markets": ["United States", "United Kingdom", "Portugal"],
    "chart": "Apple Music Top Songs"
}
```

```json
{
    "markets": ["United States", "Japan"],
    "chart": "iTunes Top Songs",
    "genres": ["K-Pop"]
}
```

### Output

```json
{
    "market": "United States",
    "chart": "Apple Music Top Songs",
    "rank": 1,
    "change": 2,
    "artist": "Drake & Don Toliver",
    "track": "Solar Eclipse",
    "genre": "R&B/Soul",
    "releaseDate": "2026-10-02",
    "appleUrl": "https://music.apple.com/us/album/solar-eclipse/6818209777?i=6818209989"
}
```

Each row only has the fields Apple publishes for that chart: album charts have no `track`, and Apple Music Top Songs has no `album`. `change` is empty on the first run and for new entries. A `RUN_SUMMARY` record in the key-value store lists charts that failed or were skipped.

### How to run Apple Music & iTunes Top Charts by Country via the API?

```bash
curl -X POST "https://api.apify.com/v2/acts/trovevault~apple-music-itunes-charts-by-country/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"markets": ["United States", "United Kingdom"], "chart": "Apple Music Top Songs"}'
```

### What are the limitations?

- Source: Apple's public marketing RSS feeds (Apple Music) and the iTunes Store RSS feeds (iTunes charts). Apple's feed is slow and sometimes times out; failed charts are retried, then listed in the run summary.
- Apple publishes charts per country only, so there is no global Apple chart.
- Apple Music charts stop at 100 positions; small iTunes markets can return fewer rows.
- The iTunes Store does not sell songs in some markets, such as South Korea, so those charts come back empty.
- `change` starts filling from the second chart date, because the first run has no baseline.

### Are there other music chart tools in Apify Store?

- [Spotify Daily Top 200 Charts by Country](https://apify.com/trovevault/spotify-daily-top-200-charts-by-country): daily Spotify charts with stream counts
- [Shazam Charts Scraper by Country, City & Genre](https://apify.com/trovevault/shazam-charts-by-country-city): what people are discovering, down to city level
- [Deezer Top Charts by Country](https://apify.com/trovevault/deezer-charts-by-country): official Deezer charts with ISRC codes
- [Cross-Platform Music Chart Tracker](https://apify.com/trovevault/cross-platform-music-chart-tracker): all four platforms in one row per song

### FAQ

#### Can I get the Apple Music Top 100 for any country?

Yes, for any country where Apple Music is available. Pick it in Markets and choose Apple Music Top Songs.

#### How often should I run Apple Music & iTunes Top Charts by Country?

Once a day suits daily tracking. `change` compares against the previous chart date, so extra runs on the same day do not distort it.

#### Can I get historical Apple Music charts?

The Actor exports the current chart. Schedule it daily with a Target Dataset ID and you build your own history from that day on.

#### What is the difference between Apple Music and iTunes charts?

Apple Music charts rank streaming plays. iTunes charts rank paid downloads, which reflect superfans and older audiences.

#### Can I filter by genre?

Yes for iTunes charts: pick one or more genres in the Genres box. Apple Music charts in the public feed are all-genre only.

#### Can I use Apple Music & iTunes Top Charts by Country with the Apify API?

Yes. Start runs and read results with the Apify API or the JavaScript and Python clients, as in the curl example above.

#### Can I use Apple Music & iTunes Top Charts by Country through an MCP server?

Yes. Add it to the Apify MCP server and AI agents such as Claude or ChatGPT can request chart data on demand.

#### Which integrations work with this Actor?

Any Apify integration: Google Sheets, Slack, Zapier, Make, n8n, webhooks and LangChain.

#### Is scraping Apple Music charts legal?

The Actor reads public chart feeds that Apple publishes for promotion and collects no personal data. Check your own use of the data against Apple's terms.

### What problems can happen?

- **A chart is empty or skipped**: the iTunes Store does not sell that item type in the market, or Apple has no chart there. The `RUN_SUMMARY` record lists it.
- **A chart failed**: Apple's feed timed out after retries. Run again; the failed chart is not billed.

### Your feedback

Found a bug or want another chart type? Open an issue in the Issues tab, with the run ID if a chart failed.

# Actor input Schema

## `markets` (type: `array`):

Apple storefronts to export. Apple publishes charts per country, so there is no global chart. Choose All markets to fetch every storefront. Examples: United States and United Kingdom, or Portugal, Brazil and Angola. Default: United States.

## `chart` (type: `string`):

Which Apple chart to export for each market. Apple Music charts rank streaming plays (Top 100); iTunes charts rank paid downloads (up to 200 positions). Example: Apple Music Top Songs for streaming, iTunes Top Songs for purchases. Default: Apple Music Top Songs.

## `genres` (type: `array`):

Optional genre filters for iTunes charts. Each selected genre adds one genre chart per market; Apple Music charts ignore this field. Examples: Country and Rock for the United States, K-Pop for South Korea and Japan. Default: empty, which exports the all-genre chart.

## `datasetId` (type: `string`):

Optional Apify dataset that receives a copy of every chart row in addition to the run's default dataset. What it does: appends this run's rows to an existing dataset, so scheduled daily runs accumulate in one place. Format: pick a dataset from your account, or pass its 17-character ID (letters and digits) through the API. Examples: a dataset named music-charts-daily, or aBcD1234efGh5678i. Default: empty, which writes only to the run's default dataset.

## `runId` (type: `string`):

Optional parent Apify run ID written into every output row as the runId field. What it does: stamps each row with an upstream run identifier so results trace back through a pipeline. Format: a 17-character Apify run ID (letters and digits), found in the run URL or run detail. Examples: aBcD1234efGh5678i, or leave empty to skip. Default: empty, which leaves runId unset on output rows.

## Actor input object example

```json
{
  "markets": [
    "United States"
  ],
  "chart": "Apple Music Top Songs"
}
```

# 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 = {
    "markets": [
        "United States"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("trovevault/apple-music-itunes-charts-by-country").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 = { "markets": ["United States"] }

# Run the Actor and wait for it to finish
run = client.actor("trovevault/apple-music-itunes-charts-by-country").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 '{
  "markets": [
    "United States"
  ]
}' |
apify call trovevault/apple-music-itunes-charts-by-country --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,trovevault/apple-music-itunes-charts-by-country"
        }
    }
}
```

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/ryhMEi4KkCinkxXTV/builds/qMMfg07W4ktlJ1RVa/openapi.json
