Skip to main content


Deno library to access the ListenBrainz API, written in TypeScript.

You can use it to submit your listening history to your ListenBrainz account.

As this library only makes use of web standards, it is also compatible with modern browsers (after transpilation to JavaScript).


  • Submits listens and playing now notifications
  • Handles ListenBrainz authorization and API errors
  • Adheres to rate limits and optionally retries failed requests
  • Provides generic GET and POST methods for (yet) unsupported API endpoints
  • Ships with type definitions and inline documentation


In order to submit listens, you have to specify a user token which you can obtain from your ListenBrainz profile.

The following example instantiates a ListenBrainz client with a token from an environment variable and submits a playing now notification for a track:

import { ListenBrainzClient } from "";

const client = new ListenBrainzClient({ userToken: Deno.env.get("LB_TOKEN") });
await client.playingNow({ artist_name: "John Doe", track_name: "Love Song" });