Kworb Music Charts Scraper — Spotify, Apple & YouTube
Pricing
from $3.00 / 1,000 chart rows
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
13 days ago
Last modified
Categories
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
allfor 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
| Field | Required | Default | What it does |
|---|---|---|---|
| Chart | Yes | Spotify daily or weekly | Which chart to read |
| Countries | No | global | Spotify, Shazam, and Deezer markets. all expands to every Spotify market |
| Spotify period | No | Daily | Daily or weekly. Other charts ignore it |
| Spotify chart kind | No | Current chart | Current list, or the long totals list |
| YouTube chart | No | Global most-viewed | Used only for YouTube |
| Spotify artist IDs | No | — | Required for one artist’s songs |
| Maximum rows per chart | No | 200 | Cap per page. A run also stops at 20,000 rows |
| Parallel charts | No | 4 | Pages fetched at once |
| Delay between requests | No | 0.2 seconds | Pause between pages |
{"mode": "spotifyChart","countries": ["global", "us", "gb"],"period": "daily","chartKind": "current","maxItems": 200}
Output
| Field | Meaning |
|---|---|
rank | Position. Totals lists use row order |
rankChange | +N, -N, =, or NEW |
artist, title | Primary artist and track or video |
streams, streamsChange | Exact Spotify streams and the change |
sevenDayStreams | Last seven days, on daily Spotify charts |
totalStreams | Cumulative streams when the page prints them |
daysOnChart, weeksOnChart, peakPosition | How long it has charted, and its peak |
points, views, likes, audience | Apple Music / iTunes points, YouTube views and likes, or radio audience |
streamsMillions | All-time artist list, in millions as printed |
spotifyArtistId, spotifyTrackId | IDs when the chart links them |
country, period | Market code and daily or weekly |
marketRanks | Country positions beside a worldwide song |
sourceUrl | Chart page for that row |
scrapedAt | UTC 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, andbrby 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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.