Naar de inhoud
KicksAPI

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/products

Doorzoek 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}/prices

Vraagprijzen per maat voor één markt. Optioneel source (stockx of goat) en size_system (EU, UK, US, US_W of CM).

GET /v1/products/{id}/history

Dagelijkse momentopnames tussen from en to, standaard 90 dagen en maximaal 366. Builder en Scale.

POST /v1/prices/batch

Prijzen voor maximaal 50 producten in één markt in één verzoek. Scale.

GET /v1/markets

Markten, valuta en bronnen, welke in je abonnement zitten en wanneer elk voor het laatst is ververst. Telt niet mee.

GET /v1/me

Je 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

API-vorm
GET/v1/products/ka_concept_001/prices
{
  "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
    }
  ]
}
Live APIREST / JSON

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.

Datamethodologie

Foutafhandeling

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.