artist.tools offers robust detection of artificially inflated Spotify activity, helping you understand whether a playlist, track, artist, or curator is likely involved in botted behavior. This guide explains the fields you'll see in our API, how to interpret them, and where they apply.
Entity-Specific Bot Detection
Entity Type | Key Detection Fields |
---|---|
Playlists | qualityScore , qualityData |
Tracks/Artists | playlistSummary |
All Entities | bot-status endpoint |
Playlist-Level Detection
qualityScore
(integer)
qualityScore
(integer)A score from -1000 to 1000 representing the playlist's estimated quality.
Score Range | Meaning |
---|---|
900–1000 | Human-reviewed and confirmed as authentic. |
1–899 | No signs of botting, playlist appears active. |
0 | Insufficient data. |
-1 to -49 | No signs of botting, but low engagement or inactivity. |
-50 to -899 | Potentially botted (algorithmic flags, no manual review). |
-900 to -1000 | Confirmed botted or linked to known botted networks. |
qualityData
(object)
qualityData
(object)Returned for playlists only. This object contains:
botted
:true
ifqualityScore <= -50
fraudData
: Dates with fraud indicators (e.g. spikes, dips)fraudDates
: Raw list of suspicious dates (deprecated)ignoreDates
: Dates ignored due to known anomalies (e.g. mass Spotify bot purges) (deprecated)indicators
: Tags likeunusual_growth
,fake_follower_ratio
override
: Manual admin-reviewed object with fields like:rating
:"Good"
,"Okay"
, or"Bad"
notes
,listeners
,date
Track/Artist-Level Detection
playlistSummary
(object)
playlistSummary
(object)Summarizes a track or artist's exposure to playlists, including potential bot placements:
playlistSummary: {
total: number; // Total number of playlists the entity is in
followerReach: number; // Combined followers across those playlists
fraud: number; // Count of botted playlists
fraudSpotifyIds: string[]; // Spotify playlist IDs flagged as botted
}
Use this to quickly evaluate the overall risk associated with playlist placements.
All Entities: bot-status
Endpoint
bot-status
EndpointThe /v2/misc/bot-status
endpoint returns a lightweight verdict for any Spotify entity (playlist, track, artist, curator). It returns:
{
"botted": true,
"metadata": {
"bottedPlaylistIds": ["1a2b3c...", "4d5e6f..."],
"bottedPlaylistCount": 2,
"indicators": { ... }, // For playlists
"fraudHistory": { ... }, // For playlists
"adminOverride": { ... } // For playlists
}
}
Response Fields
botted
:true
orfalse
— whether the entity is currently flaggedmetadata
: Contextual info:bottedPlaylistIds
: Only for artists/tracks/curatorsbottedPlaylistCount
: Numeric summaryindicators
,fraudHistory
,adminOverride
: Only for playlists
Best Practices
- Filter out playlists with
qualityScore <= -50
for safety. - Use
playlistSummary.fraud
to assess overall placement health for a track or artist. - Use the
bot-status
endpoint for quick checks or UI gating. - Human-reviewed overrides (
qualityData.override
oradminOverride
) should always take precedence.
If you need clarification or support integrating this data into your system, reach out to [email protected].
Limitations
While artist.tools provides powerful bot detection, there are important limitations to be aware of:
-
Not All-Encompassing: Our detection systems are robust, but not exhaustive. Suspicious behavior may go undetected.
-
Limited Data on New Playlists: If we've just ingested a playlist, we may not have enough data to provide an assessment. This is common. Allow up to 7 days for full evaluation.
-
Use as a Signal, Not a Verdict: We do not recommend using our detection as your only line of defense. Always compare our findings with your own data sources.
-
No Access to Internal DSP Data: We rely solely on publicly available data. Platforms like Spotify may have internal signals (e.g. user-level stream behavior) that we cannot observe or factor into our analysis.
-
Deeper Insight Available: For those doing deeper audits, the
snapshots[]
array (enabled via theincludeSnapshots
API option) allows you to inspect timeline-level playlist growth and make your own assessments.