Skip to content

bandsintown/api-gem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bandsintown

Description

Bandsintown.com API gem

A Ruby library for accessing the Bandsintown API.

The Bandsintown API lets any developer access the largest database of upcoming concert listings and concert tickets in the world.

For more information visit www.bandsintown.com/api/requests.

Installing

sudo gem install bandsintown

Usage

Requiring

require 'bandsintown'

Setting the bandsintown app_id parameter

Bandsintown.app_id = 'YOUR_APP_ID'

Find all upcoming events for a given artist

artist = Bandsintown::Artist.new({
  :name => "The Killers"
})
events = artist.events

Find all upcoming events for a given artist using mbid (music brainz id)

# 486af4f0-a79b-468f-be73-527cd4caf6ea => mbid for Slick Rick
artist = Bandsintown::Artist.new({
  :mbid => "486af4f0-a79b-468f-be73-527cd4caf6ea"
})
events = artist.events

Find basic information about an artist without requesting event data

artist = Bandsintown::Artist.get({
  :name => "Raekwon"
})
artist.upcoming_events_count
=> 5
artist.on_tour?
=> true

Find basic information about an artist without requesting event data, using mbid

# 4e954b02-fae2-4bd7-9547-e055a6ac0527 => mbid for Raekwon
artist = Bandsintown::Artist.get({
  :mbid => "4e954b02-fae2-4bd7-9547-e055a6ac0527"
})
artist.upcoming_events_count
=> 5
artist.on_tour?
=> true

Find events this week around Boston, MA

events = Bandsintown::Event.search({
  :location => 'Boston, MA', 
  :start_date => Time.now,
  :end_date => 1.week.from_now
})

Find events this week for Mos Def and Talib Kweli

events = Bandsintown::Event.search({
  :artists => ['Mos Def', 'Talib Kweli'], 
  :start_date => Time.now, 
  :end_date => 1.week.from_now
})

Find events this month for Ghostface Killah and Raekwon using mbid (music brainz id)

# 3b39abeb-0064-4eed-9ddd-ee47a45c54cb => mbid for Ghostface Killah
# 4e954b02-fae2-4bd7-9547-e055a6ac0527 => mbid for Raekwon
events = Bandsintown::Event.search({
  :artists => [
    'mbid_3b39abeb-0064-4eed-9ddd-ee47a45c54cb', 
    'mbid_4e954b02-fae2-4bd7-9547-e055a6ac0527'
  ], 
  :start_date => Time.now.beginning_of_month, 
  :end_date => Time.now.end_of_month
})

Find recommended events around Boston, MA for fans of Led Zeppelin

events = Bandsintown::Event.recommended({
  :artists => ['Led Zeppelin'], 
  :location => 'Boston, MA'
})

Find events added/updated/deleted within the last day

events = Bandsintown::Event.daily

Find events going on sale in the next week within 10 miles of Boston, MA

events = Bandsintown::Event.on_sale_soon({
  :location => "Boston, MA",
  :radius => 10
})

Find venues with name beginning with “House of Blues” near San Diego, CA

venues = Bandsintown::Venue.search({
  :query => "House of Blues",
  :location => "San Diego, CA"
})

Find all upcoming events for a given venue

# 1700 => Bandsintown venue ID for Paradise Rock Club in Boston, MA
venue = Bandsintown::Venue.new(1700)
events = venue.events

Create an event on bandsintown.com using Bandsintown::Artist and Bandsintown::Venue objects

# 1700 => Bandsintown venue ID for Paradise Rock Club in Boston, MA
Bandsintown::Event.create({
  :artists => [Bandsintown::Artist.new(:name => "The Roots")],
  :datetime => Time.parse("2010-06-01 20:00"),
  :venue => Bandsintown::Venue.new(1700),
  :ticket_url => "http://www.example.com/tickets/123",
  :ticket_price => 19.5,
  :on_sale_datetime => Time.parse("2010-05-01 12:00")
})

Create an event on bandsintown.com using artist names and venue location hash

# 1700 => Bandsintown venue ID for Paradise Rock Club in Boston, MA
Bandsintown::Event.create({
  :artists => ["Evidence", "Alchemist"],
  :datetime => "2010-06-01T19:30:00",
  :venue => { 
    :name => "Paradise Rock Club",
    :city => "Boston",
    :region => "MA",
    :country => "United States"
  },
  :ticket_url => "http://www.example.com/tickets/123",
  :ticket_price => 15,
  :on_sale_datetime => "2010-05-01T19:30:00"
})

Cancel an event on bandsintown.com

events = Bandsintown::Event.search(:location => "San Diego, CA")
event = events.first
event.cancel

Cancel an event on bandsintown.com for a single artist

artist = Bandsintown::Artist.new(:name => "Diamond District")
events = artist.events
event_id = events.first.bandsintown_id
artist.cancel_event(event_id)

Create an artist on bandsintown.com with name, music brainz id, myspace url, and website

artist = Bandsintown::Artist.create({
  :name => "A New Artist",
  :mbid => "abcd1234-abcd-1234-abcd-12345678abcd",
  :myspace_url => "http://www.myspace.com/anewartist",
  :website => "http://www.a-new-artist.com"
})

Create an artist on bandsintown.com with name only (all other parameters optional)

artist = Bandsintown::Artist.create({
  :name => "A New Artist"
})

LICENSE:

(The MIT License)

Copyright © 2009 Mike Costanza

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.