Food product by barcode

GET https://api.api.sh/food/v1/product
1 credit / call public data try it in the playground →

A packaged food product by barcode (EAN/UPC) from Open Food Facts (3M+ products): name, brands, quantity, serving size, packaging, categories, countries, stores, ingredients (text and list with estimated percent, vegan/vegetarian flags), allergens, traces, additives, labels, Nutri-Score, NOVA group, Eco-Score, nutrient levels, nutrition per 100 g and per serving, and images. Also returns ecoscore (grade, score, status, Agribalyse lifecycle figures: kg CO2e per kg by stage, environmental footprint, packaging and origin scores), ingredients_analysis (vegan, vegetarian, palm oil free: yes, no, maybe or unknown), nutri_score_points, ingredients_count, product_quantity, structured packagings (material, shape, recycling, units, weight) and images (front, ingredients, nutrition, packaging photos).

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
barcoderequired string EAN-13, EAN-8 or UPC barcode. Example: 3017624010701
lang string Language for names and ingredients where available (default en).

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/food/v1/product?barcode=3017624010701" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.