Barcode Lookup API
ToolsMAINTAINED1 token / call

Barcode Lookup API

Product name, brand, ingredients and Nutri-Score for 4.3 million barcodes

Scan a barcode, know the product: ~4.3 million products from the Open Facts family of community databases (Open Food Facts plus its beauty, general-product and pet-food siblings), self-hosted and answering in one round trip. Point any EAN-13, UPC-A, EAN-8 or GTIN-14 at the lookup endpoint — leading zeros and common re-paddings are tried automatically — and get back the product name, brand, quantity, categories, labels, ingredients, allergens, serving size, Nutri-Score (a-e), NOVA processing group (1-4), Eco-Score, per-100g nutriments (energy, fat, saturates, carbs, sugars, fibre, protein, salt, sodium) and a product photo URL. Search the catalogue by name, brand, category, country, Nutri-Score, NOVA group or dataset; roll up the top brands; every response carries an attribution block linking to the product's source page. Product data refreshes daily from the official Open Food Facts delta exports. Data licence: Open Database License (ODbL) v1.0 — attribution required, database derivatives share-alike. Built for shopping and diet apps, price scanners, inventory tools and e-commerce enrichment. Self-hosted dataset — no third-party calls at request time.

Every call needs an X-Api-Key header. A free key includes 500 tokens a month, no card required. 1 token per call, so the free plan covers about 500 calls a month.

No credit card requiredAccess to 125+ APIsCancel anytime
response.json
{
  "ok": true,
  "barcode": "3017620422003",
  "name": "Nutella",
  "brand": "Nutella, Ferrero, Yum yum",
  "quantity": null,
  "categories": "Breakfasts, Spreads, Sweet spreads, Confectionary based spreads, Petit déjeuners, Produits à tartiner, Produits à tartiner sucrés, Pâtes à tartiner",
  "labels": "Sans gluten, en:no-gluten",
  "countries": "France",
  "allergens": "Milk, Nuts, Soybeans",
  "serving_size": null,
  "ingredients": "Sucre, huile de palme, NOISETTES 13%, cacao maigre 7,4%, LAIT écrémé en poudre 6,6%, LACTOSERUM en poudre, émulsifiants: lécithines [SOJA), vanilline. Sans gluten.",
  "scores": {
    "nutriscore": "e",
    "nova_group": 4,
    "ecoscore": null
  },
  "nutriments_per_100g": {
    "energy_kcal": 539,
    "fat": 30.9,
    "saturated_fat": 10.6,
    "carbohydrates": 57.5,
    "sugars": 56.3,
    "proteins": 6.3,
    "salt": 0.107,
    "sodium": 0.043
  },
  "completeness": 0.787,
  "image_url": "https://images.openfoodfacts.org/images/products/301/762/042/2003/front_en.879.400.jpg",
  "last_modified": "2026-08-28",
  "attribution": {
    "dataset": "food",
    "source": "Open Food Facts",
    "source_url": "https://world.openfoodfacts.org/product/3017620422003",
    "licence": "ODbL v1.0"
  }
}
Production Ready
Battle-tested infrastructure with a 99.9% uptime SLA. Rate limits are generous, responses are consistent.
Simple Integration
Standard REST + JSON. Works with any HTTP client. Copy-ready code snippets in 4 languages.
One Key, 125+ APIs
Your DataAndAPIs subscription unlocks every API on the platform — anime, finance, sports, and more.

Use cases for Barcode Lookup API

  • Turn a scanned EAN or UPC into a product name, brand, photo and quantity in a shopping-list, pantry or inventory app.

  • Show Nutri-Score, NOVA group, allergens and per-100g nutrients in a diet or fitness app without maintaining a food database.

  • Match retail products to a catalogue by barcode when onboarding a supplier's price list.

  • Explore a category or brand with the search and random endpoints to seed recommendations or test fixtures.

Barcode Lookup API endpoints

Every endpoint with its parameters and a real example response.

GETCatalogue Stats

https://api-barcode-lookup.dataandapis.com/v1/products/stats

This endpoint takes no parameters.

