Spotify Charts Scraper: Top 200 Streams, Artists & Albums avatar

Spotify Charts Scraper: Top 200 Streams, Artists & Albums

Pricing

from $0.30 / 1,000 chart entries

Go to Apify Store
Spotify Charts Scraper: Top 200 Streams, Artists & Albums

Spotify Charts Scraper: Top 200 Streams, Artists & Albums

Spotify Charts by country: the Top 200 with daily streams, top artists and top albums, daily or weekly, plus weekly city charts. Rank change, peak and days on chart; optional play counts and genres.

Pricing

from $0.30 / 1,000 chart entries

Rating

0.0

(0)

Developer

Eduardo Airaudo

Eduardo Airaudo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Spotify Charts Scraper

Spotify Charts as clean data: the Top 200 songs with their daily streams and the top artists of the world and 72 countries, and the top albums of the world and 52 of those countries, daily or weekly, plus weekly city charts. Every row is one chart entry with its rank, rank change, peak and days on chart. Run it once, schedule it as a daily chart feed, and export to JSON, CSV or Excel. No Spotify account and no API key.

Unofficial; not affiliated with Spotify. This Actor reads the rankings shown on Spotify Charts.

What does Spotify Charts Scraper do?

Spotify Charts Scraper exports three Spotify Charts for the markets you choose:

  • Top 200 (top200): the most-streamed songs of a day or a week, up to 200, each with the streams it got in that day or week (streams).
  • Top artists (topArtists): the most-streamed artists, up to 200.
  • Top albums (topAlbums): the most-streamed albums of the week, up to 200.

Smaller markets list fewer entries: on 30 October 2026 Luxembourg's Top 200 had 55 songs and its top artists chart 67 artists.

Every chart entry comes with its movement: the previous rank and the change since the previous chart, the peak position and when it was reached, when and at which rank it first entered, its status (new entry, re-entry, up, down, no change) and how many days or weeks it has spent on the chart. Songs and albums also carry their artists, label, release date, cover and Spotify link. On request, every Top 200 song gets its all-time play count and Spotify's genres, moods and tempo.

Spotify Top 200 with daily streams

The Top 200 ranks songs by streams, and that number is in every row: on 30 October 2026 the global number one, Housewife by Tate McRae, had 6,118,911 streams in one day. Ask for weekly and streams holds the week's total instead.

Pick global for the worldwide chart or any of the 72 countries below, and choose how deep to go with Max entries per chart (maxRowsPerChart): 200 for the whole chart, 50 for the top 50, 10 for the top 10. Each chart is one request, so the global and US Top 200 arrive in about two seconds.

Top artists and top albums

The top artists chart (topArtists) ranks artists by their streams of the day or week; Spotify Charts has it daily and weekly for the world and all 72 countries. The top albums chart (topAlbums) ranks albums by their weekly streams; Spotify Charts has it weekly only, so a daily run uses the latest weekly album chart and says so in its log, and only for the world and 52 of the 72 countries (the list follows the table below). Spotify gives no stream counts on these two charts, so streams is empty there, while every other column is filled in.

Countries, cities and weekly charts

Enter countries in Countries (countries) by code (US, gb) or by name (Brazil, México). These 72 countries have a Top 200 and a top artists chart:

CountryCodeCountryCodeCountryCode
ArgentinaARHondurasHNParaguayPY
AustraliaAUHong KongHKPeruPE
AustriaATHungaryHUPhilippinesPH
BelarusBYIcelandISPolandPL
BelgiumBEIndiaINPortugalPT
BoliviaBOIndonesiaIDRomaniaRO
BrazilBRIrelandIESaudi ArabiaSA
BulgariaBGIsraelILSingaporeSG
CanadaCAItalyITSlovakiaSK
ChileCLJapanJPSouth AfricaZA
ColombiaCOKazakhstanKZSouth KoreaKR
Costa RicaCRLatviaLVSpainES
Czech RepublicCZLithuaniaLTSwedenSE
DenmarkDKLuxembourgLUSwitzerlandCH
Dominican RepublicDOMalaysiaMYTaiwanTW
EcuadorECMexicoMXThailandTH
EgyptEGMoroccoMATurkeyTR
El SalvadorSVNetherlandsNLUkraineUA
EstoniaEENew ZealandNZUnited Arab EmiratesAE
FinlandFINicaraguaNIUnited KingdomGB
FranceFRNigeriaNGUnited StatesUS
GermanyDENorwayNOUruguayUY
GreeceGRPakistanPKVenezuelaVE
GuatemalaGTPanamaPAVietnamVN

