API Documentation
crowd.fm makes it easy to programatically access user’s event information. Once enabled, you can pull down all the information on a user’s forthcoming events with a single API call.
Formats and encoding
The API only supports JSON for data serialisation and all requests and responses should be UTF-8 encoded.
Making a request
All API calls are made against the API root: https://api.crowd.fm/v1/
(SSL only). Append the resource you require to the end of this URL.
Authentication
API V1 uses key-based authentication. crowd.fm users must first enable API access to obtain their API key. This can be done on the API access page.
The API key can be specified directly in requests as a URL parameter, for example:
curl https://api.crowd.fm/v1/events.json?api_key=1:1c52de06e74fc
Alternatively, it can be specified using the X-CROWDFM-API-KEY
request header:
curl -H "X-CROWDFM-API-KEY: 1:1c52de06e74fc" \ https://api.crowd.fm/v1/events.json
Identifying your app
You should also specify a User-Agent
header with the name and URL of your application so we can get in touch with you should we need to. For example:
User-Agent: BandApp (http://bandapp.com)
Rate limiting & fair use
All API requests are monitored, and whilst we do not have explicit limits on the number of requests you can make, we do ask that you refrain from making excessive or unnecessary requests, and that you make full use of the caching headers we return. We reserve the right to rate-limit or block requests from any IP address making excessive requests.
Caching
Most request responses will generally include an ETag
or Last-Modified
header, so for the benefit of our server load and the speed of your application, please make use of them. When you first make a request for a given resource, store the value and then submit them back to us on subsequent requests as If-None-Match
and If-Modified-Since
headers. If the resource hasn’t changed, you will get a 304 NOT Modified
response back, which saves you the time and bandwidth of requesting and processing a payload you will have already received.
Resources
Events
GET /events.json
will return all the accounts forthcoming, published events i.e. no unpublished or cancelled events will be included, neither will events from the past.
Example response payload:
[ { "id":1566, "name": "Mr. Scruff in Edinburgh", "description": "Another quality session in Potterrow...", "price": "\u00a312.50 advance, \u00a315 door", "link": "nhttp://www.mrscruff.com", "event_type": "Club night", "created_at": "2012-08-01T23:13:08+01:00", "start_date_and_time": "2012-09-27T22:00:00+01:00", "end_date_and_time": "2012-09-28T03:00:00+01:00", "state": "published", "image_url": "/system/event/image/000/001/566/large_mr-scruff-in-edinburgh.jpg", "thumbnail_url": "/system/event/image/000/001/566/thumb_mr-scruff-in-edinburgh.jpg", "listings": [ { "id":6134, "site_name": "soundcloud", "url": "http://soundcloud.com/mr-scruff" },{ "id":6133, "site_name": "songkick", "url": "http://www.songkick.com/concerts/13584819" },{ "id":6132, "site_name": "lastfm", "url": "http://www.last.fm/event/3350934" },{ "id":6130, "site_name": "eventful", "url": "http://eventful.com/events/E0-001-050047782-6" } ], "venue": { "id": 1034703023, "name": "Potterrow", "address_line_1": "Bristo Square", "address_line_2": "", "city": "Edinburgh", "postcode": "EH8 9AL", "country_code": "GB" } } ]
Contact
If you have any questions or suggestions for improvements, please contact us at [email protected]. We’d also love to hear from you if you’ve used the API for something novel or interesting.
Last Updated: Monday 17th September 2012.