{"id":37063334,"url":"https://github.com/jakiepari/deezspot","last_synced_at":"2026-01-14T07:11:51.297Z","repository":{"id":231521247,"uuid":"781440637","full_name":"jakiepari/deezspot","owner":"jakiepari","description":"Downloads songs, albums, episode or playlists from deezer and spotify with this packages!","archived":false,"fork":false,"pushed_at":"2025-12-14T01:18:44.000Z","size":202,"stargazers_count":81,"open_issues_count":3,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-15T23:15:11.362Z","etag":null,"topics":["deezer","deezer-api","deezer-download","deezer-downloader","music","music-downloader","spotify","spotify-api","spotify-download","spotify-downloader"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakiepari.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-03T11:43:24.000Z","updated_at":"2025-12-14T01:18:47.000Z","dependencies_parsed_at":"2024-04-04T12:50:53.304Z","dependency_job_id":"8784c3d8-157a-4099-b332-0d53dbfc4502","html_url":"https://github.com/jakiepari/deezspot","commit_stats":null,"previous_names":["farihdzkyy/deezloadclone","farihdzkyy/deezspot","jakiepari/deezspot"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jakiepari/deezspot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakiepari%2Fdeezspot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakiepari%2Fdeezspot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakiepari%2Fdeezspot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakiepari%2Fdeezspot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakiepari","download_url":"https://codeload.github.com/jakiepari/deezspot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakiepari%2Fdeezspot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28412641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deezer","deezer-api","deezer-download","deezer-downloader","music","music-downloader","spotify","spotify-api","spotify-download","spotify-downloader"],"created_at":"2026-01-14T07:11:50.692Z","updated_at":"2026-01-14T07:11:51.286Z","avatar_url":"https://github.com/jakiepari.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DeezSpot 🎵\n\nA powerful Python and Lightweight library for downloading music from Deezer and Spotify. Clone of the original deezloader with additional features and improvements.\n\n### ⚠️ IMPORTANT NOTES !!!!! ⚠️\n```\nUSE AS YOUR OWN RISK I'M NOT RESPONSIBLE TO ANY YOUR PROBLEM AT SPOTIFY OR DEEZER ACCOUNT !\n```\n## ✨ Features\n\n- Download songs, albums, playlists from Deezer\n- Download songs, albums, playlists, episode from Spotify\n- Support for multiple audio qualities (MP3, FLAC) and OGG for spotify\n- Download podcast episodes\n- Batch downloading\n- Progress bar support\n- ID3 tags and artwork\n\n## 🚀 Installation\n\n```bash\npip install deezspot\n```\nBut will be better use this one\n```bash\npip install git+https://github.com/jakiepari/deezspot\n```\n\nAlso you need to install this package:\n```bash\npip install git+https://github.com/kokarare1212/librespot-python\n```\n\n## 🔑 Authentication Setup\n\n### Deezer Authentication\n1. Get your Deezer ARL token from browser cookies after logging in to Deezer\n2. Use the token in your code:\n```python\nfrom deezspot.deezloader import DeeLogin\n\ndl = DeeLogin(arl='your_arl_token', email='your_Deezer_email', password='your_Deezer_password', tags_separator=\" / \")\n```\n\n### Spotify Authentication\n1. Clone the librespot-auth repository:\n```bash\ngit clone https://github.com/dspearson/librespot-auth\ncd librespot-auth\ncargo build --release\n```\n\n2. Generate credentials:\n```bash\n./target/release/librespot-auth\n```\n\n3. Adjust your credentials.json with the format:\n```json\n{\n    \"username\": \"your_spotify_username\",\n    \"credentials\": \"your_credentials_string\",\n    \"type\": \"AUTHENTICATION_STORED_SPOTIFY_CREDENTIALS\"\n}\n```\n\n# Or also you can use this code\n```python\nfrom librespot.zeroconf import ZeroconfServer\nimport time\nimport logging\nimport pathlib\n\nzs = ZeroconfServer.Builder().create()\nlogging.warning(\"Transfer playback from desktop client to librespot-python via Spotify Connect in order to store session\")\n\nwhile True:\n    time.sleep(1)\n    if zs._ZeroconfServer__session:\n        logging.warning(f\"Grabbed {zs._ZeroconfServer__session} for {zs._ZeroconfServer__session.username()}\")\n        \n        if pathlib.Path(\"credentials.json\").exists():\n            logging.warning(\"Session stored in credentials.json. Now you can Ctrl+C\")\n            break\n```\nSteps:\nIts same like using the code from librespot-auth. but you need a premium plan to use this code!\nJust play 1 song and then click connect to a device and select librespot-python then your credentials.json will be appear\n\n## 📚 Usage Examples\n\n### Downloading with Deezer \n```python\nimport sys\nimport os\nimport traceback\n\n# Add the local deezspot directory to the sys.path\nsys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))\n\nfrom deezspot.deezloader import DeeLogin\nfrom deezspot.spotloader import SpoLogin\n\ntry:\n    # Deezer Example\n    print(\"Initializing Deezer client...\")\n    deezer = DeeLogin(arl='your_arl_token', email='', password='', tags_separator=\" / \")\n\n    # Download a single track from Deezer\n    deezer.download_trackdee(\n        link_track='https://www.deezer.com/track/123456789',\n        output_dir='./downloads/deezer/tracks',\n        quality_download='MP3_320',\n        recursive_quality=False,\n        recursive_download=False\n    )\n\n    # Download an album from Deezer\n    deezer.download_albumdee(\n        link_album='https://www.deezer.com/album/123456789',\n        output_dir='./downloads/deezer/albums',\n        quality_download='FLAC',\n        recursive_quality=True,\n        recursive_download=False\n    )\n\n    # Download a playlist from Deezer\n    deezer.download_playlistdee(\n        link_playlist='https://www.deezer.com/playlist/123456789',\n        output_dir='./downloads/deezer/playlists',\n        quality_download='MP3_320',\n        recursive_quality=True,\n        recursive_download=False\n    )\n\n    # Download an artist's top tracks from Deezer\n    deezer.download_artisttopdee(\n        link_artist='https://www.deezer.com/artist/123456789',\n        output_dir='./downloads/deezer/artists',\n        quality_download='MP3_320',\n        recursive_quality=True,\n        recursive_download=False\n    )\n\n    # Download an episode from Deezer\n    deezer.download_episode(\n        link_episode='https://www.deezer.com/episode/123456789',\n        output_dir='./downloads/deezer/episodes',\n        quality_download='MP3_320',\n        recursive_quality=True,\n        recursive_download=False\n    )\n\n    # Spotify Example\n    print(\"Initializing Spotify client...\")\n    credentials_path = os.path.abspath(os.path.join(os.path.dirname(__file__), 'credentials.json'))\n    spotify = SpoLogin(credentials_path=credentials_path, client_id='your_client_id', client_secret='your_client_secret')\n\n    # Download a single track from Spotify\n    spotify.download_track(\n        link_track=\"https://open.spotify.com/track/4tCtwWceOPWzenK2HAIJSb\",\n        output_dir=\"./downloads/spotify/tracks\",\n        quality_download=\"NORMAL\",\n        recursive_quality=False,\n        recursive_download=False,\n        not_interface=False,\n        method_save=1\n    )\n\n    # Download an album from Spotify\n    spotify.download_album(\n        link_album=\"https://open.spotify.com/album/6n4YU8iRm07O7lR1zQZypN\",\n        output_dir=\"./downloads/spotify/albums\",\n        quality_download=\"NORMAL\",\n        recursive_quality=True,\n        recursive_download=False,\n        not_interface=False,\n        method_save=1,\n        make_zip=True\n    )\n\n    # Download a playlist from Spotify\n    spotify.download_playlist(\n        link_playlist=\"https://open.spotify.com/playlist/1ZyEi4bBTYGTIlY23U1kwG\",\n        output_dir=\"./downloads/spotify/playlists\",\n        quality_download=\"NORMAL\",\n        recursive_quality=True,\n        recursive_download=False,\n        not_interface=False,\n        method_save=1,\n        make_zip=True\n    )\n\n    # Download an episode from Spotify\n    spotify.download_episode(\n        link_episode=\"https://open.spotify.com/episode/1hgO8Y3CCymyxn934lNtDq\",\n        output_dir=\"./downloads/spotify/episodes\",\n        quality_download=\"NORMAL\",\n        recursive_quality=False,\n        recursive_download=False,\n        not_interface=False,\n        method_save=1\n    )\n\nexcept Exception as e:\n    traceback.print_exc()\n```\n\n## 📋 Supported Formats\n# Deezer\n- MP3_128\n- MP3_320 (SOMETIMES NEED PAID DEEZER)\n- FLAC (PAID DEEZER ONLY)\n# Spotify\n- NORMAL\n- HIGH\n- VERY_HIGH\n## NOTE !\nSometimes when you using spotloader after downloading 20+ tracks, Will be giving an error about audio key. its because you're using free spotify!\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## ⚖️ License\n\nThis project is licensed under the GNU Affero General Public License v3 - see the \n\nLICENSE\n\n file for details.\n\n## 🙏 Acknowledgments\n\n- Original deezloader project\n- Deezer API\n- Spotify API\n- Spotify Anon\n- librespot-python\n- librespot-auth\n\n## ⭐️ Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=jakiepari/deezspot\u0026type=Date)](https://star-history.com/#jakiepari/deezspot\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakiepari%2Fdeezspot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakiepari%2Fdeezspot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakiepari%2Fdeezspot/lists"}