Current audience reach, nothing else
RapStat ranks Persian rap and R&B artists by how many people they reach right now, across the platforms where that reach is publicly countable. It is not a measure of talent, influence, legacy or record sales, and it isn’t meant to be.
Roster
186 artists
Curated, with verified profiles
Ranked
186 artists
With at least one counted number
Latest ranking
Oct 21, 2026
Rankings are computed once a day
Daily run
20:30 UTC
About midnight in Tehran
Where the numbers come from
Every source is read once a day, at 20:30 UTC. Pages are served from the stored numbers, never from live calls. If a source fails, the last good values stay and nothing is filled in. Values marked ≈ are published by the platform in rounded form, and we always show them that way.
| Platform | What we read | Coverage | Exact or ≈ | Last update | Known limitations |
|---|---|---|---|---|---|
| SpotifyScored | Monthly listeners, followers, top cities, top tracks, related artists | 185 of 186 | Exact | Oct 21, 2026 | Unofficial web-player data (not Spotify’s developer API), so it can break without notice. Spotify isn’t available in Iran: listeners there use VPNs and show up in exit cities such as Frankfurt or Istanbul, which the maps label as VPN hubs. |
| Radio JavanScored | Followers, monthly plays, total plays, songs | 74 of 186 | ≈ Radio Javan monthly plays | Oct 21, 2026 | Unofficial app API. Plays are published rounded (“1.2M”), so they are marked ≈ everywhere. |
| YouTubeScored | Subscribers, total views, latest uploads | 113 of 1863 not counted | ≈ YouTube subscribers | Oct 21, 2026 | Official Data API. YouTube rounds subscriber counts, so they are marked ≈. A personal or non-music channel is collected but not scored. |
| DeezerScored | Fans | 63 of 186 | Exact | Oct 21, 2026 | Public API. Many Persian artists have no Deezer profile, which is why a missing platform costs only part of its weight. |
| Last.fmNot scored | Listeners, scrobbles | 0 of 186 | Exact | Not collected (no API key) | Not in the formula yet: no roster artist has a verified Last.fm profile, so its weight is left out instead of counting as zero for everyone. |
| TelegramNot scored | Channel subscribers | 4 of 186 | Exact | Oct 21, 2026 | Shown on profiles but excluded from scoring until coverage is broad (only 4 artists have a verified channel). |
Spotify
Scored- Reads
- Monthly listeners, followers, top cities, top tracks, related artists
- Coverage
- 185 of 186
- Exact or ≈
- Exact
- Last update
- Oct 21, 2026
Unofficial web-player data (not Spotify’s developer API), so it can break without notice. Spotify isn’t available in Iran: listeners there use VPNs and show up in exit cities such as Frankfurt or Istanbul, which the maps label as VPN hubs.
Radio Javan
Scored- Reads
- Followers, monthly plays, total plays, songs
- Coverage
- 74 of 186
- Exact or ≈
- ≈ Radio Javan monthly plays
- Last update
- Oct 21, 2026
Unofficial app API. Plays are published rounded (“1.2M”), so they are marked ≈ everywhere.
YouTube
Scored- Reads
- Subscribers, total views, latest uploads
- Coverage
- 113 of 186 (3 not counted)
- Exact or ≈
- ≈ YouTube subscribers
- Last update
- Oct 21, 2026
Official Data API. YouTube rounds subscriber counts, so they are marked ≈. A personal or non-music channel is collected but not scored.
Deezer
Scored- Reads
- Fans
- Coverage
- 63 of 186
- Exact or ≈
- Exact
- Last update
- Oct 21, 2026
Public API. Many Persian artists have no Deezer profile, which is why a missing platform costs only part of its weight.
Last.fm
Not scored- Reads
- Listeners, scrobbles
- Coverage
- 0 of 186
- Exact or ≈
- Exact
- Last update
- Not collected (no API key)
Not in the formula yet: no roster artist has a verified Last.fm profile, so its weight is left out instead of counting as zero for everyone.
Telegram
Not scored- Reads
- Channel subscribers
- Coverage
- 4 of 186
- Exact or ≈
- Exact
- Last update
- Oct 21, 2026
Shown on profiles but excluded from scoring until coverage is broad (only 4 artists have a verified channel).
How the 0–100 score works
The score combines several metrics, each with a fixed weight. A metric only enters the formula when at least one roster artist has a value for it, so a platform nobody is on can’t drag everyone down.
| Metric | Weight | Artists with data | Status |
|---|---|---|---|
| Spotify monthly listeners | 0.30 | 185 | Scored |
| Radio Javan monthly plays≈ | 0.15 | 74 | Scored |
| YouTube subscribers≈ | 0.15 | 110 | Scored |
| Radio Javan followers | 0.10 | 74 | Scored |
| YouTube views | 0.10 | 110 | Scored |
| Spotify followers | 0.05 | 185 | Scored |
| Deezer fans | 0.05 | 63 | Scored |
| Last.fm listeners | 0.05 | 0 | Not in the formula yet |
| Telegram subscribers | 0.00 | 4 | Not scored |
1. A log scale with a floor
Audiences range from hundreds to millions, so each value is placed on a log scale between the roster’s 10th percentile (which scores 0) and the roster leader (which scores 1). A tiny account earns about nothing; doubling a big audience moves the needle less than doubling a small one.
scaled = (log(1 + value) − log(1 + p10)) / (log(1 + max) − log(1 + p10)), clipped to 0–1
2. Missing a platform costs part of its weight, not all of it
If an artist has no profile on a platform, it doesn’t count as a zero. Instead, λ = 0.35 of that platform’s weight is added to the denominator. Not being on Radio Javan, for example, adds 0.35 × 0.25 instead of the full weight. Being on more platforms still helps, but a missing one costs less than a zero would.
3. Non-music channels don’t count
When an artist’s only channel on a platform is personal or non-music (vlogs, a channel run by someone else), we still collect and show it, but it is scored as if the artist weren’t on that platform. Right now that applies to 3 YouTube channels.
4. Stale data is skipped
Only values from the last 7 days count. If we have an artist’s profile but a collector failed, that metric is skipped: no points and no penalty, so an outage on our side never lowers anyone.
score = 100 × Σ (weight × scaled) / Σ (weight, or λ × weight for a missing platform)
Worked example: Amir Tatalooامیر تتلو, #1 on Oct 21, 2026
Each value is placed between the roster’s 10th percentile (→ 0) and the roster leader (→ 1) on a log scale, then multiplied by its weight.
| Metric | Value | Roster floor → leader | Scaled | Weight | Weight × scaled |
|---|---|---|---|---|---|
| Spotify monthly listeners | 273,223 | 4,164 → 297,060 | 0.980 | 0.30 | 0.2941 |
| Spotify followers | 922,480 | 2,513 → 922,480 | 1.000 | 0.05 | 0.0500 |
| Radio Javan monthly plays | ≈3,480,000 | 11,940 → 5,210,000 | 0.934 | 0.15 | 0.1400 |
| Radio Javan followers | 591,101 | 949 → 591,101 | 1.000 | 0.10 | 0.1000 |
| YouTube subscribers | ≈938,000 | 1,063 → 938,000 | 1.000 | 0.15 | 0.1500 |
| YouTube views | 289,083,836 | 96,680 → 289,083,836 | 1.000 | 0.10 | 0.1000 |
| Deezer fans | 13,493 | 107 → 14,470 | 0.986 | 0.05 | 0.0493 |
- Spotify monthly listeners273,223
roster 4,164 → 297,060
scaled 0.980 × weight 0.30 = 0.2941
- Spotify followers922,480
roster 2,513 → 922,480
scaled 1.000 × weight 0.05 = 0.0500
- Radio Javan monthly plays≈3,480,000
roster 11,940 → 5,210,000
scaled 0.934 × weight 0.15 = 0.1400
- Radio Javan followers591,101
roster 949 → 591,101
scaled 1.000 × weight 0.10 = 0.1000
- YouTube subscribers≈938,000
roster 1,063 → 938,000
scaled 1.000 × weight 0.15 = 0.1500
- YouTube views289,083,836
roster 96,680 → 289,083,836
scaled 1.000 × weight 0.10 = 0.1000
- Deezer fans13,493
roster 107 → 14,470
scaled 0.986 × weight 0.05 = 0.0493
Σ weight × scaled = 0.8834 Σ weights = 0.90 = 0.9000 score = 100 × 0.8834 / 0.9000 = 98.2 (published: 98.2)
Every artist page has the same breakdown, platform by platform.
Growth, Rising and the history charts
Growth compares each metric with its own value a while ago and averages the relative changes by weight, using only metrics that have a value at both ends. The comparison point may be a few days off the exact date:
7-day growth
± 3 days
Closest value within 3 days of 7 days ago
30-day growth
± 12 days
Closest value within 12 days of 30 days ago
1-year growth
± 45 days
Closest value within 45 days of a year ago
Rising sorts artists by 30-day growth: long enough to ignore day-to-day noise, short enough to catch a breakout.
Live points and archived points
- Live: one snapshot per artist per day, from the day the artist joined RapStat.
- Archived: earlier months rebuilt from copies of public profile pages saved by the Internet Archive. They are drawn dashed in the charts.
- A capture only counts if the archive returns that exact capture. We never accept the archive’s redirect to the nearest one, which can be years away. We keep at most one point per artist, metric and month.
- A value identical to one captured more than 60 days earlier is dropped as a stale copy.
- Archived months are ranked by Spotify monthly listeners only (the one metric with consistent archive coverage), among artists with an archived value within ± 45 days, and only when at least 10 artists qualify. They aren’t comparable to live cross-platform scores.
A curated roster with verified profiles
RapStat follows a curated list of 186 Persian rap and R&B artists, Iranian and diaspora. Every platform profile is verified by hand and stored by its id, so collectors never search by name and never pick up a namesake. When an artist has a second Spotify profile, the two are merged.
Spotify
185 of 186
verified profiles
Radio Javan
74 of 186
verified profiles
YouTube
113 of 186
verified profiles · 3 not counted
Deezer
63 of 186
verified profiles
Telegram
4 of 186
verified profiles
What we never do
No paid placements
Nobody can pay to be listed, ranked higher or featured. Rank is the formula above, nothing else.
No manual boosts
No artist is adjusted by hand, up or down. Exclusions only remove non-music channels, and they are shown on the artist page.
No estimates presented as exact
Rounded platform figures carry ≈, missing data is shown as missing, and we never guess a number.
Parameters on this page are served by the API from the ranking code (ranking of Oct 21, 2026).