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:
- Een API-token, dat je één keer aanmaakt in je Artistu-instellingen en waarmee je website zich authenticeert.
- Online-instellingen per boeking, die bepalen of een boeking aangekondigd is en welke openbare details erbij horen.
- Eén endpoint dat de aangekondigde boekingen van één artiest als JSON teruggeeft.
Genereer je API-token
Ga naar Instellingen → Integraties en zoek het onderdeel Publieke API. Klik op Token genereren. Hiervoor moet je beheerder van je organisatie zijn.
Het token is een reeks van 64 tekens. Behandel het als een wachtwoord: iedereen die het heeft, kan je openbare boekingsgegevens lezen. Na het genereren wordt het in de interface verborgen, met de knop Tonen maak je het weer zichtbaar.
Zodra er een token is, heb je twee extra acties:
- Token opnieuw genereren maakt een nieuw token aan en maakt het oude meteen ongeldig. Elke website of integratie die het oude token nog gebruikt, stopt direct met werken.
- Token intrekken verwijdert het token zonder een nieuw aan te maken. Alle toegang tot de API stopt tot je een nieuw token genereert.
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:
- De boekingsstatus is optie of bevestigd. Boekingen die in behandeling of geannuleerd zijn, verschijnen nooit.
- De boeking is aangekondigd: of de schakelaar Aangekondigd staat aan, of de datum bij Aankondigen op is verstreken.
- De schakelaar Verbergen voor publieke API staat uit.
Dit regel je per boeking. Open een boeking, ga naar het tabblad Instellingen en scroll naar het onderdeel Online. Daar vind je:
| Veld | Doel |
|---|---|
| Aankondigen op | Datum waarop de boeking automatisch als aangekondigd geldt |
| Aangekondigd | Markeer de boeking nu direct handmatig als aangekondigd |
| Verbergen voor publieke API | Houd de boeking uit de API, ook als die aangekondigd is |
| Website | Openbare website van het event of de locatie, komt mee in het API-antwoord |
| Ticketlink | Link naar de ticketverkoop, komt mee in het API-antwoord |
| Line-up | Openbare line-uptekst, komt mee in het API-antwoord |
| Openbare notities | Extra 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
| Parameter | Formaat | Standaard | Omschrijving |
|---|---|---|---|
startDate | YYYY-MM-DD | vandaag | Eerste datum die meetelt |
endDate | YYYY-MM-DD | startDate + 1 maand | Laatste 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: het token ontbreekt, klopt niet, of is opnieuw gegenereerd of ingetrokken. Controleer de
Authorization: Bearer-header en vergelijk het token met dat in Instellingen → Integraties. - 404 Artist not found: het artiest-ID bestaat niet of hoort bij een andere organisatie dan het token.
- 400 Bad request: een datum staat niet in het formaat
YYYY-MM-DD,startDateligt naendDate, 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.