ListenBrainz Logo

API Documentation

  • ListenBrainz API
    • Authentication
      • Get the User token
      • Add the User token to your requests
    • Reference
      • Core
      • Playlists
      • Recordings
      • Statistics
      • Popularity
      • Metadata
      • Social
      • Recommendations
      • Art
      • Settings
      • Miscellaneous
    • OpenAPI specification
    • Rate limiting
  • Usage Examples
    • Prerequisites
    • Examples
      • Submitting Listens
      • Getting Listen History
      • Lookup MBIDs
      • Love/hate feedback
      • Latest Import
  • JSON Documentation
    • Submission JSON
    • Fetching listen JSON
    • Payload JSON details
    • Client Metadata examples
      • BrainzPlayer on the ListenBrainz website playing a video from YouTube
      • BrainzPlayer on the ListenBrainz website playing a video from Spotify
      • Using Otter for Funkwhale on Android, and submitting with Simple Scrobbler
      • Rhythmbox player listening to Jamendo
      • Listening to a recording from Bandcamp and submitting with the browser extension WebScrobbler
  • Embeddable widgets
    • Playing Now Widget
    • Pin Widget
  • Client Libraries
    • Haskell
    • Go
    • Rust
    • .NET
    • Python
    • Java
    • Swift
  • Last.FM Compatible API for ListenBrainz
    • AudioScrobbler API v1.2
    • Last.FM API
      • For development
      • For users
  • Data Dumps
    • Dump mirrors
    • File Descriptions
      • listenbrainz-public-dump.tar.zst
      • listenbrainz-listens-dump.tar.zst
      • listenbrainz-listens-dump-spark.tar.zst
    • Structure of the listens dump
    • Incremental dumps

ListenBrainz Data Update Intervals

  • ListenBrainz Data Update Intervals
    • Listens and Listen Counts
    • User Statistics
    • MBID Mapper & MusicBrainz Metadata Cache
    • ListenBrainz data infrastructure

Developer Documentation

  • Server development
    • Set up ListenBrainz Server development environment
    • Clone listenbrainz-server
    • Install docker
    • Register a MusicBrainz application
      • Update config.py
    • Initialize ListenBrainz containers
    • Initialize ListenBrainz databases
    • Run the magic script
    • Listenbrainz containers
    • Test your changes with unit tests
    • Lint your code
    • Using develop.sh
  • Spark development
    • Set up the webserver
      • Create listenbrainz_spark/config.py
    • Initialize ListenBrainz Spark containers
    • Bring containers up
    • Import data into the spark environment
    • Working with request_consumer
    • Test your changes with unit tests
  • Architecture
    • Services
    • Listen Flow
    • Frontend Rendering
  • Spark Architecture
    • Developing request_consumer
      • Start the webserver
      • Start the spark containers
      • Start the spark reader
  • MBID Mapping
    • Database tables
    • Fuzzy lookups
    • MBID Mapper
  • Scripts
    • ListenBrainz
      • ./develop.sh manage
    • Dump Manager
      • ./develop.sh manage dump
    • ListenBrainz Spark
      • ./develop.sh manage spark
  • Troubleshooting
    • Docker Installations
      • Windows

Maintainer Documentation

  • Production Deployment
    • Cron
  • Building Docker Images
    • Production Images
    • Test Images
    • Using Github Actions
    • Using docker/push.sh script
  • Data Dumps
    • Check FTP Dumps age script
    • Logs
    • Manually triggering dumps
  • MBID Mapping
    • Containers
    • Data sources
    • Debugging lookups
  • Debugging Spotify Reader
  • RabbitMQ
    • Maintenance
      • Tolerance to connectivity issues
      • Maintenance mode
      • Data importance
      • Data persistence
      • Procedures
    • Implementation details
  • Updating Production Database Schema
  • Pull Requests Policy
ListenBrainz
  • Search


© Copyright 2017-2026, MetaBrainz Foundation.

Built with Sphinx using a theme provided by Read the Docs.