Top albums exist for the world and every country above except these 20: Bolivia, Bulgaria, Costa Rica, Egypt, El Salvador, Estonia, Greece, Honduras, Iceland, Latvia, Lithuania, Luxembourg, Morocco, Nicaragua, Paraguay, Portugal, Saudi Arabia, South Korea, United Arab Emirates and Uruguay. Their top albums are reported in ERRORS without a request and never charged; their Top 200 and top artists are delivered as usual.

City charts. Spotify Charts also ranks the songs of selected cities every week, such as São Paulo, Mexico City, Los Angeles and Jakarta. Enter up to 20 in Cities (cities) by name. The Actor sends the name in lower case without spaces or accents (São Paulo → saopaulo, Mexico City → mexicocity), the form Spotify Charts uses for these four; if Spotify Charts knows a city by another name, enter that name. City charts list up to 100 songs, without stream counts, and come weekly whatever Period says. A city Spotify Charts does not chart is reported in ERRORS and never charged.

Weekly charts. Set Period (period) to weekly for the charts of a whole week. A weekly chart covers the seven days up to its date, which is always a Thursday.

Historical charts by date

Leave Chart date (date) empty for the latest charts, or pick a past day to get that day's charts (or, with weekly, that week's). Every row carries the chart's own date in date. When Spotify skipped the day you asked for, you get its nearest earlier chart, up to a week before, dated as such; a chart further away is not delivered and not charged.

How far back each chart goes:

ChartFirst chart
Top 200, daily1 January 2017
Top 200, weekly29 December 2016
Top albums (weekly)22 October 2020
Top artists, daily and weekly21 October 2021

A date before a chart's first one is reported in ERRORS without a request and never charged. Some countries and the city charts start later; a date before their first chart is reported in ERRORS too.

To build a history, run the Actor once per date: a task with a different date per run, or one schedule that reads the latest chart every day.

Schedule a daily chart export

  1. Fill in your markets and charts and save the input as a task.
  2. Schedule the task daily in Apify (Spotify updates the daily charts once a day).
  3. Send every new dataset to Google Sheets, Slack, a webhook or your database with Apify integrations.

