Deezer Scraper — Tracks, Artists, Albums & Charts
Pricing
from $1.50 / 1,000 results
Deezer Scraper — Tracks, Artists, Albums & Charts
Scrape Deezer by keyword or chart. Extract track title, artist, album, duration, rank, preview URL, release date, and explicit flag. No API key, no login. Bulk-ready with pagination.
Scrape Deezer's full music catalog by keyword, chart position, artist, or album — no API key, no login required.
What does Deezer Scraper do?
Deezer Scraper connects to the open api.deezer.com JSON API to extract structured music data at scale. It supports four scraping modes: search (query tracks, artists, or albums by keyword), chart (fetch global chart rankings for tracks, artists, and albums), artistDetail (pull an artist's full top track catalog by Deezer ID), and albumTracks (list every track in an album by album ID).
The engine uses paginated requests with index and limit parameters, batching up to 100 results per API call and looping until your maxResults cap is reached. Because the Deezer API is genuinely public and key-free, every request goes through Apify's datacenter proxies for reliability — no residential proxies needed. Each run can yield hundreds to thousands of rows depending on your query. Output fields include track title, artist name, album title, duration in seconds, rank score, explicit lyrics flag, 30-second preview URL, Deezer link, and release date.
Who is it for?
- Music researchers who need bulk metadata on artists, songs, or albums for academic or industry studies.
- Playlist curators and music bloggers looking to programmatically discover tracks by keyword or genre chart.
- Data engineers building music recommendation datasets or training machine learning models.
- Marketing analysts tracking chart performance and fan counts for artists over time.
- App developers integrating music catalog data into their products without maintaining an API key.
Use cases
- Build a dataset of the top 500 global chart tracks with rank, duration, and explicit status for genre analysis.
- Extract all tracks by a specific artist (e.g., all Eminem albums) and compute average BPM or duration.
- Monitor weekly chart changes by running scheduled scrapes and comparing rankings over time.
- Discover albums released in a specific year by searching album titles and filtering on
releaseDate. - Create a music quiz app by bulk-scraping preview URLs and track metadata for thousands of songs.
Why use Deezer Scraper?
- Completely keyless: uses Deezer's open public API — no account, no OAuth, no API key required.
- Rich output — 15 fields per item: id, title, artist, artistId, album, albumId, duration, rank, explicit_lyrics, preview URL, link, releaseDate, cover image, chart position, and type.
- Bulk-ready with full pagination: scrape up to 2,000 results per run using index-based paging across all endpoints.
- Four flexible modes: search by keyword, browse global charts, drill into a specific artist, or list all tracks in an album.
- Export to any format: download as JSON, CSV, or Excel directly from the Apify dataset, or connect to Google Sheets.
- Pay-per-result pricing: only pay for the data you actually retrieve, making it efficient for both small and large jobs.
What data can you extract?
The actor returns one row per track (or artist/album in search/chart modes). Here are all available fields:
| Field | Type | Description |
|---|---|---|
id | string | Deezer unique ID for the item |
title | string | Track title (or artist/album name in non-track modes) |
artist | string | Artist display name |
artistId | string | Deezer artist ID |
album | string | Album title |
albumId | string | Deezer album ID |
duration | string | Track duration in seconds |
rank | string | Deezer rank score (popularity metric) |
explicit_lyrics | string | "true" if track has explicit lyrics, "false" otherwise |
preview | string | Direct URL to 30-second MP3 preview |
link | string | Full Deezer track/artist/album page URL |
releaseDate | string | Album release date (YYYY-MM-DD) |
cover | string | Album cover image URL (250x250) |
position | string | Chart position (in chart mode) |
type | string | Item type: track, artist, or album |
Example output (single track):
{"id": "916424","title": "Without Me","artist": "Eminem","artistId": "13","album": "The Eminem Show","albumId": "103248","duration": "290","rank": "961431","explicit_lyrics": "true","preview": "https://cdnt-preview.dzcdn.net/api/1/1/a/e/b/0/aeb58f2f63ee57fb9c47cbe8fb5ccdaa.mp3","link": "https://www.deezer.com/track/916424","releaseDate": "2002-05-26","cover": "https://cdn-images.dzcdn.net/images/cover/ec3c8ed67427064c70f67e5815b74cef/250x250-000000-80-0-0.jpg","position": "1","type": "track"}
How to use
Option A — Search by keyword
Set mode to search and provide a query. Use searchType to choose whether you want tracks, artists, or albums.
Example: Search for Eminem tracks
{"mode": "search","query": "eminem","searchType": "track","maxResults": 200}
Example: Search for albums by Taylor Swift
{"mode": "search","query": "taylor swift","searchType": "album","maxResults": 100}
Option B — Browse charts or drill by ID
Use mode=chart to get global ranking lists. Use mode=artistDetail or mode=albumTracks with a list of Deezer IDs.
Example: Global top 100 chart tracks
{"mode": "chart","searchType": "track","maxResults": 100}
Example: All top tracks for Eminem (artist ID 13)
{"mode": "artistDetail","ids": [13],"maxResults": 500}
Example: All tracks in "The Eminem Show" (album ID 103248)
{"mode": "albumTracks","ids": [103248],"maxResults": 50}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | Scraping mode: search, chart, artistDetail, albumTracks |
query | string | — | Keyword to search for. Required for mode=search |
searchType | string | track | What to search or chart: track, artist, or album |
ids | array | — | List of Deezer artist or album IDs for artistDetail/albumTracks modes |
maxResults | integer | 200 | Max items to return per query or ID (1–2000) |
proxy | object | Apify proxy | Proxy configuration. Datacenter proxies work fine |
Full input example:
{"mode": "search","query": "drake","searchType": "track","maxResults": 500,"proxy": {"useApifyProxy": true,"apifyProxyGroups": []}}
Output example
One fully-populated row from a real run:
{"id": "1109731","title": "Lose Yourself","artist": "Eminem","artistId": "13","album": "Curtain Call: The Hits","albumId": "119606","duration": "326","rank": "980436","explicit_lyrics": "true","preview": "https://cdnt-preview.dzcdn.net/api/1/1/2/7/a/0/27a14827ff1e82c5e40e8b6a934a8637.mp3","link": "https://www.deezer.com/track/1109731","releaseDate": "2005-12-06","cover": "https://cdn-images.dzcdn.net/images/cover/e2b36a9fda865cb2e9ed1476b6291a7d/250x250-000000-80-0-0.jpg","position": "2","type": "track"}
Tips for best results
- Use
searchType=trackfor the widest result set — Deezer's track index is far larger than album or artist indexes. - Combine
mode=searchwithmode=artistDetailfor deeper coverage: first find artist IDs, then pull their full catalogs. - The Deezer
rankfield is Deezer's own popularity score — higher = more popular. Sort by it to get the best-known tracks first. - Set
maxResultsto at least 500 for comprehensive genre analysis; Deezer's search returns up to 2,000 results per query. - For chart data,
mode=chartwithsearchType=trackreturns the global Deezer top 100 tracks updated daily. - The
previewURL is a direct, publicly accessible 30-second MP3 — useful for building audio datasets or demos. - Run multiple queries in sequence using Apify schedules or the API to build a time-series of chart changes.
- Filter results client-side on
explicit_lyricsif you need family-safe content only. - Use
mode=albumTrackswith album IDs from a prior search run to get complete track listings with consistent album metadata. - Datacenter proxies are sufficient — Deezer's open API does not require residential proxies or browser automation.
Integrations
Connect Deezer Scraper to your workflow without writing any code:
- Google Sheets: Use the Apify integration to stream results directly into a Google Sheet. Perfect for sharing music datasets with your team.
- Slack: Trigger a Slack notification via webhook when a scheduled run completes with new chart data.
- Zapier / Make: Connect to Zapier or Make to push scraped tracks into Airtable, Notion, or any CRM.
- Webhooks: Configure a POST webhook in actor settings to receive dataset URLs as soon as the run finishes.
- Scheduler: Set up a daily or weekly Apify schedule to monitor chart changes automatically.
API usage
cURL:
curl -X POST \"https://api.apify.com/v2/acts/logiover~deezer-music-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"chart","searchType":"track","maxResults":100}'
Node.js (Apify Client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('logiover/deezer-music-scraper').call({mode: 'search',query: 'eminem',searchType: 'track',maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("logiover/deezer-music-scraper").call(run_input={"mode": "search","query": "eminem","searchType": "track","maxResults": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["artist"])
Use with AI agents (MCP)
Deezer Scraper is available as an MCP-compatible tool via the Apify platform. You can connect it to Claude, GPT-4, or any MCP-enabled AI agent to query the Deezer catalog in natural language. For example, prompt your agent: "Use the Deezer scraper to get the top 50 hip-hop tracks from the global chart and list them with their rank and duration." The agent will trigger the actor, wait for results, and return structured music data directly in its response.
FAQ
Does this require a Deezer API key?
No. This actor uses Deezer's public open API at api.deezer.com, which requires no authentication, no API key, and no user account. It works out of the box.
How many results can I get per run?
Up to 2,000 items per run (configurable via maxResults). For larger datasets, run the actor multiple times with different queries or use the Apify API to batch runs.
What's the difference between the modes?
search finds tracks/artists/albums matching a keyword. chart returns Deezer's live global rankings. artistDetail pulls an artist's top tracks by their Deezer ID. albumTracks lists every track in a specific album by ID.
Why do some tracks return null for releaseDate?
Deezer's track-level search results don't always include release_date. The albumTracks mode fetches the album metadata separately and populates releaseDate for all tracks in the album.
How do I find an artist ID or album ID?
Run the actor in search mode with searchType=artist or searchType=album. The output includes artistId and albumId fields you can then use in subsequent runs.
Can I export to Excel or CSV?
Yes. In the Apify dataset view, click Export and choose CSV, Excel, JSON, or XML. You can also connect Google Sheets via the native Apify integration.
How fast does it run?
A typical search for 200 tracks completes in under 20 seconds. Scraping 2,000 results takes 60–120 seconds depending on Apify datacenter load.
Is the preview URL always available?
Most tracks include a 30-second MP3 preview URL. A small fraction of tracks (typically region-locked content) may have an empty preview field.
What happens if my query returns zero results?
The actor exits cleanly with an empty dataset. Try a different keyword, check spelling, or switch searchType. The Deezer API is case-insensitive and supports partial matches.
How often is Deezer's data updated?
Deezer's track catalog is updated continuously as new music is released. Chart data (mode=chart) is refreshed daily by Deezer. Running the actor on a schedule lets you track chart movements over time.
Can I scrape Deezer radio or playlist data?
The current actor covers tracks, artists, albums, and charts. Playlist and radio scraping are not included in this version.
Is this actor related to Deezer Inc.?
No. This is an independent third-party tool built on Deezer's public API. It is not affiliated with or endorsed by Deezer.
Is it legal?
This actor only accesses data through Deezer's public, unauthenticated API — the same endpoints used by any web browser visiting deezer.com. The data returned is publicly available music catalog metadata. No paywalled content, personal user data, or authentication bypass is involved.
Scraping publicly available data is generally considered lawful in most jurisdictions (see hiQ Labs v. LinkedIn and similar rulings). However, you are responsible for reviewing Deezer's Terms of Service and ensuring your use case complies with applicable data protection laws (GDPR, CCPA) in your region. This actor does not download or redistribute full audio tracks — only publicly accessible 30-second preview clips and metadata.
Related scrapers
- Discogs Scraper — Scrape Discogs vinyl marketplace for release details, pricing, and seller data.
- Twitch Scraper — Extract Twitch streamers, games, and live viewer counts.
- Reddit Search Scraper — Search Reddit posts and comments for music discussions and recommendations.
- YouTube Channel Scraper — Scrape YouTube channel stats, video lists, and subscriber counts for music artists.