No description, website, or topics provided.
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Bandcamp ( is a hosting/retail website for bands and their music. Bandcamp provides a simple API to allow other sites to retrieve data about bands, their releases (albums) and the tracks on releases.

At a technical level this module defines Drupal 7 entity types for bands, releases, and tracks so that bands with Drupal websites can download and present their Bandcamp data from their website with a greater flexibility than the current method of embedding flash players in pages.

At this stage the module allows users to 'create' a band entity at /band/add. After you enter and submit some identifying information about your band, the module will then import all available data in from Bandcamp's API into Drupal. For convenience, imported data is displayed on a band 'page' at band/%bid, similar to node/%nid. Note that you can't edit releases or song data. You have to alter this data on Bandcamp itself and reimport your band again.

If your site acts as a label or a portal, you can import multiple bands. Indeed with this module it is possible for you to create sites using aggregated content from Bandcamp. The maintainer of Bandcamp's API has pointed out to me that the intention of the API is to drive traffic to Bandcamp, and ideally any data you manipulate and display on your Drupal site should contain links to bandcamp band or release pages, or include a bandcamp player.

With regard to the display of bandcamp data, this module does very little. This limited scope is intentional. More generic modules (entity API, fields, Views) should allow data to be manipulated and presented in whatever combination the site maintainer wants, without the bandcamp module having to worry about it.

Unfortunately Drupal 7 is in its infancy and there not yet any generic entity support in views. The bandcamp_presentation module is bundled with this package, as a stopgap. This module provides simple blocks for displaying bandcamp data. The bandcamp_presentation is intended as a starting point for other developers, rather than an end in itself, though it may well be adequate for some. Comments, suggestions, or (preferably) code is welcome.


Link module and Date module for their respective field types. To use the Bandcamp API you need a key (see for more info; note that their example key may be used for evaluating the module, but you should obtain your own key if you intend to use this module on an ongoing basis).


As per usual module installation.


There are sites other than Bandcamp for music hosting which may also provide APIs. Ideally the functionality of the bandcamp module could be abstracted to a generic music data importing framework, and the bandcamp-specific details would merely be a plugin for that framework. Whether there is sufficient interest in this is unknown...

* Stuart McDonald