The latest daily chart is usually the one from two days before (on a Sunday morning the newest is Friday's), so a daily schedule always gets a new chart. If Spotify Charts stops updating a chart, the Actor refuses to deliver the stale one: a latest daily chart older than 10 days, or a weekly one older than 21 days, is reported in ERRORS and never charged.

Input

FieldWhat it doesDefault
countriesMarkets, one per line: global, a 2-letter country code or a country name. Each market is one chart per chart type.global
chartTypesThe charts to export for every market: top200, topArtists, topAlbums.top200
perioddaily or weekly. Top albums and city charts are always weekly.daily
maxRowsPerChartEntries kept from the top of each chart, 1 to 200.200
citiesCities for their weekly Top 200, one per line, up to 20.empty
dateA past chart date (YYYY-MM-DD); empty for the latest charts.empty
includePlayCountsAdds each Top 200 song's all-time play count (playCount).false
includeGenresAdds each Top 200 song's genres, moods and tempo.false

The form starts with the top 50 of the global and US Top 200; set Max entries per chart to 200 for the whole charts. Example input:

{
"countries": ["global", "us", "Brazil", "MX"],
"chartTypes": ["top200", "topArtists"],
"period": "daily",
"maxRowsPerChart": 200,
"cities": ["São Paulo"],
"includePlayCounts": true
}

Output

One row per chart entry, in rank order within each chart. The global Top 200 of 30 October 2026, number two, with both extras on:

{
"chartType": "top200",
"country": "GLOBAL",
"city": null,
"period": "daily",
"date": "2026-10-30",
"rank": 2,
"previousRank": 2,
"rankChange": 0,
"peakRank": 1,
"peakDate": "2026-08-27",
"entryRank": 189,
"entryDate": "2026-08-12",
"entryStatus": "NO_CHANGE",
"appearancesOnChart": 80,
"consecutiveAppearancesOnChart": 80,
"streams": 5370997,
"id": "3h5T5JypYU7huFiVYhv1dr",
"name": "BbY WOW",
"artists": ["KAROL G", "Judeline", "rusowsky"],
"artistIds": ["790FomKkXshlbRYZFtlgla", "1H6X7yhnXZg73f9bssaj1Q", "1XEVu7gdRFfzEFqsPrancH"],
"label": "Bichota/Interscope Records",
"releaseDate": "2026-08-07",
"imageUrl": "https://i.scdn.co/image/ab67616d00001e0221deb742375f88edfb2e7368",
"url": "https://open.spotify.com/track/3h5T5JypYU7huFiVYhv1dr",
"playCount": 409777638,
"genres": ["reggaeton", "latin", "trap latino", "club"],
"moods": ["happy", "pump up"],
"tempo": 60,
"scrapedAt": "2026-11-01T07:52:34.958Z"
}

The song entered the global chart at number 189 on 12 August 2026, reached number one on 27 August and has now been on it 80 days in a row.

FieldMeaning
chartTypeThe chart: top200, topArtists or topAlbums.
country, cityThe market: GLOBAL or a country code; for a city chart the city instead.
period, datedaily or weekly, and the chart's date (weekly charts are dated on a Thursday).
rankPosition on the chart.
previousRank, rankChangePosition on the previous chart and the places gained (negative: lost). Empty for new entries and re-entries.
peakRank, peakDateBest position ever reached on this chart, and when it was first reached.
entryRank, entryDatePosition and date of the first appearance on this chart.
entryStatusNEW_ENTRY, RE_ENTRY, MOVED_UP, MOVED_DOWN or NO_CHANGE.
appearancesOnChart, consecutiveAppearancesOnChartDays (daily charts) or weeks (weekly charts) on the chart in total, and in a row.
streamsStreams in the chart's day or week (Top 200 country and global charts).
id, name, url, imageUrlThe song, artist or album: Spotify ID, name, Spotify link and cover or picture.
artists, artistIdsCredited artists of a song or album, and their Spotify IDs.
label, releaseDateRecord label and release date of a song or album.
playCountWith includePlayCounts: the song's all-time Spotify play count (empty when it did not arrive).
genres, moods, tempoWith includeGenres: Spotify's genre and mood descriptors of the song, strongest first, and its tempo in BPM (empty when they did not arrive).
scrapedAtWhen the chart was read.

The Output tab has three views: Charts (rank, song, streams and movement), Rank movement (where every entry came from) and Play counts and genres (the extras). The CSV link leaves out the artistIds lists.

How much does it cost to scrape Spotify charts?

You pay per chart entry delivered. Your price follows your Apify plan:

Apify planPer chart entryPer 1,000 chart entries
Free$0.0005$0.50
Bronze$0.00045$0.45
Silver$0.0004$0.40
Gold, Platinum and Diamond$0.0003$0.30

Each run also has Apify's start fee of $0.00005 (5 thousandths of a cent), and Apify covers the first 5 seconds of every run's compute. Play counts and genres cost nothing extra. There is no monthly rental and no charge for platform usage.

Example (Free plan)Chart entriesCost
The prefilled run: top 50 of the global and US Top 200100$0.05 + $0.00005 start
The global Top 200 every day for 30 days6,000$3.00
The Top 200 of every market once (global and 72 countries)up to 14,600up to $7.30 ($4.38 on Gold)
The top 10 of every market every day for 30 days21,900$10.95

Never charged: charts Spotify has not published, outdated charts, unknown countries and cities, dates before a chart's history, and repeated inputs. Set a maximum cost per run and the Actor stops at that amount without going over.

FAQ

When are Spotify charts updated?

Daily charts once a day, each covering one day; the newest is usually two days old. Weekly charts cover the seven days up to a Thursday and appear a day or two after it. Top albums are weekly only, and so are city charts.

Which countries does Spotify Charts cover?

The world (global) and the 72 countries in the table above have a Top 200 and a top artists chart; the world and 52 of those countries also have top albums. Other countries have no chart on Spotify Charts; a code or name outside the list is reported in ERRORS and never charged.

Can I get the Viral 50?

No. This Actor does not offer the viral charts: it could not read current ones reliably when it was published. It offers the Top 200, the top artists and the top albums, which are updated every day or week.

Why is streams empty?

Spotify publishes stream counts only on the Top 200 of a country or of the world. City charts, the top artists and the top albums rank by streams without showing them.

Why are previousRank and rankChange empty?

The entry was not on the previous chart: it is a new entry (NEW_ENTRY) or came back (RE_ENTRY).

What does a playCount of 0 mean?

Fewer than 1,000 plays: Spotify shows 0 until a song passes 1,000 plays. Songs on a chart are almost always far past that, so expect large numbers here.

Why are playCount or genres empty?

Each song's play count, genres, moods and tempo are looked up while the chart is read. A song Spotify had none for this time gets an empty field (RUN_SUMMARY counts them in entriesWithoutPlayCount). When they do not arrive for a whole chart, the Actor asks for that chart again about 15 seconds later; if they still do not arrive, it delivers the chart without them and says so in the run's status and in RUN_SUMMARY (chartsWithoutExtras and warnings). Play counts and genres cost nothing extra either way.

What happens when Spotify has not published a chart yet?

You get the latest chart Spotify has, with its own date in date. A chart that has stopped updating (a daily chart more than 10 days old, a weekly one more than 21) is not delivered and not charged, and the run says why in ERRORS.

Do I need a Spotify account or API key?

No. You only need an Apify account. Spotify's own Web API has no charts at all.

Spotify Charts rankings are aggregate figures: ranks and stream counts of songs, artists and albums, with no personal data. Check that your use of the data complies with Spotify's terms and the laws that apply to you.

Use it from the Apify API or MCP

Start a run, wait for it and get the chart entries in one call (synchronous calls wait up to 5 minutes):

curl -X POST "https://api.apify.com/v2/acts/eduair94~spotify-charts-scraper/run-sync-get-dataset-items?maxTotalChargeUsd=1" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"countries": ["global", "us"], "chartTypes": ["top200"], "maxRowsPerChart": 10}'

JavaScript, with the apify-client package:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('eduair94/spotify-charts-scraper').call({
countries: ['global', 'GB'],
chartTypes: ['top200', 'topArtists'],
period: 'weekly',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const entry of items) console.log(entry.country, entry.rank, entry.name, entry.streams);

Python, with the apify-client package:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("eduair94/spotify-charts-scraper").call(
run_input={"countries": ["BR", "MX"], "cities": ["São Paulo"], "includeGenres": True}
)
for entry in client.dataset(run["defaultDatasetId"]).iterate_items():
print(entry["date"], entry["rank"], entry["name"], entry.get("genres"))

AI agents can call it too: add the Actor to Apify's MCP server and ask for a country's Spotify Top 200 in plain language.

Use cases

  • Label and artist marketing: daily chart positions and streams of your releases in every market, straight into a dashboard or a Slack channel.
  • Chart tracking and reporting: a dated, ready-to-chart history of the Top 200, top artists and top albums for weekly reports.
  • Music journalism: new entries, record streams and long chart runs by country, with the numbers to back the story.
  • A&R and trend scouting: songs climbing city and country charts before they break globally, with their genres and moods.
  • Market research: compare what each country streams, or how a genre performs across markets.