Advanced

Toon je boekingen op je eigen website met de publieke API

Veel boekingskantoren en artiesten tonen hun komende datums op hun eigen website: een tourpagina, een gigkalender of gewoon een lijst met shows. De publieke API van Artistu geeft je een alleen-lezen feed van je aangekondigde boekingen, zodat je website altijd dezelfde datums laat zien als je in Artistu beheert. Geen handmatig overtypen, geen verouderde tourpagina's.

De API is alleen-lezen en toont uitsluitend informatie die je zelf als openbaar markeert. Fees, deals, contactpersonen, interne notities en niet-aangekondigde shows komen er nooit in.

Hoe het werkt

Drie onderdelen werken samen:

  1. Een API-sleutel, die je aanmaakt in je Artistu-instellingen en beperkt tot de artiesten die je kiest, waarmee je website zich authenticeert.
  2. Online-instellingen per boeking, die bepalen of een boeking aangekondigd is en welke openbare details erbij horen.
  3. Eén endpoint dat de aangekondigde boekingen van één artiest als JSON teruggeeft.

Maak een API-sleutel

Ga naar Instellingen → Integraties en zoek het onderdeel Publieke API-sleutels. Klik op Sleutel maken, geef de sleutel een naam (bijvoorbeeld de website waar hij voor is) en kies de artiesten die hij mag lezen, of vink Alle artiesten aan. Hiervoor moet je beheerder van je organisatie zijn.

De sleutel wordt één keer getoond, direct na het aanmaken. Kopieer hem meteen: Artistu bewaart alleen een vingerafdruk van de sleutel, dus niemand kan hem later nog opzoeken, wij ook niet. Sleutel kwijt? Trek hem in en maak een nieuwe.

Sleutels zijn beperkt tot hun artiesten. Een sleutel voor de website van één artiest geeft alleen de boekingen van die artiest terug, dus een gelekte sleutel raakt die artiest en niet je hele roster. Maak per website een aparte sleutel.

Elke sleutel in de lijst toont zijn artiesten, wanneer hij is gemaakt en wanneer hij voor het laatst is gebruikt. Intrekken stopt een sleutel direct. Elke website of integratie die hem nog gebruikt, stopt meteen met werken.

Heb je een token gemaakt voordat er sleutels waren? Dat blijft voorlopig werken en heeft toegang tot alle artiesten. Maak een nieuwe sleutel, pas je website aan en trek daarna het oude token in.

Bepaal welke boekingen zichtbaar zijn

Niet elke boeking hoort op je website. Een boeking verschijnt alleen in de API als aan alle volgende voorwaarden is voldaan:

  1. De boekingsstatus is optie of bevestigd. Boekingen die in behandeling of geannuleerd zijn, verschijnen nooit.
  2. De boeking is aangekondigd: of de schakelaar Aangekondigd staat aan, of de datum bij Aankondigen op is verstreken.
  3. De schakelaar Verbergen voor publieke API staat uit.

Dit regel je per boeking. Open een boeking, ga naar het tabblad Details en scroll naar het onderdeel Openbaar. Daar vind je:

VeldDoel
Aankondigen opDatum waarop de boeking automatisch als aangekondigd geldt
AangekondigdMarkeer de boeking nu direct handmatig als aangekondigd
Verbergen voor publieke APIHoud de boeking uit de API, ook als die aangekondigd is
WebsiteOpenbare website van het event of de locatie, komt mee in het API-antwoord
TicketlinkLink naar de ticketverkoop, komt mee in het API-antwoord
Line-upOpenbare line-uptekst, komt mee in het API-antwoord
Openbare notitiesExtra openbare tekst, komt mee in het API-antwoord

De datum bij Aankondigen op is handig als een show bevestigd is maar onder embargo ligt tot de officiële aankondigingsdatum. Zet de datum en de boeking verschijnt vanaf die dag vanzelf in de API.

Verbergen voor publieke API is de uitzondering voor shows die elders wel aangekondigd zijn maar niet op je website horen, bijvoorbeeld besloten events.

Zoek je artiest-ID

De API geeft boekingen van één artiest tegelijk terug. Je vindt het artiest-ID in de adresbalk als je de artiest opent in je dashboard:

https://artistu.io/dashboard/artists/{artistId}

Het laatste deel van de URL is het ID dat je aan de API meegeeft. Toont je website meerdere artiesten, doe dan één verzoek per artiest.

Boekingen ophalen

GET https://artistu.io/api/public/bookings/{artistId}

Authenticeer met je token in de Authorization-header:

Authorization: Bearer YOUR_API_TOKEN

Queryparameters

ParameterFormaatStandaardOmschrijving
startDateYYYY-MM-DDvandaagEerste datum die meetelt
endDateYYYY-MM-DDstartDate + 1 maandLaatste datum die meetelt

De periode mag maximaal 366 dagen beslaan en startDate moet op of voor endDate liggen.

Voorbeeldverzoek

curl -X GET 'https://artistu.io/api/public/bookings/{artistId}?startDate=2026-08-01&endDate=2026-12-31' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Voorbeeldantwoord

{
  "bookings": [
    {
      "bookingId": "uq1ye3nqnb4m5f234auf69gk",
      "artistName": "DJ Example",
      "name": "Summer Festival 2026",
      "date": "2026-08-15T00:00:00.000Z",
      "time": "22:00",
      "duration": 90,
      "venue": "Festival Grounds",
      "capacity": 15000,
      "status": "confirmed",
      "address": {
        "description": "Festival Grounds, Amsterdam, Netherlands",
        "geometry": { "lat": 52.3676, "lng": 4.9041 },
        "components": {
          "city": "Amsterdam",
          "country": "Netherlands",
          "countryCode": "NL"
        }
      },
      "website": "https://summerfestival.example",
      "ticketLink": "https://tickets.example/summer-festival",
      "lineUp": "DJ Example, Support Act",
      "publicNotes": "Main stage closing set"
    }
  ],
  "truncated": false
}

Boekingen staan op datum gesorteerd, oplopend. duration is in minuten. status is option of confirmed. Velden zonder waarde zijn null.

Eén antwoord bevat maximaal 500 boekingen. Vallen er meer binnen je periode, dan is truncated gelijk aan true en komt er een veld maxResults bij. Maak de periode kleiner om de rest op te halen.

Rate limits

  • 60 verzoeken per minuut per token
  • 120 verzoeken per minuut per IP-adres

Elk antwoord bevat de headers X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset. Overschrijd je een limiet, dan antwoordt de API met status 429 en krijg je te horen hoeveel seconden je moet wachten.

Voor een gewone website kun je het API-antwoord beter een paar minuten cachen op je eigen server dan de API bij elke paginaweergave aan te roepen. Je tourpagina blijft snel en je blijft ver van de limieten.

Problemen oplossen

  • 401 Unauthorized: de sleutel ontbreekt, klopt niet, of is ingetrokken. Controleer de Authorization: Bearer-header en vergelijk het begin van de sleutel met de lijst in Instellingen → Integraties.
  • 404 Artist not found: het artiest-ID bestaat niet, hoort bij een andere organisatie, of is geen van de artiesten op de sleutel.
  • 400 Bad request: een datum staat niet in het formaat YYYY-MM-DD, startDate ligt na endDate, of de periode is langer dan 366 dagen.
  • Een boeking ontbreekt: loop de drie voorwaarden hierboven na. Meestal is de boeking nog niet aangekondigd, of staat de status nog op in behandeling.