Lightning‑fast barcode look‑ups for developers

Query any UPC/EAN and get structured product details in milliseconds. Stop scraping — start shipping.

What is ScanLookup?

ScanLookup is an API service that lets developers, businesses, and apps look up product details using barcodes (UPC, EAN), MPNs, or ASINs. It returns rich data such as product name, brand, images, categories, features, nutrition facts, and more.

Perfect for:

Our local database holds 3.4 million+ products, and we seamlessly fall back to public sources like OpenFoodFacts in real‑time whenever an item isn’t found locally.

cURL
JavaScript
Python
Go
PHP
curl -X GET \
  https://scanlookup.com/api/product/5601234567890 \
  -H "Authorization: Bearer <YOUR_API_KEY>"

# Response:
# {
#   "code": "5601234567890",
#   "status": 1,
#   "status_verbose": "product found",
#   "product": {
#     "product_name": "Sample Product",
#     "brand": "Example Co.",
#     "category": "Beverages",
#     "description": "A refreshing drink..."
#   }
# }
import fetch from "node-fetch";

const res = await fetch("https://scanlookup.com/api/product/5601234567890", {
  headers: { "Authorization": "Bearer <YOUR_API_KEY>" }
});
const data = await res.json();
console.log(data);

# Response:
# {
#   "code": "5601234567890",
#   "status": 1,
#   "status_verbose": "product found",
#   "product": {
#     "product_name": "Sample Product",
#     "brand": "Example Co.",
#     "category": "Beverages",
#     "description": "A refreshing drink..."
#   }
# }
import requests, os

url = "https://scanlookup.com/api/product/5601234567890"
headers = {"Authorization": f"Bearer {os.getenv('SCANLOOKUP_API_KEY')}"}

print(requests.get(url, headers=headers).json())

# Response:
# {
#   "code": "5601234567890",
#   "status": 1,
#   "status_verbose": "product found",
#   "product": {
#     "product_name": "Sample Product",
#     "brand": "Example Co.",
#     "category": "Beverages",
#     "description": "A refreshing drink..."
#   }
# }
package main
import ("encoding/json";"fmt";"net/http")
func main(){
  req,_ := http.NewRequest("GET",
    "https://scanlookup.com/api/product/5601234567890", nil)
  req.Header.Set("Authorization","Bearer <YOUR_API_KEY>")
  res,_ := http.DefaultClient.Do(req); defer res.Body.Close()
  var data map[string]any
  json.NewDecoder(res.Body).Decode(&data)
  fmt.Println(data)
}

# Response:
# {
#   "code": "5601234567890",
#   "status": 1,
#   "status_verbose": "product found",
#   "product": {
#     "product_name": "Sample Product",
#     "brand": "Example Co.",
#     "category": "Beverages",
#     "description": "A refreshing drink..."
#   }
# }
<?php
$ch = curl_init("https://scanlookup.com/api/product/5601234567890");
curl_setopt_array($ch, [
  CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SCANLOOKUP_API_KEY")],
  CURLOPT_RETURNTRANSFER => true
]);
echo curl_exec($ch);
curl_close($ch);
?>

# Response:
# {
#   "code": "5601234567890",
#   "status": 1,
#   "status_verbose": "product found",
#   "product": {
#     "product_name": "Sample Product",
#     "brand": "Example Co.",
#     "category": "Beverages",
#     "description": "A refreshing drink..."
#   }
# }

+3.6 M

in‑house products

+2.5 M

Open Food Facts fallback

< 80 ms

median latency

Everything you need — out of the box

  • Product name & brand in 20+ languages
  • Nutrition panel & Nutri‑Score
  • Ingredients, allergens, additives
  • High‑res product & ingredient images
  • Category hierarchy (Beverages / Soft drinks…)
  • Eco‑Score & recycling data
  • EAN‑13, UPC‑A/E, ISBN, ITF‑14 & more
  • Auto‑caching & nightly sync

Pricing

Start for free — scale as you grow.

2505 k20 k100 k+

Free

$0/ mo

250 API calls / mo


  • Ticket support
  • 10 req/min limit
  • SLA
  • SSO

Starter

$65/ mo

5 000 API calls / mo


  • Ticket support
  • 60 req/min limit
  • SLA
  • SSO

Scale

$220/ mo

20 000 API calls / mo


  • Slack & ticket support
  • 150 req/min limit
  • Standard SLA
  • SSO

Enterprise

Custom

100 000+ calls / mo


  • Priority support
  • Custom rate limits
  • Dedicated IP
  • SSO
Contact us
Get Started →