# Deezer Scraper — Tracks, Artists, Albums & Charts (`hipersoft/deezer-scraper`) Actor

Search Deezer and scrape tracks (artist, album, rank, ISRC, preview), artists (fans, albums), albums and playlists, plus top charts. Fast clean HTTP via the open Deezer API, no setup. For music catalogs, analytics and research.

- **URL**: https://apify.com/hipersoft/deezer-scraper.md
- **Developed by:** [Hipersoft](https://apify.com/hipersoft) (community)
- **Categories:** Other
- **Features:** Limited permissions
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0005 / item scraped

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Deezer Scraper — Tracks, Artists, Albums, Playlists & Charts

Search **Deezer** and scrape **tracks, artists, albums and playlists** — plus the global top charts — as structured data. Get **titles, artists, albums, ISRCs, durations, popularity rank and 30-second preview links** exported to clean **JSON, CSV, Excel or XML**.

![Deezer Scraper input — searches, search type and chart options in the Apify Console](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/deezer-scraper-input.png?v=2)

### What does Deezer Scraper do?

Deezer Scraper is a crawler that extracts public music metadata from Deezer. Give it search terms and choose an entity type — track, artist, album or playlist — and optionally pull the top charts. It returns flat, normalized records with consistent field names, ready to export or pull through the API.

### What data can you scrape from Deezer?

| Data point | Description |
| --- | --- |
| Entity type | Whether the record is a track, artist, album or playlist |
| Title | Track, album, artist or playlist name |
| Artist | Artist name and ID |
| Album | Album name and ID |
| Duration | Track length in seconds |
| Popularity | Deezer rank score |
| Explicit flag | Whether the track is marked explicit |
| ISRC | International Standard Recording Code |
| Preview | 30-second preview clip URL |
| URL | Direct link to the item on Deezer |

### What you get

![Deezer Scraper output example — tracks with artist, album, ISRC and preview as structured JSON](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/deezer-scraper-output.png?v=5)

One flat JSON record per item. Example track:

```json
{
  "type": "track",
  "id": 3135556,
  "title": "Harder, Better, Faster, Stronger",
  "artist": "Daft Punk",
  "artistId": 27,
  "album": "Discovery",
  "albumId": 302127,
  "durationSec": 224,
  "rank": 845200,
  "explicit": false,
  "isrc": "GBDUW0000059",
  "preview": "https://cdns-preview-d.dzcdn.net/stream/....mp3",
  "url": "https://www.deezer.com/track/3135556"
}
```

#### Output schema

| Field | Type | Description |
| --- | --- | --- |
| `type` | string | Entity type: track, artist, album or playlist. |
| `id` | integer | Unique Deezer identifier for the item. |
| `title` | string | Title of the track, album, artist or playlist. |
| `artist` | string | Artist name. |
| `artistId` | integer | Unique Deezer identifier for the artist. |
| `album` | string | Album name the track belongs to. |
| `albumId` | integer | Unique Deezer identifier for the album. |
| `durationSec` | integer | Track duration in seconds. |
| `rank` | integer | Deezer popularity rank score. |
| `explicit` | boolean | True if the track is marked explicit. |
| `isrc` | string | International Standard Recording Code of the track. |
| `preview` | string (URL) | URL of the 30-second preview clip. |
| `url` | string (URL) | Direct link to the item on Deezer. |

### Use cases

- Build and enrich a music catalog with ISRCs, durations and album links.
- Track chart movement over time by scheduling recurring chart runs.
- Research an artist's discography and track popularity via `rank`.
- Source 30-second preview URLs and metadata for playlists or apps.
- Assemble datasets for music analytics and recommendation engines.
- Match and de-duplicate catalog entries across services using ISRCs.

### How to scrape Deezer data

1. Add Deezer Scraper to your Apify account and open the input.
2. Enter your keywords in `searches`, one per line.
3. Choose the `searchType`: track, artist, album or playlist. Optionally enable `includeChart` and pick a `chartType`.
4. Set `maxItemsPerSearch` to cap results, then click **Run**.
5. Export the results as JSON, CSV, Excel or XML, or pull them through the Apify API.

### Input

```json
{
  "searches": ["daft punk", "gorillaz"],
  "searchType": "track",
  "includeChart": true,
  "chartType": "tracks",
  "maxItemsPerSearch": 40
}
```

| Field | Description |
| --- | --- |
| `searches` | Keywords to search on Deezer, one per line. |
| `searchType` | What to return: `track`, `artist`, `album` or `playlist`. |
| `includeChart` | Also fetch the Deezer top chart. |
| `chartType` | Which chart to pull: `tracks`, `artists`, `albums` or `playlists`. |
| `maxItemsPerSearch` | Max items per search term / chart (1–500). |

### Need more music data?

- [Spotify Scraper](https://apify.com/hipersoft/spotify-scraper)
- [SoundCloud Scraper](https://apify.com/hipersoft/soundcloud-scraper)
- [NetEase Music Scraper](https://apify.com/hipersoft/netease-music-scraper)
- [Apple Podcasts Scraper](https://apify.com/hipersoft/apple-podcasts-scraper)

### FAQ

**How many items can I get per run?**
Set `maxItemsPerSearch` up to 500 per search term and per chart. Pass multiple keywords in `searches` to scale further.

**Can I download songs or audio?**
No. The Actor returns public metadata only. The `preview` field is Deezer's own publicly listed 30-second clip URL — no full tracks are downloaded.

**Can I pull the top charts?**
Yes. Turn on `includeChart` and choose a `chartType` (tracks, artists, albums or playlists) to grab what's trending right now.

**What export formats are supported?**
JSON, CSV, Excel and XML, plus programmatic access via the Apify API.

**Can Deezer Scraper connect to my other tools?**
The Deezer Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). It works with [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), [Airbyte](https://docs.apify.com/platform/integrations/airbyte), [GitHub](https://docs.apify.com/platform/integrations/github), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2), JavaScript/Python clients and MCP. Or use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to trigger an action whenever a run finishes.

**Is scraping Deezer legal?**
The Actor returns only public metadata. You are responsible for complying with Deezer's terms and applicable laws.

### Related Actors

- [Spotify Scraper](https://apify.com/hipersoft/spotify-scraper)
- [SoundCloud Scraper](https://apify.com/hipersoft/soundcloud-scraper)
- [Apple Podcasts Scraper](https://apify.com/hipersoft/apple-podcasts-scraper)

### Notes

Original clean-room implementation. Returns only public metadata — no audio files or DRM-protected content. You are responsible for compliance with Deezer's terms. Not affiliated with Deezer.

# Actor input Schema

## `searches` (type: `array`):

Keywords to search on Deezer, one per line.

## `searchType` (type: `string`):

What to return from searches.

## `includeChart` (type: `boolean`):

Also fetch the Deezer top chart.

## `chartType` (type: `string`):

Which chart to fetch when included.

## `maxItemsPerSearch` (type: `integer`):

Max items per search term / chart.

## `proxyConfiguration` (type: `object`):

Optional. The Deezer API works without a proxy.

## Actor input object example

```json
{
  "searches": [
    "daft punk"
  ],
  "searchType": "track",
  "includeChart": false,
  "chartType": "tracks",
  "maxItemsPerSearch": 40,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searches": [
        "daft punk"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/deezer-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "searches": ["daft punk"] }

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/deezer-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searches": [
    "daft punk"
  ]
}' |
apify call hipersoft/deezer-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/deezer-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BQiN3Xj5KfVScbpOc/builds/5FWfOxEbkmKfIYgwF/openapi.json
