Beginnen
Bouwen met PartyPPL
De agenda van het nachtleven in Nederland en België als JSON: events, locaties, artiesten, organisaties, genres en steden. Voor een agenda op je eigen site, een app, een bot of een assistent.
Waar de API voor is
Met de API lees je de openbare agenda: elke goedgekeurde nacht met zaal, line-up, tijden, prijzen en genres, plus de pagina's van artiesten, locaties en organisaties. Als organisator lees en schrijf je daarnaast wat over je eigen events gaat: bezoekersaantallen, externe verkoop en de scanner aan de deur.
- REST over HTTPS, JSON in en uit, op
https://api.partyppl.nl/v1. - Een OpenAPI 3.1-specificatie op https://api.partyppl.nl/v1/openapi.json, gegenereerd uit dezelfde tabel waarop de API zijn verzoeken afhandelt. Deze site leest diezelfde specificatie.
- Een MCP-server op
https://partyppl.nl/mcp, zodat een assistent als Claude dezelfde gegevens als tools gebruikt. Zie MCP en Claude.
Je eerste verzoek
Maak een token met het recht read (zie Sleutel aanvragen), zet het in een omgevingsvariabele en vraag de eerstvolgende events op:
export PPL_TOKEN=ppl_live_...curl -s "https://api.partyppl.nl/v1/events?city=Amsterdam&limit=25" \
-H "Authorization: Bearer $PPL_TOKEN"const res = await fetch("https://api.partyppl.nl/v1/events?city=Amsterdam&limit=25", {
headers: {
Authorization: `Bearer ${process.env.PPL_TOKEN}`,
},
});
if (!res.ok) throw new Error((await res.json()).error.message);
const { data, meta } = await res.json();import os
import requests
res = requests.get(
"https://api.partyppl.nl/v1/events?city=Amsterdam&limit=25",
headers={"Authorization": f"Bearer {os.environ['PPL_TOKEN']}"},
timeout=30,
)
res.raise_for_status()
payload = res.json()Elk antwoord heeft dezelfde envelop: data met wat je vroeg en meta met het request_id, bij een lijst de paginering en bij openbare gegevens de bronvermelding.
Bronvermelding
Wie de gegevens toont, noemt PartyPPL en linkt naar de eventpagina op partyppl.nl. Elk antwoord met agendagegevens draagt dat zelf mee in meta.attribution: de zin, de link en de link naar de voorwaarden. Toon die zin, of een vertaling ervan, zichtbaar bij de gegevens. Verspreid de agenda niet als geheel. De zes spelregels staan bij Voorwaarden.
Wat er bewust niet in zit
Sommige dingen kan de API niet, en dat blijft zo. Ze gaan over geld van bezoekers of over bezoekers zelf, en horen in de app of op de site, waar iemand zelf bevestigt.
- Tickets kopen, overdragen of terugbetalen. Dat gaat via de site en de app, met de betaling erbij.
- Groepschats, forumberichten en privéberichten. Lezen noch schrijven.
- Gegevens over individuele bezoekers, ook niet wie er naar een nacht gaat. Een organisator ziet aantallen, geen namen.
- Webhooks. De API heeft geen uitgaande webhooks; lees met de
ETagen poll binnen de limieten.
Een organisatortoken antwoordt alleen over de eigen organisatie. Het recht admin is van het platform zelf en wordt niet aan derden gegeven.
Verder lezen
- Authenticatie: tokens, scopes en OAuth 2.1 met PKCE.
- Paginering, fouten en limieten: de afspraken die voor elk endpoint gelden.
- Alle endpoints, per groep, met voorbeelden in curl, JavaScript en Python.