Zoek op EAN
Haal één food- of sportvoedingsproduct op via zijn EAN (European Article Number, ook bekend als barcode). Geeft de canonieke, genormaliseerde versie terug met voedingsdata en de markten waarin het product bekend is.
GET
/v1/products/:eanPath-parameters
| Veld | Type | Beschrijving |
|---|---|---|
| ean | string | Barcode van 8, 12, 13 of 14 cijfers. Voorloopnullen blijven behouden. We valideren geen checksum-cijfers — geef precies door wat op de verpakking staat. |
Query-parameters
| Veld | Type | Beschrijving |
|---|---|---|
| country | string | Optioneel ISO 3166-1 alpha-2 primaire-marktfilter, bijvoorbeeld NL, BE, DE of GB. Geeft 404 als de primaire markt van het product niet matcht. |
Aanvraag
curl "https://shelfbase.app/api/v1/products/8718907400435?country=NL" \
-H "Authorization: Bearer sb_live_..."Respons
Geeft 200 OK met JSON-object terug. 404 als geen product matcht, als de primaire markt niet matcht, of als er nog geen bruikbare voedingsdata beschikbaar is.
Endpoint: /api/v1/products/8718907400435?country=NL
{
"ean": "8718907400435",
"name": "Optimum Nutrition Gold Standard 100% Whey, Vanilla Ice Cream, 2.27kg",
"brand": "Optimum Nutrition",
"weight": "2270 g",
"country": "NL",
"countries": [
"NL"
],
"nutrition_basis": "PER_100G",
"nutrition": {
"energy_kj": 1570,
"energy_kcal": 375,
"fat_g": 3.8,
"saturated_fat_g": 2,
"unsaturated_fat_g": null,
"carbs_g": 7.5,
"sugar_g": 3.5,
"fiber_g": 1,
"protein_g": 79.2,
"salt_g": 0.5,
"extras": null
},
"nutrition_per_100": {
"energy_kj": 1570,
"energy_kcal": 375,
"fat_g": 3.8,
"saturated_fat_g": 2,
"unsaturated_fat_g": null,
"carbs_g": 7.5,
"sugar_g": 3.5,
"fiber_g": 1,
"protein_g": 79.2,
"salt_g": 0.5,
"extras": null
},
"nutrition_per_serving": null,
"ingredients": {
"raw": "Whey protein concentrate, whey protein isolate, emulsifier: soy lecithin, flavouring, sweetener: sucralose.",
"parsed": [
"whey protein concentrate",
"whey protein isolate",
"soy lecithin",
"flavouring",
"sucralose"
]
},
"allergens": [
"MILK",
"SOY"
],
"allergens_status": {
"advisory_only": true,
"notice": "Allergen data is informational only. Consumers must verify allergen information on the product packaging.",
"last_verified_at": "2026-04-22T08:31:11Z",
"confidence": 0.94
},
"is_multipack": false,
"updated_at": "2026-05-10T03:12:44Z"
}Voorbeelddata: Netherlands. De vorm komt overeen met de publieke API; waarden zijn representatief.
Top-level velden
| Veld | Type | Beschrijving |
|---|---|---|
| ean | string | Echo van de gevraagde EAN. |
| name | string | Weergavenaam. Fallback op canonieke naam, dan ruwe naam van de bron. |
| brand | string | null | Genormaliseerde merknaam. Null voor merkloos of onbekend. |
| weight | string | null | Netto gewicht met eenheid-suffix (g, ml, kg, l). |
| country | string | null | Primaire markt voor de geretourneerde match. |
| countries | string[] | Landen waarin dit product bekend is, als ISO 3166-1 alpha-2 codes. |
| nutrition_basis | string | null | Basis van de voedingswaarden, bijvoorbeeld PER_100G, PER_100ML of PER_SERVING. |
| nutrition | object | Primaire voedingswaarden voor de opgegeven basis. |
| nutrition_per_100 | object | null | Voedingswaarden per 100g of 100ml. Null wanneer de bron alleen betrouwbare portiewaarden aanlevert. |
| nutrition_per_serving | object | null | Voedingswaarden per portie wanneer brondata dit betrouwbaar aanlevert. |
| is_multipack | boolean | Of het record een multipack-product vertegenwoordigt. |
| ingredients | object | null | Ruwe label-tekst en een geparseerde gestructureerde lijst waar beschikbaar. |
| allergens | string[] | Enum-waarden: MILK, GLUTEN, NUTS, EGGS, SOY, FISH, SHELLFISH, SESAME, PEANUTS, CELERY, MUSTARD, LUPIN, MOLLUSCS, SULPHITES. |
| allergens_status | object | Provenance-metadata voor allergenendata — confidence, laatste verificatie-tijdstempel en de advisory-disclaimer. |
| updated_at | ISO 8601 | Wanneer we het canonieke record laatst hebben bijgewerkt. |
Fouten
401— ontbrekende of ongeldige sleutel. Zie Authenticatie.400— ongeldig country-formaat.404— geen product matcht die EAN of primaire-marktfilter, of het product heeft nog geen bruikbare voedingsdata.429— quotum overschreden. Zie Rate limits.