{
  "openapi": "3.0.1",
  "info": {
    "title": "Deezer Music Scraper",
    "description": "Deezer Music Scraper is a Python tool designed to extract track details, album metadata, artist profiles, playlists, and global music charts from Deezer. It exports structured music catalog data into clean CSV or JSON formats for audio analytics and market research.",
    "version": "0.0",
    "x-build-id": "jjeolbALPsP5T4h1i"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zerobreak~Deezer-Music-Scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zerobreak-Deezer-Music-Scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/zerobreak~Deezer-Music-Scraper/runs": {
      "post": {
        "operationId": "runs-sync-zerobreak-Deezer-Music-Scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/zerobreak~Deezer-Music-Scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zerobreak-Deezer-Music-Scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "artists",
              "albums",
              "tracks",
              "playlists",
              "charts",
              "catalog"
            ],
            "type": "string",
            "description": "What to collect. Search runs a query. Artists, albums, tracks, and playlists take ids or deezer.com URLs. Charts read a genre chart. Catalog lists genres, editorial sections, and radios.",
            "default": "search"
          },
          "searchType": {
            "title": "Search type",
            "enum": [
              "track",
              "artist",
              "album",
              "playlist"
            ],
            "type": "string",
            "description": "Which Deezer search index to use when mode is search: tracks, artists, albums, or playlists. Plain text queries work. Quoted advanced syntax often returns nothing.",
            "default": "track"
          },
          "queries": {
            "title": "Search queries",
            "type": "array",
            "description": "One search phrase per line, used in search mode. Example: daft punk. Results are shallow, usually a few hundred hits, and each query is paged until Deezer stops or maxItems is reached.",
            "items": {
              "type": "string"
            }
          },
          "ids": {
            "title": "IDs, deezer.com URLs or ISRCs",
            "type": "array",
            "description": "One id, deezer.com URL, link.deezer.com short link, or 12-character ISRC per line. Examples: 27, https://www.deezer.com/artist/27, https://www.deezer.com/album/302127, GBDUW0000059. ISRC lookup is for tracks mode. In catalog mode these are radio ids.",
            "items": {
              "type": "string"
            }
          },
          "includeTopTracks": {
            "title": "Artist: include top tracks",
            "type": "boolean",
            "description": "In artists mode, nest Deezer's top tracks on each artist row.",
            "default": true
          },
          "includeAlbums": {
            "title": "Artist: include albums",
            "type": "boolean",
            "description": "In artists mode, nest the artist discography (album id, title, release date, fans) on each artist row.",
            "default": false
          },
          "includeRelated": {
            "title": "Artist: include related artists",
            "type": "boolean",
            "description": "In artists mode, nest related artists as id, name, and fans.",
            "default": false
          },
          "includeTracks": {
            "title": "Album/playlist: include all tracks",
            "type": "boolean",
            "description": "In albums and playlists mode, follow the track list, including tracks.next on large playlists, and nest those tracks on the row.",
            "default": true
          },
          "genreId": {
            "title": "Chart genre ID",
            "minimum": 0,
            "type": "integer",
            "description": "Genre id for charts mode. 0 means all genres. Genre ids come from catalog mode.",
            "default": 0
          },
          "chartTypes": {
            "title": "Chart types",
            "type": "array",
            "description": "Which chart lists to read in charts mode. Deezer can return an empty albums chart. Podcasts are included when you select them.",
            "items": {
              "type": "string",
              "enum": [
                "tracks",
                "artists",
                "albums",
                "playlists",
                "podcasts"
              ]
            },
            "default": [
              "tracks"
            ]
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many data rows. Duplicate type plus id pairs are skipped and do not count twice. The free cap is 10,000.",
            "default": 200
          },
          "maxRequestsPer5s": {
            "title": "Max requests per 5 s",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Shared pace for every request in the run. Deezer's reported quota is 50 requests per 5 seconds per IP. This value is capped at 50 and defaults to 40. The actor also keeps at most 5 requests in flight.",
            "default": 40
          },
          "timeoutSecs": {
            "title": "Run timeout (seconds)",
            "minimum": 1,
            "maximum": 3600,
            "type": "integer",
            "description": "Stop the run after this many seconds. Rows already saved stay in the dataset.",
            "default": 300
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "How long to wait for a single Deezer response before recording a failure for that call.",
            "default": 30
          },
          "proxyConfiguration": {
            "title": "Proxy (choose country for localized charts)",
            "type": "object",
            "description": "Optional proxy for Deezer requests. Charts follow the exit IP's country, so pick a country when you need a specific national chart. Leave this off to use the platform IP directly.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}