Kworb Music Charts Scraper — Spotify, Apple & YouTube avatar

Kworb Music Charts Scraper — Spotify, Apple & YouTube

Pricing

from $3.00 / 1,000 chart rows

Go to Apify Store
Kworb Music Charts Scraper — Spotify, Apple & YouTube

Kworb Music Charts Scraper — Spotify, Apple & YouTube

Scrape Kworb music charts: Spotify daily and weekly streams for 70+ countries, Apple Music, iTunes, YouTube, Shazam, and Deezer. One row is one chart entry with rank, streams, and movement. No login.

Pricing

from $3.00 / 1,000 chart rows

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

13 days ago

Last modified

Share

Kworb Music Charts Scraper

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Kworb or its affiliates. Data is read from publicly accessible chart pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Kworb scraper for public music charts. One row is one chart entry: rank, artist, title, streams or points, and how the position moved. Pull a Spotify daily or weekly chart for one market or for many countries in the same run, or switch to Apple Music, iTunes, YouTube, Shazam, Deezer, US radio, or an artist’s song list. Use it as a Kworb API alternative from Python, Node.js, cURL, or Apify MCP, and export the dataset as JSON.

Best for: label research, playlist research, and a scheduled read of the same charts each day.

When to use this Actor

  • Spotify streams by country — Leave Chart on Spotify and set Countries to global, us, gb, or several codes together.
  • The full current chart — Maximum rows per chart defaults to 200, which is a full daily or weekly list.
  • Apple Music, iTunes, or YouTube — Switch Chart. Countries are ignored on those modes.
  • One artist’s catalog — Chart “One artist's Spotify songs” and paste a 22-character Spotify artist ID.
  • Every Spotify market — Set Countries to all. The run reads each market up to Maximum rows per chart and stops at 20,000 rows.

When not to use this Actor

  • Your own Spotify account or playlists — This Actor reads public chart pages only.
  • Lyrics, audio, or copyrighted media — Rows are ranks and the numbers printed on the chart.
  • An unbounded totals dump — The totals list is every track that has charted. Cap Maximum rows per chart (up to 5,000 per page).

Key features

  • Spotify daily and weekly — Rank, movement, days or weeks on chart, peak, streams, stream change, seven-day streams on daily charts, and total streams. Spotify artist and track IDs when the page links them.
  • Many countries in one run — Pass a list of market codes, or all for every Spotify market.
  • Other public charts — Apple Music worldwide songs, iTunes worldwide songs, YouTube most-viewed and trending, Shazam, Deezer, US radio audience, the all-time Spotify artist list, and the cross-platform artist ranking.
  • Direct HTTP — Default 256 MB. No browser and no login.

Input

FieldRequiredDefaultWhat it does
ChartYesSpotify daily or weeklyWhich chart to read
CountriesNoglobalSpotify, Shazam, and Deezer markets. all expands to every Spotify market
Spotify periodNoDailyDaily or weekly. Other charts ignore it
Spotify chart kindNoCurrent chartCurrent list, or the long totals list
YouTube chartNoGlobal most-viewedUsed only for YouTube
Spotify artist IDsNo—Required for one artist’s songs
Maximum rows per chartNo200Cap per page. A run also stops at 20,000 rows
Parallel chartsNo4Pages fetched at once
Delay between requestsNo0.2 secondsPause between pages
{
"mode": "spotifyChart",
"countries": ["global", "us", "gb"],
"period": "daily",
"chartKind": "current",
"maxItems": 200
}

Output

FieldMeaning
rankPosition. Totals lists use row order
rankChange+N, -N, =, or NEW
artist, titlePrimary artist and track or video
streams, streamsChangeExact Spotify streams and the change
sevenDayStreamsLast seven days, on daily Spotify charts
totalStreamsCumulative streams when the page prints them
daysOnChart, weeksOnChart, peakPositionHow long it has charted, and its peak
points, views, likes, audienceApple Music / iTunes points, YouTube views and likes, or radio audience
streamsMillionsAll-time artist list, in millions as printed
spotifyArtistId, spotifyTrackIdIDs when the chart links them
country, periodMarket code and daily or weekly
marketRanksCountry positions beside a worldwide song
sourceUrlChart page for that row
scrapedAtUTC time of the run
{
"recordType": "chartEntry",
"mode": "spotifyChart",
"platform": "spotify",
"country": "global",
"countryName": "Global",
"period": "daily",
"chartKind": "current",
"rank": 1,
"rankChange": "=",
"rankDelta": 0,
"artist": "KAROL G",
"title": "BbY WOW",
"daysOnChart": 56,
"peakPosition": 1,
"weeksAtPeak": 37,
"streams": 5057786,
"streamsChange": 112220,
"spotifyArtistId": "790FomKkXshlbRYZFtlgla",
"spotifyTrackId": "3h5T5JypYU7huFiVYhv1dr",
"sourceUrl": "https://kworb.net/spotify/country/global_daily.html",
"scrapedAt": "2026-10-08T09:00:00Z"
}

Use cases

  • Read the global Spotify daily chart each morning and keep streams, seven-day streams, and peak.
  • Compare the same song in us, gb, de, and br by passing those codes in one run.
  • Pull the YouTube most-viewed list when you need views and likes next to the Spotify rank.
  • Look up one artist’s song totals with a Spotify artist ID before a playlist meeting.

Integration examples

Replace APIFY_TOKEN. The slug below is the Store name.

Node.js

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("crawloop/kworb-music-charts-scraper").call({
mode: "spotifyChart",
countries: ["global", "us"],
period: "daily",
maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("crawloop/kworb-music-charts-scraper").call(run_input={
"mode": "spotifyChart",
"countries": ["global"],
"period": "weekly",
"maxItems": 200,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items))

cURL

curl -X POST "https://api.apify.com/v2/acts/crawloop~kworb-music-charts-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"spotifyChart","countries":["gb"],"period":"daily","maxItems":50}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store name crawloop/kworb-music-charts-scraper.

Example prompts:

  • "Run Kworb Music Charts Scraper for the global Spotify daily chart and return rank, artist, title, and streams as JSON"
  • "Scrape Kworb Spotify weekly charts for us and gb and summarize the songs that rose"
  • "Run Kworb Music Charts Scraper in YouTube mode and list the top videos with views"

FAQ

Does one run cover more than one country? Yes. Countries accepts a list. all reads every Spotify market. Each page is capped by Maximum rows per chart, and the run stops at 20,000 rows.

Are the stream counts exact? On Spotify daily and weekly charts, streams is the exact count printed on the page. On the all-time artist list, streamsMillions is the figure in millions, as printed.

What is the totals list? Set Spotify chart kind to Totals. That page lists tracks that have charted, not only today’s top 200. Raise Maximum rows per chart if you need more than 200 of them.

Do I need a login or a proxy? No. The Actor reads public chart pages over HTTP.

How do I export the rows? The run writes one chart entry per dataset row. Download JSON, CSV, or Excel from that dataset, or read it with the Node.js, Python, and cURL examples.