Live API / REST + GraphQL
REST- en GraphQL-documentatie. Bouw op jouw manier.
REST-resources, GraphQL-query’s en het getypeerde schema van de KicksAPI sneakerdata-API, met voorbeeldverzoeken in JavaScript en Python.
Elk verzoek heeft een API-sleutel nodig. Maak een account, genereer een testsleutel en roep de endpoints hieronder aan; testsleutels geven voorbeelddata, live sleutels actuele marktdata voor de markten in je abonnement.
Authenticatie
De API gebruikt een bearer-token. Houd live sleutels op je server en zet ze nooit in een publieke appbundel; gebruik in browsers een testsleutel of een sleutel met origin-beperking.
Authorization: Bearer YOUR_API_KEY
Resources
GET /v1/productsDoorzoek de catalogus op naam, merk of artikelcode. Met limit (tot 50) en page.
GET /v1/products/{id}Eén product met maattabel, links naar de marktplaatsen en de laagste vraagprijs per markt. {id} is ons ID, een StockX-slug of een artikelcode.
GET /v1/products/{id}/pricesVraagprijzen per maat voor één markt. Optioneel source (stockx of goat) en size_system (EU, UK, US, US_W of CM).
GET /v1/products/{id}/historyDagelijkse momentopnames tussen from en to, standaard 90 dagen en maximaal 366. Builder en Scale.
POST /v1/prices/batchPrijzen voor maximaal 50 producten in één markt in één verzoek. Scale.
GET /v1/marketsMarkten, valuta en bronnen, welke in je abonnement zitten en wanneer elk voor het laatst is ververst. Telt niet mee.
GET /v1/meJe abonnement, de limieten en het verbruik deze periode. Telt niet mee.
GraphQL: kies je velden
Vraag een product en zijn marktspecifieke prijzen op via één endpoint. Selecteer alleen de velden die je interface nodig heeft, met hetzelfde onderliggende datamodel als REST.
POST /graphql Content-Type: application/json Authorization: Bearer YOUR_API_KEY
Stuur een JSON-body met query en variabelen. In het voorbeeld hieronder past de marktkeuze de variabelen en de voorbeeldrespons aan. De tabs Query, Variabelen en Respons horen bij hetzelfde verzoek.
Het schema dekt zoeken en opzoeken van producten, marktprijzen en prijshistorie. Eén document telt als één verzoek en mag maximaal 50 prijssets en 5 historieën ophalen; daarboven geven de extra velden een query_too_large-fout naast de data die past. Een document dat niet parseert of valideert, telt niet mee.
Codevoorbeelden
{
"id": "ka_concept_001",
"name": "KicksAPI Concept 01",
"style_code": "KA-001",
"market": "NL",
"currency": "EUR",
"source": "stockx",
"size_system": "EU",
"observed_at": "2026-09-10T08:00:00Z",
"variants": [
{
"size": "42",
"size_system": "EU",
"asking_price": 189
}
]
}Actualiteit en ontbrekende waarden
Bewaar zowel de observatietijd van de bron als het moment waarop je de respons ontving. Een null-prijs betekent dat er geen bruikbare prijs is. Maak van ontbrekende waarden geen nul en zie een vraagprijs niet als afgeronde verkoop. Een maat kan null zijn in een systeem dat het merk niet gebruikt; elk systeem van het product staat onder sizes.
DatamethodologieFoutafhandeling
Houd rekening met 401 voor ongeldige gegevens, 402 als het saldo het abonnement niet dekt, 403 als een markt of functie buiten je abonnement valt, 404 voor onbekende producten, 429 voor limieten en 503 voor tijdelijke uitval. Elke fout bevat een machineleesbare foutcode en een request_id, en geweigerde verzoeken tellen niet mee. Bewaar de laatste geldige momentopname en toon de ouderdom als een update mislukt.
Controleer bij GraphQL zowel de HTTP-status als de errors-array. Een antwoord kan gedeeltelijke data en fouten bevatten. De integratievoorbeelden wijzen antwoorden met fouten af; productie-apps kunnen bepalen hoe bruikbare deelresultaten worden getoond.
KICKS / API
Jouw volgende idee. Onze soort data.
Maak je account, genereer een sleutel en doe vandaag je eerste verzoek.