{"id":25897202,"url":"https://github.com/guiepi/deezer-ts","last_synced_at":"2026-02-13T07:36:41.218Z","repository":{"id":279482046,"uuid":"938958926","full_name":"GuiEpi/deezer-ts","owner":"GuiEpi","description":"Deezer typescript client","archived":false,"fork":false,"pushed_at":"2025-03-06T17:46:49.000Z","size":296,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-26T01:21:02.466Z","etag":null,"topics":["api","client","deezer","nodejs"],"latest_commit_sha":null,"homepage":"https://guiepi.github.io/deezer-ts/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GuiEpi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2025-02-25T19:10:00.000Z","updated_at":"2025-04-26T08:31:05.000Z","dependencies_parsed_at":"2025-02-25T20:27:20.792Z","dependency_job_id":"5517371f-ecb8-40c4-9ab5-1e89bea4621a","html_url":"https://github.com/GuiEpi/deezer-ts","commit_stats":null,"previous_names":["guiepi/deezer-ts"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/GuiEpi/deezer-ts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiEpi%2Fdeezer-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiEpi%2Fdeezer-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiEpi%2Fdeezer-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiEpi%2Fdeezer-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GuiEpi","download_url":"https://codeload.github.com/GuiEpi/deezer-ts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuiEpi%2Fdeezer-ts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29398718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"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":["api","client","deezer","nodejs"],"created_at":"2025-03-02T23:18:15.020Z","updated_at":"2026-02-13T07:36:41.200Z","avatar_url":"https://github.com/GuiEpi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003edeezer-ts\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/deezer-ts\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/deezer-ts\" alt=\"NPM Version\" /\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://github.com/GuiEpi/deezer-ts/actions/workflows/publish-package.yml/badge.svg\" alt=\"Publish Status\" /\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cstrong\u003eA TypeScript wrapper for the Deezer API with full type safety and modern features.\u003c/strong\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n   \u003ca href=\"https://guiepi.github.io/deezer-ts\"\u003eDocumentation\u003c/a\u003e \n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eCooked by \u003ca href=\"https://github.com/GuiEpi/\"\u003eGuillaume Coussot\u003c/a\u003e 👨‍🍳\u003c/sub\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n## Features\n\n- 🎯 **Full TypeScript Support** - Complete type definitions for all API responses\n- 🔄 **Automatic Pagination** - Easy iteration through paginated results\n- 🚦 **Rate Limiting** - Built-in handling of Deezer's rate limits\n- 🔁 **Automatic Retries** - Smart retry logic for failed requests\n- 📚 **Rich Documentation** - Comprehensive guides and API reference\n- 🎵 **Complete API Coverage** - Support for all Deezer public API endpoints\n- ⚡ **Modern Async/Await** - Promise-based API with async iterator support\n- 🛡️ **Error Handling** - Detailed error types for better error management\n\n## Installation\n\n```bash\n# Using npm\nnpm install deezer-ts\n\n# Using yarn\nyarn add deezer-ts\n\n# Using pnpm\npnpm add deezer-ts\n```\n\n## Quick Start\n\n```typescript\nimport { Client } from 'deezer-ts';\n\n// Create a client instance\nconst client = new Client();\n\n// Basic usage\nasync function example() {\n  // Get an artist\n  const artist = await client.getArtist(27);  // Daft Punk\n  console.log(artist.name);  // \"Daft Punk\"\n\n  // Get artist's albums with pagination\n  const albums = await artist.getAlbums();\n  for await (const album of albums) {\n    console.log(album.title);\n  }\n\n  // Search tracks with advanced parameters\n  const tracks = await client.search(\"Discovery\", true, \"RANKING\", {\n    artist: \"Daft Punk\",\n    album: \"Discovery\"\n  });\n}\n```\n\n## Documentation\n\n📚 **[Full Documentation](https://guiepi.github.io/deezer-ts)**\n\n- [Getting Started Guide](https://guiepi.github.io/deezer-ts/documents/Usage.html)\n- [Installation Guide](https://guiepi.github.io/deezer-ts/documents/Installation.html)\n- [Pagination Guide](https://guiepi.github.io/deezer-ts/documents/Pagination.html)\n- [API Reference](https://guiepi.github.io/deezer-ts/modules/index.html)\n\n## Key Concepts\n\n### Pagination\n\n```typescript\nconst albums = await artist.getAlbums();\n\n// Async iteration\nfor await (const album of albums) {\n  console.log(album.title);\n}\n\n// Get specific items\nconst firstTen = await albums.slice(0, 10);\n```\n\n### Error Handling\n\n```typescript\ntry {\n  const artist = await client.getArtist(999999999);\n} catch (error) {\n  if (error instanceof DeezerNotFoundError) {\n    console.log('Artist not found');\n  } else if (error instanceof DeezerQuotaExceededError) {\n    console.log('Rate limit exceeded, retry after 5 seconds');\n  }\n}\n```\n\n## Requirements\n\n- Node.js \u003e= 16\n- TypeScript \u003e= 5.0 (if using TypeScript)\n\n## Contributing\n\nContributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguiepi%2Fdeezer-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguiepi%2Fdeezer-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguiepi%2Fdeezer-ts/lists"}