Deezer Music Catalog API Scraper
Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.
Deezer Music Catalog API Scraper
Search and retrieve music catalog data from Deezer's public API — tracks, artists, albums, and playlists — without any authentication. Exposes ISRC and UPC join keys, BPM, gain, and popularity rank fields unavailable in most competing actors.
What it does
- Searches Deezer's catalog by keyword across any entity type:
track,artist,album,playlist, orchart - Handles offset-based pagination automatically, respecting Deezer's 50 req/5s rate limit
- Optionally fetches full track detail records (BPM, gain, ISRC, track position, disk number) via
fetchDetails: true - Supports comma-separated batch queries for multi-keyword runs in a single execution
- Chart mode (
entityType: chart) returns trending tracks for any Deezer genre without a keyword
Why use this
Deezer is the last major streaming catalog with a public, auth-free API. Spotify now requires OAuth; Apple Music requires an enterprise token. Deezer's API returns 90M+ tracks with cross-platform join fields:
- ISRC — standard track identifier; joins to MusicBrainz, Discogs, Apple Music
- UPC — album barcode; joins to Discogs, Amazon, Bandcamp
- BPM / gain — audio features for music-analysis workflows
Input
| Field | Type | Description |
|---|---|---|
query |
string | Search keyword(s). Comma-separate for batch: "radiohead, jazz". Required unless entityType is "chart". |
entityType |
string | One of: track (default), artist, album, playlist, chart |
genreId |
integer | Genre ID for chart mode. 0 = global top. Examples: 85 = Alternative, 132 = Pop, 116 = Rap/Hip-Hop, 106 = Electronic, 152 = Jazz |
fetchDetails |
boolean | When true and entityType is track, fetches detail pages for BPM, gain, ISRC, track position, and disk number. Slower but richer data. Default: false |
maxItems |
integer | Maximum records to return. Deezer caps searches at 2000 per query. Default: 50 |
Output
Each record contains:
| Field | Description |
|---|---|
id |
Deezer entity ID |
type |
track, artist, album, or playlist |
title |
Track/album title, or artist name |
artist_id, artist_name, artist_picture |
Artist info |
album_id, album_title, album_cover |
Album info (tracks/albums) |
duration |
Track length in seconds |
isrc |
International Standard Recording Code (tracks) |
upc |
Universal Product Code / album barcode (albums) |
rank |
Deezer popularity rank |
explicit_lyrics |
Explicit content flag |
bpm |
Beats per minute (requires fetchDetails: true) |
gain |
Loudness gain in dB (requires fetchDetails: true) |
release_date |
Release date (YYYY-MM-DD) |
nb_tracks |
Track count (albums, playlists) |
nb_fan |
Artist follower count |
preview_url |
30-second preview MP3 URL |
deezer_url |
Canonical Deezer URL |
Example inputs
Search tracks by an artist:
{
"query": "radiohead",
"entityType": "track",
"maxItems": 100
}
Get album catalog with UPC join keys:
{
"query": "ok computer",
"entityType": "album",
"maxItems": 20
}
Get global top chart:
{
"entityType": "chart",
"genreId": 0,
"maxItems": 50
}
Rich track data with BPM and ISRC:
{
"query": "jazz",
"entityType": "track",
"fetchDetails": true,
"maxItems": 25
}
Rate limits
Deezer's public API allows approximately 50 requests per 5 seconds. This actor throttles to 5 requests per second and handles pagination automatically. No authentication.
Notes
- Deezer caps search results at index 2000 — queries matching millions of tracks will be capped there
track_position,disk_number,bpm,gain, andrelease_dateare only populated on track records whenfetchDetails: true- Chart mode returns top tracks only; to get top artists or albums, search directly by genre keyword