Event data in JSON format
You can get all public event info from goabase.net in JSON format for your use.
We don't use an API key at the moment and you don't need to register to use the API.
If you are looking for a very easy way to embed party events, check out Partyserver.
If you want to publish or reuse the data, please do not remove the backlink to goabase.net. Thank you very much!
And if you have any questions, just get in touch with us: Contact
Syntax/Versions
- Our own "flat" syntax or
- JSON-LD according to schema.org.
You can select the version depending on the URL:
https://www.goabase.net/api/party/json/
- Our syntax, version 1https://www.goabase.net/api/party/jsonld/
- JSON-LD according to schema.org (Ver. 2)The data
- Party list
[https://www.goabase.net/api/party/json/?limit=10]
(max 10)
[https://www.goabase.net/api/party/jsonld/?limit=10]
(max 10)
The links will take you to a clearly organised list of the next 10 events. They are sorted by start date, party name and country. You can also use GET parameters to limit the list. With ?limit=50 only 50 will be displayed. - All countries
[https://www.goabase.net/api/party/json/?country=list-all]
[https://www.goabase.net/api/party/jsonld/?country=list-all
]
This will give you a list of all countries and the number of their events. - Party
https://www.goabase.net/api/party/json/{id}
https://www.goabase.net/api/party/jsonld/{id}
If you add the ID, you will get all the details of the party.
GET parameters for the party list
https://www.goabase.net/api/party/json/?{parameter}={value}
https://www.goabase.net/api/party/jsonld/?{parameter}={value}
General notes on our syntax (ver. 1)
We make our JSON object as "flat" as possible.
The key names are inspired by schema.org and written in "camelCase", where the first part describes the data type and the second part describes the data. This should be self-explanatory.
We use "nameType" in a different way than schema.org, as they only differ between"Festival" and"DanceEvent". We use more specifically (for our genre) the types "Festival", "Open Air" (like schema.org/Festival) and "Indoor", 'Club', "In- and Outdoor" (similar to schema.org/DanceEvent).
The content of "urlOrganiser" could be a text with line breaks like \n or \n\r.
Time formats and time zones
We save all events with the time zone Europe/Berlin and return them in ISO 8601 with the difference to UTC. The date and time 16 May 2015, 22:00h in Berlin is returned as 2015-05-16T22:00:00+02:00
and the same date and time in Asia/Calcutta is returned as 2015-06-16T22:00:00+05:30
.
But these UTC times cannot be used as the Date.toJson method expects them. The additional specification of a time zone is required to obtain the local time.
Below you will therefore find a small Javascript snippet for reading the date.
When an event is entered on goabase, the time zone is determined and saved. Most countries are in only one time zone, so this is easy to check.
For countries with multiple time zones (e.g. USA, Brazil, Russia) we use geolocation to determine the time zone. This may fail because no lat-lon values are given, or they are not found in the 4.4 million records we take as a basis. In this case, we use the default time zone.
Why all this? If a party starts at 12:00 in Goa, for example, the stored German time 2014-06-14T12:00:00+02:00
would appear in Goa as the start of the party at 15:30. Instead, however, the time for Asia / Calcutta 2014-06-14-14T12:00:00:30:00+05:30
must be used. In any case, it is the local time plus deviation from UTC time.
Javascript
Example of a Javascript function for parsing ISO8601 data with jQuery
// This function was ripped from // timeago.js (http://timeago.yarp.com/) and requires jQuery(http://jquery.com/) function parseIso8601(iso8601) { var s = $.trim(iso8601); s = s.replace(/-/,"/").replace(/-/,"/"); s = s.replace(/T/," ").replace(/Z/," UTC"); s = s.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400 return new Date(s); }