UPCitemdb

App · E-Commerce · 3 actions

Turn a barcode into a product. UPCitemdb holds records for around 735 million barcodes (what the thing is, who makes it, what it looks like, and what the shops it tracks are charging), so a scan, a supplier's spreadsheet or a stock take can be filled in without anyone typing a product name. Look up one code or a whole column of them, or search by name when you don't have a code at all. Free to use with no account; add an API key when you need a bigger daily allowance.

Actions

ActionWhat it does
Look up a productTurn a barcode into a product: its name, brand, model, category, pictures, and what the shops UPCitemdb tracks are charging, cheapest in stock first.
Look up several productsGive this a list of barcodes and get one row back for each (in the order they were given, and whether or not UPCitemdb holds a record), so the results can be written straight back beside the column they came from.
Search for productsFind products by name when you don't have a barcode, and get their barcodes back.

Look up a product

Turn a barcode into a product: its name, brand, model, category, pictures, and what the shops UPCitemdb tracks are charging, cheapest in stock first. Takes the number printed under the bars (a UPC, an EAN, a GTIN or a book's ISBN) or an Amazon ASIN, and works out which it is. The short barcode on a small package is expanded and an old 10-digit ISBN is converted, so the code you actually have is the code that works. A barcode nobody has comes back as not found rather than as an error, so a workflow can branch on it.

Inputs

BarcodecodetextRequired
The number printed under the bars on the product: a UPC, an EAN, a GTIN, or a book's ISBN. Spaces and hyphens don't matter. An Amazon ASIN works here too.

Outputs

allowance_resets_attext
When that allowance comes back, as a date and time (UTC).
asintext
Amazon's own code for the product, when it is known. Empty for most products.
barcodetext
The barcode UPCitemdb files this product under, as 13 digits. This is the one to store and to look it up by again.
best_offerobject
The cheapest listing that is actually in stock -- the one to quote or to watch for a price drop. Empty when nothing is in stock.
brandtext
Who makes it.
categorytext
Where it sits in Google's product categories, as a path: 'Home & Garden > Kitchen & Dining > Kitchen Tools'.
code_giventext
The code this row was asked for, exactly as it was given, so results can be written back beside the list they came from.
colortext
Its colour, as the manufacturer names it.
currencytext
The currency the prices below are in.
descriptiontext
The manufacturer's description, where there is one.
dimensiontext
How big it is, as the manufacturer writes it, e.g. '8 X 1 X 1 inches'.
eantext
The 13-digit EAN.
foundtrue/false
Whether UPCitemdb holds a record for this code. Everything below is empty when it does not.
gtintext
The 14-digit GTIN, when the product has one.
highest_recorded_pricenumber
The highest price it has ever seen, on the same basis.
image_urltext
A picture of the product, ready to put in an email, a page or a record.
imageslist
Every picture UPCitemdb holds, best first.
in_stock_offer_countnumber
How many of them have it in stock.
lowest_recorded_pricenumber
The lowest price UPCitemdb has ever seen for this product, across every shop and the whole time it has been watching. This is a historical low, not today's price -- today's prices are in Offers.
messagetext
Why nothing came back, when nothing did. Empty otherwise.
modeltext
The manufacturer's model number.
offer_countnumber
How many shops are listed.
offerslist
What the shops UPCitemdb tracks are charging, cheapest first, with anything sold out after the rest.
product_urltext
The product's page on upcitemdb.com, for a person who wants to see the record themselves.
read_astext
Empty unless the code had to be converted before it could be looked up -- a short barcode expanded, or an old 10-digit ISBN read as a 13-digit one -- in which case this says what it was read as.
requests_left_todaynumber
How many more requests UPCitemdb will answer today. Without an API key the allowance is 100 a day and is shared with everyone else using UPCitemdb from Lodol without one, so it is worth checking before a step that looks up a long list.
sizetext
Its size, as the manufacturer writes it: a clothing size, a volume, a pack count.
titletext
The product's name.
upctext
The 12-digit UPC-A, when the product has one. This is the same number as the barcode above without its leading zero.
weighttext
How heavy it is, as the manufacturer writes it, e.g. '0.1 Pounds'.
Example output
{
  "allowance_resets_at": "2026-09-15T00:00:00+00:00",
  "asin": "B0000DJYE3",
  "barcode": "4002293401102",
  "best_offer": {
    "condition": "New",
    "currency": "USD",
    "domain": "chefscatalog.com",
    "in_stock": true,
    "link": "https://www.upcitemdb.com/norob/alink/?id=u2o243z2w203b454s2",
    "list_price": 26.0,
    "merchant": "Chefs Catalog",
    "price": 15.95,
    "shipping": "Free Shipping",
    "shipping_cost": 0.0,
    "title": "Wusthof Gourmet 3-in. Serrated Paring Knife",
    "updated": "2015-12-01T16:47:55+00:00"
  },
  "brand": "Wusthof",
  "category": "Home & Garden > Kitchen & Dining > Kitchen Tools & Utensils",
  "code_given": "4002293401102",
  "color": "Multi",
  "currency": "USD",
  "description": "Wusthof Gourmet 3-in. Serrated Paring Knife",
  "dimension": "8 X 1 X 1 inches",
  "ean": "4002293401102",
  "found": true,
  "gtin": "",
  "highest_recorded_price": 32.94,
  "image_url": "https://www.chefscatalog.com/img/products/500x500/99528_500.jpg",
  "images": [
    "https://www.chefscatalog.com/img/products/500x500/99528_500.jpg"
  ],
  "in_stock_offer_count": 1,
  "lowest_recorded_price": 12.99,
  "message": "",
  "model": "4011-7",
  "offer_count": 1,
  "offers": [
    {
      "condition": "New",
      "currency": "USD",
      "domain": "chefscatalog.com",
      "in_stock": true,
      "link": "https://www.upcitemdb.com/norob/alink/?id=u2o243z2w203b454s2",
      "list_price": 26.0,
      "merchant": "Chefs Catalog",
      "price": 15.95,
      "shipping": "Free Shipping",
      "shipping_cost": 0.0,
      "title": "Wusthof Gourmet 3-in. Serrated Paring Knife",
      "updated": "2015-12-01T16:47:55+00:00"
    }
  ],
  "product_url": "https://www.upcitemdb.com/upc/4002293401102",
  "read_as": "",
  "requests_left_today": 87,
  "size": "",
  "title": "Wusthof Gourmet 3-Inch Serrated Paring Knife",
  "upc": "",
  "weight": "0.1 Pounds"
}

Look up several products

Give this a list of barcodes and get one row back for each (in the order they were given, and whether or not UPCitemdb holds a record), so the results can be written straight back beside the column they came from. This is the step behind filling in a supplier's spreadsheet, enriching a stock take, or checking a batch of scans. A barcode the list repeats is looked up, and returned, once.

Inputs

BarcodescodeslistRequired
The barcodes to look up, up to 50 at a time. Type them in, or wire in a column from a spreadsheet or an earlier step. A long list takes a moment and uses more of your daily allowance.

Outputs

allowance_resets_attext
When that allowance comes back, as a date and time (UTC).
countnumber
How many barcodes were looked up.
found_countnumber
How many of them UPCitemdb had a record for.
not_foundlist
The barcodes with no record, exactly as they were given.
productslist
One row per distinct barcode asked for, in the order they were given.
requests_left_todaynumber
How many more requests UPCitemdb will answer today. Without an API key the allowance is 100 a day and is shared with everyone else using UPCitemdb from Lodol without one, so it is worth checking before a step that looks up a long list.
Example output
{
  "allowance_resets_at": "2026-09-15T00:00:00+00:00",
  "count": 2,
  "found_count": 1,
  "not_found": [
    "0000000000000"
  ],
  "products": [
    {
      "asin": "B0000DJYE3",
      "barcode": "4002293401102",
      "best_offer": {
        "condition": "New",
        "currency": "USD",
        "domain": "chefscatalog.com",
        "in_stock": true,
        "link": "https://www.upcitemdb.com/norob/alink/?id=u2o243z2w203b454s2",
        "list_price": 26.0,
        "merchant": "Chefs Catalog",
        "price": 15.95,
        "shipping": "Free Shipping",
        "shipping_cost": 0.0,
        "title": "Wusthof Gourmet 3-in. Serrated Paring Knife",
        "updated": "2015-12-01T16:47:55+00:00"
      },
      "brand": "Wusthof",
      "category": "Home & Garden > Kitchen & Dining > Kitchen Tools & Utensils",
      "code_given": "4002293401102",
      "color": "Multi",
      "currency": "USD",
      "description": "Wusthof Gourmet 3-in. Serrated Paring Knife",
      "dimension": "8 X 1 X 1 inches",
      "ean": "4002293401102",
      "found": true,
      "gtin": "",
      "highest_recorded_price": 32.94,
      "image_url": "https://www.chefscatalog.com/img/products/500x500/99528_500.jpg",
      "images": [
        "https://www.chefscatalog.com/img/products/500x500/99528_500.jpg"
      ],
      "in_stock_offer_count": 1,
      "lowest_recorded_price": 12.99,
      "message": "",
      "model": "4011-7",
      "offer_count": 1,
      "offers": [
        {
          "condition": "New",
          "currency": "USD",
          "domain": "chefscatalog.com",
          "in_stock": true,
          "link": "https://www.upcitemdb.com/norob/alink/?id=u2o243z2w203b454s2",
          "list_price": 26.0,
          "merchant": "Chefs Catalog",
          "price": 15.95,
          "shipping": "Free Shipping",
          "shipping_cost": 0.0,
          "title": "Wusthof Gourmet 3-in. Serrated Paring Knife",
          "updated": "2015-12-01T16:47:55+00:00"
        }
      ],
      "product_url": "https://www.upcitemdb.com/upc/4002293401102",
      "read_as": "",
      "size": "",
      "title": "Wusthof Gourmet 3-Inch Serrated Paring Knife",
      "upc": "",
      "weight": "0.1 Pounds"
    },
    {
      "asin": "",
      "barcode": "0000000000000",
      "code_given": "0000000000000",
      "found": false,
      "message": "UPCitemdb holds no product for 0000000000000."
    }
  ],
  "requests_left_today": 87
}

Search for products

Find products by name when you don't have a barcode, and get their barcodes back. Search the whole catalogue or just books, narrow it by brand, category, model number or a word in the title, and choose whether every word has to appear or the closest matches will do. Each result is the same full product record a barcode lookup returns, prices and pictures included. Worth knowing: searching is limited more tightly than looking a barcode up on UPCitemdb's free plan, so a search-heavy workflow is the first reason to add a key.

Inputs

Search forkeywordstextRequired
What to search for: a product name, a brand, a model number, or any words from the title.
Look initem_typetext
Which part of the catalogue to search.One of: product (Products), book (Books). Default: product.
Matchingmatchtext
How closely a product has to match. Requiring every word finds fewer but better matches; the other setting always finds something.One of: all_words (Every word must appear), best_matches (Closest matches, even if some words are missing). Default: all_words.
Brandbrandtext
Only products from this brand.
Categorycategorytext
Only products in a category matching this word, e.g. 'phones' or 'kitchen'.
Title containstitle_containstext
Only products whose title contains this, for narrowing a broad search to one variant, e.g. '64gb'.
Model numbermodeltext
Only products with this manufacturer's model number.
How many productslimitnumber
How many products to bring back, up to 50. Asking for more takes longer and uses more of your daily allowance.From 1 to 50. Default: 10.

Outputs

allowance_resets_attext
When that allowance comes back, as a date and time (UTC).
countnumber
How many products came back.
keywordstext
What was searched for.
more_availabletrue/false
Whether there are more beyond the ones returned. Ask for more with 'How many products'.
productslist
The products found, best match first.
requests_left_todaynumber
How many more requests UPCitemdb will answer today. Without an API key the allowance is 100 a day and is shared with everyone else using UPCitemdb from Lodol without one, so it is worth checking before a step that looks up a long list.
total_matchesnumber
How many products UPCitemdb says match altogether, which is usually far more than were asked for.
Example output
{
  "allowance_resets_at": "2026-09-15T00:00:00+00:00",
  "count": 1,
  "keywords": "wusthof paring knife",
  "more_available": true,
  "products": [
    {
      "asin": "B0000DJYE3",
      "barcode": "4002293401102",
      "best_offer": {
        "condition": "New",
        "currency": "USD",
        "domain": "chefscatalog.com",
        "in_stock": true,
        "link": "https://www.upcitemdb.com/norob/alink/?id=u2o243z2w203b454s2",
        "list_price": 26.0,
        "merchant": "Chefs Catalog",
        "price": 15.95,
        "shipping": "Free Shipping",
        "shipping_cost": 0.0,
        "title": "Wusthof Gourmet 3-in. Serrated Paring Knife",
        "updated": "2015-12-01T16:47:55+00:00"
      },
      "brand": "Wusthof",
      "category": "Home & Garden > Kitchen & Dining > Kitchen Tools & Utensils",
      "color": "Multi",
      "currency": "USD",
      "description": "Wusthof Gourmet 3-in. Serrated Paring Knife",
      "dimension": "8 X 1 X 1 inches",
      "ean": "4002293401102",
      "found": true,
      "gtin": "",
      "highest_recorded_price": 32.94,
      "image_url": "https://www.chefscatalog.com/img/products/500x500/99528_500.jpg",
      "images": [
        "https://www.chefscatalog.com/img/products/500x500/99528_500.jpg"
      ],
      "in_stock_offer_count": 1,
      "lowest_recorded_price": 12.99,
      "message": "",
      "model": "4011-7",
      "offer_count": 1,
      "offers": [
        {
          "condition": "New",
          "currency": "USD",
          "domain": "chefscatalog.com",
          "in_stock": true,
          "link": "https://www.upcitemdb.com/norob/alink/?id=u2o243z2w203b454s2",
          "list_price": 26.0,
          "merchant": "Chefs Catalog",
          "price": 15.95,
          "shipping": "Free Shipping",
          "shipping_cost": 0.0,
          "title": "Wusthof Gourmet 3-in. Serrated Paring Knife",
          "updated": "2015-12-01T16:47:55+00:00"
        }
      ],
      "product_url": "https://www.upcitemdb.com/upc/4002293401102",
      "size": "",
      "title": "Wusthof Gourmet 3-Inch Serrated Paring Knife",
      "upc": "",
      "weight": "0.1 Pounds"
    }
  ],
  "requests_left_today": 87,
  "total_matches": 366
}

On this page