🏷️

Barcode Lookup & Product Search APIs

Resolve a UPC-A, EAN-13, JAN or ISBN barcode into a full product record β€” title, brand, category path, attributes, images, nutrition facts and per-store prices β€” or keyword-search a catalog of 500+ million products through the same GET endpoint.

Open the standalone barcode demo

Your first barcode lookup

Replace <API_KEY> with an authorized platform API key from your dashboard. The query URL contains your key; keep it out of shared links, screenshots and logs.

The example looks up EAN-13 barcode 3017620422003, a widely documented grocery product code. Catalog coverage and field depth change over time: a code without a record returns HTTP 200 with an empty results array rather than an error, and no specific product fields are guaranteed.

Base URL https://api.opendata-api.com

curl -X GET 'https://api.opendata-api.com/api/project/barcodes-lookup/search-product-details?key=<API_KEY>&query=3017620422003'
Barcode request basics
  • The query parameter selects the mode by its shape. A numeric barcode β€” UPC-A, EAN-13, JAN, ISBN-10 or ISBN-13 β€” resolves one product object whose barcode_formats echoes the matched codes; a text term switches to keyword search and returns a results array. Leave page empty for barcode lookups; it only applies to search mode.
  • Search mode returns a nextPage cursor with each batch: pass the returned value back as page to fetch the next batch, and stop when nextPage comes back null. Never invent page numbers, and deduplicate hits by barcode across pages.
  • Field depth varies by product: popular items carry full attributes, nutrition facts and an online_stores price list, while obscure records may return only a sparse title. An unknown code returns HTTP 200 with an empty results array β€” a clean miss, not an error. Treat store prices as recorded offers, not live quotes.

Check status before reading product fields

Check HTTP status separately from the gateway's code/message/data business status: code 200 indicates gateway business success, while HTTP 200 alone does not. A barcode with no catalog record is a successful response whose results array is empty β€” treat that as a business-level miss, not a partial product.

Choose a product-data workflow
Look up products by barcode or keyword

One endpoint, two modes: pass a numeric UPC-A, EAN-13, JAN or ISBN code as query for a single product record, or a plain-text term for a paginated results array with a nextPage cursor. No IDs from other operations are needed; page applies only to search mode.

Products

GET /api/project/barcodes-lookup/search-product-details

Look Up Products by Barcode or Keyword

Full docs β†’
Details

A single endpoint with two modes, selected by what you pass as query. Barcode mode: pass a numeric barcode β€” UPC-A, EAN-13, JAN, ISBN-10 or ISBN-13 β€” and the response carries a product object with barcode_formats echoing the matched codes (upc_a, ean_13, isbn_10, isbn_13 as applicable), title, description, a category path array, brand and manufacturer, an attributes map (mpn, asin, size, dimensions, weight when known), a features list, nutrition_facts and ingredients for food items, image URLs, and author or artist for books and media. Many records also include an online_stores array with per-store name, price and URL. Search mode: pass a plain-text term and the response carries a results array β€” each hit includes barcode, title, category, image and manufacturer β€” plus a nextPage cursor; send it back as page to fetch the next batch until nextPage is null. Leave page empty for barcode lookups. A code with no catalog record returns HTTP 200 with an empty results array, so absence is easy to handle. Field depth varies by product: popular items carry full attributes and store offers, while obscure records may return only a sparse title.

Test this barcode endpoint 1 required Β· 1 optional
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/barcodes-lookup/search-product-details?key=<API_KEY>&query=<query>'

Capabilities and catalog coverage

Turn any product barcode β€” UPC-A, EAN-13, JAN, or ISBN-10/13 β€” into structured product data, or search a catalog of 500+ million products by keyword, through one simple GET endpoint.

  • Barcode lookup: pass a UPC, EAN, JAN, or ISBN code and get back title, description, category path, brand and manufacturer, MPN/ASIN/size/weight attributes, features, nutrition facts, images, and author for books
  • Store prices: many records carry an online_stores array with per-store name, price, and URL β€” a ready-made cross-store join key for price comparison
  • Keyword search: pass a plain-text term for a paginated results array with barcode, title, category, image, and manufacturer per hit, plus a nextPage cursor
  • One response contract: numeric queries return a product object, text queries return results with pagination, and unknown codes come back as a clean empty result

Built for scan-to-add inventory, marketplace listing prefill, price-comparison engines, grocery and nutrition apps, ISBN book cataloging, and bulk catalog enrichment.

Guides