Example request

curl "https://api-barcode-lookup.dataandapis.com/v1/products/stats" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "total_products": 4291142,
  "by_dataset": [
    {
      "dataset": "food",
      "products": 4211142
    },
    {
      "dataset": "beauty",
      "products": 42042
    },
    {
      "dataset": "products",
      "products": 25879
    },
    {
      "dataset": "petfood",
      "products": 12079
    }
  ],
  "by_nutriscore": [
    {
      "nutriscore": "a",
      "products": 196113
    },
    {
      "nutriscore": "b",
…
Show full response
{
  "ok": true,
  "total_products": 4291142,
  "by_dataset": [
    {
      "dataset": "food",
      "products": 4211142
    },
    {
      "dataset": "beauty",
      "products": 42042
    },
    {
      "dataset": "products",
      "products": 25879
    },
    {
      "dataset": "petfood",
      "products": 12079
    }
  ],
  "by_nutriscore": [
    {
      "nutriscore": "a",
      "products": 196113
    },
    {
      "nutriscore": "b",
      "products": 150024
    },
    {
      "nutriscore": "c",
      "products": 277591
    },
    {
      "nutriscore": "d",
      "products": 337614
    },
    {
      "nutriscore": "e",
      "products": 368979
    }
  ]
}

GETData Sources

https://api-barcode-lookup.dataandapis.com/v1/sources

This endpoint takes no parameters.

Example request

curl "https://api-barcode-lookup.dataandapis.com/v1/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 4,
  "attribution": "Data from the Open Food Facts family of projects, licensed under the Open Database License (ODbL) v1.0. https://world.openfoodfacts.org",
  "sources": [
    {
      "slug": "food",
      "name": "Open Food Facts",
      "publisher": "Open Food Facts contributors",
      "licence": "ODbL v1.0 (database) + DbCL (contents) - attribution required",
      "source_url": "https://world.openfoodfacts.org",
      "file_url": "https://static.openfoodfacts.org/data/en.openfoodfacts.org.products.csv.gz",
      "cadence": "daily",
      "record_count": 4206231,
      "retrieved_at": "2026-08-29"
    },
    {
      "slug": "beauty",
      "name": "Open Beauty Facts",
      "publisher": "Open Food Facts contributors",
      "licence": "ODbL v1.0 (database) + DbCL (contents) - attribution required",
      "source_url": "https://world.openbeautyfacts.org",
      "file_url": "https://static.openbeautyfacts.org/data/en.openbeautyfacts.org.products.csv.gz",
      "cadence": "daily",
      "record_count": 42042,
      "retrieved_at": "2026-08-29"
    },
    {
…
Show full response
{
  "ok": true,
  "count": 4,
  "attribution": "Data from the Open Food Facts family of projects, licensed under the Open Database License (ODbL) v1.0. https://world.openfoodfacts.org",
  "sources": [
    {
      "slug": "food",
      "name": "Open Food Facts",
      "publisher": "Open Food Facts contributors",
      "licence": "ODbL v1.0 (database) + DbCL (contents) - attribution required",
      "source_url": "https://world.openfoodfacts.org",
      "file_url": "https://static.openfoodfacts.org/data/en.openfoodfacts.org.products.csv.gz",
      "cadence": "daily",
      "record_count": 4206231,
      "retrieved_at": "2026-08-29"
    },
    {
      "slug": "beauty",
      "name": "Open Beauty Facts",
      "publisher": "Open Food Facts contributors",
      "licence": "ODbL v1.0 (database) + DbCL (contents) - attribution required",
      "source_url": "https://world.openbeautyfacts.org",
      "file_url": "https://static.openbeautyfacts.org/data/en.openbeautyfacts.org.products.csv.gz",
      "cadence": "daily",
      "record_count": 42042,
      "retrieved_at": "2026-08-29"
    },
    {
      "slug": "products",
      "name": "Open Products Facts",
      "publisher": "Open Food Facts contributors",
      "licence": "ODbL v1.0 (database) + DbCL (contents) - attribution required",
      "source_url": "https://world.openproductsfacts.org",
      "file_url": "https://static.openproductsfacts.org/data/en.openproductsfacts.org.products.csv.gz",
      "cadence": "daily",
      "record_count": 25880,
      "retrieved_at": "2026-08-29"
    },
    {
      "slug": "petfood",
      "name": "Open Pet Food Facts",
      "publisher": "Open Food Facts contributors",
      "licence": "ODbL v1.0 (database) + DbCL (contents) - attribution required",
      "source_url": "https://world.openpetfoodfacts.org",
      "file_url": "https://static.openpetfoodfacts.org/data/en.openpetfoodfacts.org.products.csv.gz",
      "cadence": "daily",
      "record_count": 12451,
      "retrieved_at": "2026-08-29"
    }
  ]
}

GETLookup By Barcode

https://api-barcode-lookup.dataandapis.com/v1/products/{barcode}

Path parameters

ParameterExample
barcode3017620422003Required

Example request

curl "https://api-barcode-lookup.dataandapis.com/v1/products/3017620422003" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "barcode": "3017620422003",
  "name": "Nutella",
  "brand": "Nutella, Ferrero, Yum yum",
  "quantity": null,
  "categories": "Breakfasts, Spreads, Sweet spreads, Confectionary based spreads, Petit déjeuners, Produits à tartiner, Produits à tartiner sucrés, Pâtes à tartiner",
  "labels": "Sans gluten, en:no-gluten",
  "countries": "France",
  "allergens": "Milk, Nuts, Soybeans",
  "serving_size": null,
  "ingredients": "Sucre, huile de palme, NOISETTES 13%, cacao maigre 7,4%, LAIT écrémé en poudre 6,6%, LACTOSERUM en poudre, émulsifiants: lécithines [SOJA), vanilline. Sans gluten.",
  "scores": {
    "nutriscore": "e",
    "nova_group": 4,
    "ecoscore": null
  },
  "nutriments_per_100g": {
    "energy_kcal": 539,
    "fat": 30.9,
    "saturated_fat": 10.6,
    "carbohydrates": 57.5,
    "sugars": 56.3,
    "proteins": 6.3,
    "salt": 0.107,
    "sodium": 0.043
  },
  "completeness": 0.787,
…
Show full response
{
  "ok": true,
  "barcode": "3017620422003",
  "name": "Nutella",
  "brand": "Nutella, Ferrero, Yum yum",
  "quantity": null,
  "categories": "Breakfasts, Spreads, Sweet spreads, Confectionary based spreads, Petit déjeuners, Produits à tartiner, Produits à tartiner sucrés, Pâtes à tartiner",
  "labels": "Sans gluten, en:no-gluten",
  "countries": "France",
  "allergens": "Milk, Nuts, Soybeans",
  "serving_size": null,
  "ingredients": "Sucre, huile de palme, NOISETTES 13%, cacao maigre 7,4%, LAIT écrémé en poudre 6,6%, LACTOSERUM en poudre, émulsifiants: lécithines [SOJA), vanilline. Sans gluten.",
  "scores": {
    "nutriscore": "e",
    "nova_group": 4,
    "ecoscore": null
  },
  "nutriments_per_100g": {
    "energy_kcal": 539,
    "fat": 30.9,
    "saturated_fat": 10.6,
    "carbohydrates": 57.5,
    "sugars": 56.3,
    "proteins": 6.3,
    "salt": 0.107,
    "sodium": 0.043
  },
  "completeness": 0.787,
  "image_url": "https://images.openfoodfacts.org/images/products/301/762/042/2003/front_en.879.400.jpg",
  "last_modified": "2026-08-28",
  "attribution": {
    "dataset": "food",
    "source": "Open Food Facts",
    "source_url": "https://world.openfoodfacts.org/product/3017620422003",
    "licence": "ODbL v1.0"
  }
}

GETRandom Products

https://api-barcode-lookup.dataandapis.com/v1/products/random

Query parameters

ParameterExample
amount3Optional

Example request

curl "https://api-barcode-lookup.dataandapis.com/v1/products/random?amount=3" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 1,
  "results": [
    {
      "barcode": "4056489603337",
      "name": "Ταχίνι Κακαο",
      "brand": "Γλυκανθη",
      "quantity": null,
      "categories": "bg:cocoa-tahini",
      "labels": "Rainforest Alliance",
      "countries": "Greece",
      "allergens": null,
      "serving_size": "100 g",
      "ingredients": "Tahini with cacas, Ingredients: 62% tahini (ground esame), sugar, 6% fat-reduced cocoa powder*, palm oil, emulsifier: soy lecithin, flavourings. * Rainforest Alliance Certified. Find out more at ra.org.",
      "scores": {
        "nutriscore": "e",
        "nova_group": null,
        "ecoscore": null
      },
      "nutriments_per_100g": {},
      "completeness": 0.6,
      "image_url": "https://images.openfoodfacts.org/images/products/405/648/960/3337/front_bg.6.400.jpg",
      "last_modified": "2026-02-06",
      "attribution": {
        "dataset": "food",
        "source": "Open Food Facts",
        "source_url": "https://world.openfoodfacts.org/product/4056489603337",
…
Show full response
{
  "ok": true,
  "count": 1,
  "results": [
    {
      "barcode": "4056489603337",
      "name": "Ταχίνι Κακαο",
      "brand": "Γλυκανθη",
      "quantity": null,
      "categories": "bg:cocoa-tahini",
      "labels": "Rainforest Alliance",
      "countries": "Greece",
      "allergens": null,
      "serving_size": "100 g",
      "ingredients": "Tahini with cacas, Ingredients: 62% tahini (ground esame), sugar, 6% fat-reduced cocoa powder*, palm oil, emulsifier: soy lecithin, flavourings. * Rainforest Alliance Certified. Find out more at ra.org.",
      "scores": {
        "nutriscore": "e",
        "nova_group": null,
        "ecoscore": null
      },
      "nutriments_per_100g": {},
      "completeness": 0.6,
      "image_url": "https://images.openfoodfacts.org/images/products/405/648/960/3337/front_bg.6.400.jpg",
      "last_modified": "2026-02-06",
      "attribution": {
        "dataset": "food",
        "source": "Open Food Facts",
        "source_url": "https://world.openfoodfacts.org/product/4056489603337",
        "licence": "ODbL v1.0"
      }
    }
  ]
}

GETSearch Products

https://api-barcode-lookup.dataandapis.com/v1/products

Query parameters

ParameterExample
brandFerreroOptional
categoryChocolateOptional
countryFranceOptional
datasetfoodOptional
has_imagetrueOptional
limit20Optional
nova4Optional
nutriscoreOptional
page1Optional
qnutellaOptional

Example request

curl "https://api-barcode-lookup.dataandapis.com/v1/products?brand=Ferrero&category=Chocolate&country=France&dataset=food&has_image=true&limit=20&nova=4&page=1&q=nutella" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "total": 62,
  "page": 1,
  "limit": 20,
  "count": 3,
  "results": [
    {
      "barcode": "8000500045497",
      "name": "Biscuits Nutella & Go x2 packs - 104g",
      "brand": "Nutella, Ferrero, Nutella & go, Nutella & go !",
      "quantity": "2 x 52 g",
      "nutriscore": "e",
      "nova": 4,
      "image_url": "https://images.openfoodfacts.org/images/products/800/050/004/5497/front_fr.171.400.jpg",
      "dataset": "food"
    },
    {
      "barcode": "9300698000216",
      "name": "nutella",
      "brand": "Ferrero",
      "quantity": "400 g",
      "nutriscore": "e",
      "nova": 4,
      "image_url": "https://images.openfoodfacts.org/images/products/930/069/800/0216/front_en.44.400.jpg",
      "dataset": "food"
    },
    {
…
Show full response
{
  "ok": true,
  "total": 62,
  "page": 1,
  "limit": 20,
  "count": 3,
  "results": [
    {
      "barcode": "8000500045497",
      "name": "Biscuits Nutella & Go x2 packs - 104g",
      "brand": "Nutella, Ferrero, Nutella & go, Nutella & go !",
      "quantity": "2 x 52 g",
      "nutriscore": "e",
      "nova": 4,
      "image_url": "https://images.openfoodfacts.org/images/products/800/050/004/5497/front_fr.171.400.jpg",
      "dataset": "food"
    },
    {
      "barcode": "9300698000216",
      "name": "nutella",
      "brand": "Ferrero",
      "quantity": "400 g",
      "nutriscore": "e",
      "nova": 4,
      "image_url": "https://images.openfoodfacts.org/images/products/930/069/800/0216/front_en.44.400.jpg",
      "dataset": "food"
    },
    {
      "barcode": "80177173",
      "name": "Nutella",
      "brand": "Ferrero",
      "quantity": "350 g",
      "nutriscore": "e",
      "nova": 4,
      "image_url": "https://images.openfoodfacts.org/images/products/80177173/front_en.502.400.jpg",
      "dataset": "food"
    }
  ]
}

GETTop Brands

https://api-barcode-lookup.dataandapis.com/v1/brands

Query parameters

ParameterExample
datasetfoodOptional

Example request

curl "https://api-barcode-lookup.dataandapis.com/v1/brands?dataset=food" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 8,
  "brands": [
    {
      "brand": "Carrefour",
      "products": 27509
    },
    {
      "brand": "Auchan",
      "products": 18104
    },
    {
      "brand": "Coop",
      "products": 13934
    },
    {
      "brand": "Lidl",
      "products": 13689
    },
    {
      "brand": "Aldi",
      "products": 11700
    },
    {
      "brand": "Hacendado",
      "products": 10337
    },
…
Show full response
{
  "ok": true,
  "count": 8,
  "brands": [
    {
      "brand": "Carrefour",
      "products": 27509
    },
    {
      "brand": "Auchan",
      "products": 18104
    },
    {
      "brand": "Coop",
      "products": 13934
    },
    {
      "brand": "Lidl",
      "products": 13689
    },
    {
      "brand": "Aldi",
      "products": 11700
    },
    {
      "brand": "Hacendado",
      "products": 10337
    },
    {
      "brand": "Tesco",
      "products": 10225
    },
    {
      "brand": "Delhaize",
      "products": 9742
    }
  ]
}

Where the data comes from

Source
Open Food Facts, Open Beauty Facts, Open Products Facts and Open Pet Food Facts, community databases under the Open Database License. Attribution is returned with every product.
Freshness
Daily delta refresh from the Open Facts exports.

One install. Every endpoint.

No proprietary SDKs needed. Any HTTP client works. Pick your language and paste.

3languages
6endpoints
RESTarchitecture
1key for all APIs
  • Fully typed responses — auto-completion in your IDE
  • Tracks the API in lockstep — new endpoints land same day
  • One key works across 125+ APIs on the platform
import axios from 'axios';

const { data } = await axios.get(
  'https://api-barcode-lookup.dataandapis.com/v1/products/stats',
  { headers: { 'X-Api-Key': process.env.API_KEY } }
);

Barcode Lookup API · X-Api-Key

Explore the endpoints

Browse request parameters and inspect live example responses.

Available Endpoints

Request Parameters

API URL

Headers

X-Api-Key
import axios from 'axios';

const url = 'https://api-barcode-lookup.dataandapis.com/v1/products/stats';
const { data } = await axios.get(url, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});

One subscription. Every API.

Tokens unlock this API and 125+ others on DataAndAPIs. Switch APIs any time — we promote.

FREE

$0/mo

500 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Community support
Start free
Most Popular

STARTER

$6.99/mo

25,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Email support
Subscribe

PRO

$24.99/mo

100,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority email support
Subscribe

ULTRA

$99.99/mo

1,000,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority support
Subscribe

Need higher volume, dedicated infra, or a custom contract? Talk to sales →

Questions about Barcode Lookup API

Ship Barcode Lookup API this afternoon.

500 free tokens. No card. Plus 125+ other APIs on the same key.