Kies een voorbeeld, voeg je sleutel toe en ga aan de slag. Je hebt geen SDK nodig.
Bronvermelding is verplicht. Zet bij content die je via de API toont, deelt of hergebruikt altijd een zichtbare GrooveGauge-vermelding met een link naar de bijbehorende oorspronkelijke pagina. Het auteursrecht op onze eigen redactionele teksten blijft bij GrooveGauge. Lees de uitleg over bronvermelding en AI-integraties.
Bewaar je sleutel op je server. Laat je website of app je eigen backend aanroepen; deze voorbeelden zijn niet bedoeld voor openbare JavaScript in de browser.
Ingekorte API-response. Klap open voor het volledige voorbeeld.
Gebruik het ID van 22 tekens uit de Spotify-URL. Een Spotify-album-ID kan ook bij een EP horen. Alleen gecontroleerde koppelingen leveren resultaten op.
The Autumn Effect is release 87. Bij een release vind je scores onder reviews[].score; alleen reviewobjecten hebben zelf een score-veld. Volg reviews_url voor alle reviews.
ID’s, artiestennamen, titels en scores zijn gelijk. Wissel de basis-URL om de taal van fragmenten en paginalinks te kiezen. Ontbreekt een Nederlandse publicatie, dan verschijnt die niet in de lijst en geeft de detail-URL een 404.
Volg links.next tot de waarde null is. Wil je de lus voor /artists, /releases of /genres gebruiken, pas dan de start-URL aan en gebruik alleen ondersteunde filters. Verwijder artist_id=20 om de volledige reviewindex te doorlopen. Vraag de pagina’s na elkaar op.
Node.js
// paginate.mjs: server-side, using the same environment variable
import { setTimeout as sleep } from 'node:timers/promises';
const key = process.env.GROOVEGAUGE_API_KEY;
if (!key) throw new Error('Set GROOVEGAUGE_API_KEY first');
async function getPage(url) {
for (let attempt = 0; attempt < 3; attempt++) {
const response = await fetch(url, {
headers: { Authorization: `Bearer ${key}` },
signal: AbortSignal.timeout(15000),
});
if (response.status === 429 && attempt < 2) {
const seconds = Number(response.headers.get('Retry-After') ?? '5');
if (!Number.isFinite(seconds) || seconds > 60) {
throw new Error('Quota reached. Try again later.');
}
await sleep(Math.max(1, seconds) * 1000);
continue;
}
const body = await response.json();
if (!response.ok) throw new Error(`${response.status}: ${body.error?.message}`);
return body;
}
}
let url = 'https://groovegauge.com/nl/api/v1/reviews?artist_id=20&per_page=50';
while (url) {
const page = await getPage(url);
for (const review of page.data) console.log(review.title, 'Bron: GrooveGauge', review.url);
url = page.links.next;
if (url) await sleep(1100);
}
De pauze voorkomt dat je te snel aanvragen verstuurt. De limieten gelden samen voor je andere sleutels en beide talen, dus een druk account kan alsnog 429 teruggeven. Dit voorbeeld wacht kort en stopt bij een lange wachttijd, in plaats van een hele dag te blijven draaien.
Toon een compact reviewblok
Gebruik de url van de review als openbare link. Escape titels en fragmenten als tekst. De zichtbare bronvermelding van GrooveGauge is verplicht, ook in apps die met AI zijn gebouwd. Zet de vermelding en de oorspronkelijke scoreschaal bij de inhoud.
The Autumn Effect laat goed horen wat sfeer binnen een vrij directe rocksong kan doen. 10 Years heeft zware gitaren en grote refreinen, maar de rustige passages zijn vaak net zo interessant. Een herhaalde gitaarlijn, wat ruimte rond de drums en Jesse Haseks stem kunnen spanning maken lang voordat het volume stijgt. Waking Up introduceert die balans meteen. De zang heeft beheerste intensiteit en d…
Een lege lijst is een geslaagde aanvraag, geen fout. De artiest kan nog ontbreken, je filter kan geen resultaten geven of een Spotify-koppeling is nog niet gecontroleerd.
Standaard mag je 60 aanvragen per UTC-minuut doen, 10 per UTC-venster van vijf seconden en 5.000 per UTC-dag. Je accountoverzicht en de responseheaders tonen je eigen limieten. Alle sleutels en beide talen delen het accountquotum.
RateLimit-Reset is een aantal seconden, geen Unix-tijdstempel. Bewaar X-Request-ID als je een mislukte aanvraag wilt onderzoeken.
Gebruik conditionele aanvragen
Lees ETag uit een response en stuur die waarde mee in If-None-Match voor dezelfde URL. Als de gegevens gelijk zijn, krijg je HTTP 304 zonder JSON-body. Controleer daarom eerst de status voordat je response.json() aanroept. Ook HEAD- en 304-aanvragen tellen mee voor je quotum.
cURL
curl --include --silent --show-error \
--header "Authorization: Bearer $GROOVEGAUGE_API_KEY" \
'https://groovegauge.com/nl/api/v1/reviews/103'
# Replace this with the ETag value from the first response, including its quotes.
GROOVEGAUGE_ETAG='"ETAG_FROM_FIRST_RESPONSE"'
curl --include --silent --show-error \
--header "Authorization: Bearer $GROOVEGAUGE_API_KEY" \
--header "If-None-Match: $GROOVEGAUGE_ETAG" \
'https://groovegauge.com/nl/api/v1/reviews/103'
Beknopt overzicht
Endpoint
Ondersteunde filters
/reviews
page, per_page, q, artist_id, release_id, genre_id, type, spotify_id, spotify_type
/artists
page, per_page, q, genre_id, spotify_id, spotify_type=artist
/releases
page, per_page, q, artist_id, genre_id, type, spotify_id, spotify_type
/genres
page, per_page
/search
page, per_page, q, spotify_id, spotify_type
GET /reviews/103, /artists/20, /releases/87 en /genres/30 geven één object in data. Detail-URL’s accepteren geen queryparameters.
Lijsten geven een array in data, met meta, links en attribution. Standaard per_page=20, maximaal 50. Zoeken geeft standaard 10 per groep, maximaal 20. page ligt tussen 1 en 10.000.
q is een letterlijke zoekterm van 2 tot 120 tekens; hoofdletters maken geen verschil. Zoeken vereist q of spotify_id. Voor spotify_type is ook spotify_id nodig.
Reviewtypes: album, single. Releasetypes ondersteunen daarnaast ep, live en compilation.
Een GrooveGauge-ID is een geheel getal. Een Spotify-ID is een tekenreeks van 22 tekens. Houd die twee uit elkaar.
Een reviewscore is een getal of null, op een schaal van 10. Een release zonder review heeft reviews: []; maak daar geen nulscore van.
Reviewfragmenten bevatten maximaal 400 Unicode-tekens inclusief het beletselteken. Bij korte reviews verschijnt maximaal 60% van de tekst; onder 40 tekens blijft het fragment leeg. Volledige reviews zijn niet beschikbaar via de API.
Datums volgen de bekende precisie. release_date kan een jaar, maand, volledige datum of null zijn. Controleer date_precision. published_at is de publicatiedatum van de review.
De url van een release wijst naar de review als die gepubliceerd is, anders naar de releasepagina. Artiestenlinks kunnen naar de Engelse versie wijzen als er nog geen Nederlandse bio is. JSON-veldnamen blijven Engels.
Gegevensendpoints en de JSON-API-index vereisen een Bearer-sleutel. Deze documentatie, het OpenAPI-bestand en OPTIONS-preflightaanvragen zijn openbaar. Alleen GET, HEAD en OPTIONS worden ondersteund.
Bij elk gebruik van content uit deze API is bronvermelding van GrooveGauge verplicht. Zet een zichtbare GrooveGauge-vermelding bij ieder reviewfragment, cijfer, artiestenbeschrijving of release-item dat je toont, deelt of hergebruikt. Link naar de oorspronkelijke GrooveGauge-pagina via het url-veld van dat item. Gebruik de homepage alleen als er geen eigen pagina beschikbaar is. Een vermelding in de code, JSON, een Over ons-pagina of algemene footer vervangt de bronvermelding naast de content niet.
Kan een uitvoer geen klikbare links bevatten, voeg dan de oorspronkelijke pagina-URL als gewone tekst toe. Behoud de bronvermelding ook wanneer je content exporteert of elders deelt.
Het auteursrecht op de eigen redactionele teksten van GrooveGauge blijft bij GrooveGauge. Toegang tot de API draagt dat auteursrecht niet over en maakt de teksten niet rechtenvrij. Voor artwork, foto’s, artiestennamen en gegevens van andere aanbieders gelden hun eigen rechten; GrooveGauge claimt daarop geen eigendom.
Bouwen met AI
Dezelfde bronvermelding is verplicht in apps die met AI zijn gebouwd en bij AI-samenvattingen, vertalingen of herschreven teksten op basis van onze content. Behoud de GrooveGauge-vermelding en de oorspronkelijke paginalink wanneer je teksten inkort, anders opmaakt, vertaalt of parafraseert. Maak duidelijk welke bewerkingen van jou zijn en wat de oorspronkelijke tekst is.
Geef de volgende instructie mee wanneer je een AI-tool je integratie laat bouwen:
Instructie voor je AI-tool
Zet bij ieder item uit de GrooveGauge API dat deze integratie toont, deelt
of hergebruikt een zichtbare vermelding "Bron: GrooveGauge". Link die naar de
oorspronkelijke GrooveGauge-pagina via het url-veld, niet naar de API-URL.
Behoud deze vermelding en link in samenvattingen, vertalingen, herschreven
teksten en exports. Het auteursrecht op de eigen redactionele teksten
blijft bij GrooveGauge. Kan de uitvoer geen links bevatten, vermeld dan de
oorspronkelijke pagina-URL als gewone tekst.
Een bronvermelding om over te nemen
Zet deze link naast de content waarnaar hij verwijst. Vervang de voorbeeld-URL door de url van het betreffende item.
Elke geslaagde dataresponse bevat een attribution-object. Geef dit door via je backend en behoud het in opgeslagen of geëxporteerde responses. Je interface moet de bronvermelding en oorspronkelijke paginalink daarnaast zichtbaar tonen aan de lezer.
Houd scores op de oorspronkelijke schaal van 10. De API biedt compacte muziekinformatie en reviewfragmenten, geen volledige artikelen, biografieën of inzendings- en contactgegevens.
Je API-overzicht toont verbruik, fouten, limieten, responstijden en cachehits. Aanvraagdetails worden 30 dagen bewaard en dagtotalen 366 dagen. API-logs bewaren geen ruwe sleutels, autorisatieheaders of zoektekst; IP-adressen worden alleen als keyed hash opgeslagen.
De JSON-voorbeelden zijn momentopnamen van gepubliceerde gegevens. Resultaten en aantallen kunnen veranderen wanneer de catalogus groeit.