go-upc.com APIgo-upc.com ↗
Look up product details by UPC, EAN, or ISBN barcode using the Go-UPC API. Returns title, brand, category, specs, image URL, and more for any scanned code.
curl -X GET 'https://api.parse.bot/scraper/42e51bc0-c4b6-47e5-aded-b9c77d672dc8/lookup_barcode?code=049000000443' \ -H 'X-API-Key: $PARSE_API_KEY'
Look up a product by its barcode number (UPC, EAN, ISBN, etc.). Returns detailed product information including title, brand, category, description, ingredients, specs, and images when available.
| Param | Type | Description |
|---|---|---|
| coderequired | string | The barcode number to look up (UPC-A, UPC-E, EAN-8, EAN-13, EAN-14, ISBN-10, ISBN-13). Only digits are used; non-digit characters are stripped. |
{
"type": "object",
"fields": {
"ean": "string or null - EAN code",
"upc": "string or null - UPC code",
"brand": "string or null - product brand",
"model": "string or null - product model number",
"specs": "object - additional product attributes as key-value pairs",
"title": "string - product name",
"volume": "string or null - product volume/size",
"barcode": "string - the barcode number queried",
"category": "string or null - product category",
"imageUrl": "string or null - product image URL",
"inferred": "boolean - whether the barcode was inferred from a related code",
"allergens": "string or null - allergen information",
"barcodeUrl": "string or null - barcode image URL",
"description": "string or null - product description",
"ingredients": "string or null - product ingredients",
"categoryPath": "string or null - full category path separated by ' > '",
"manufacturer": "string or null - manufacturer name",
"country_of_origin": "string or null - country of origin"
},
"sample": {
"data": {
"ean": "0049000000443",
"upc": "049000000443",
"brand": "Coca-Cola",
"model": null,
"specs": {
"Kosher": "Yes",
"Organic": "No",
"Department": "Beverages"
},
"title": "Coca-Cola Soda Soft Drink Bottle, 20 Fl Oz",
"volume": "591 mL",
"barcode": "049000000443",
"category": "Soda",
"imageUrl": "https://go-upc.s3.amazonaws.com/images/226949869.png",
"inferred": false,
"allergens": "Free From Does Not Contain Declaration Obligatory Allergens.",
"barcodeUrl": "https://go-upc.com/barcode/049000000443",
"description": "Coca-Cola is the soda that brings people together...",
"ingredients": "Carbonated Water, High Fructose Corn Syrup, Caramel Color, Phosphoric Acid, Natural Flavors, Caffeine",
"categoryPath": "Beverages > Soda",
"manufacturer": null,
"country_of_origin": null
},
"status": "success"
}
}About the go-upc.com API
The Go-UPC API exposes one endpoint — lookup_barcode — that returns up to 10 structured fields for any UPC, EAN, or ISBN code you query. Submit a numeric barcode string and get back the product title, brand, model, category, volume, image URL, and a key-value specs object covering additional attributes. The database covers UPC-A, UPC-E, EAN-8, EAN-13, EAN-14, ISBN-10, and ISBN-13 formats.
What the API Returns
The lookup_barcode endpoint accepts a single required parameter, code, which must be a digit-only string representing a valid barcode. The response includes core identifiers (ean, upc, barcode), human-readable fields (title, brand, model, category, volume), a imageUrl for product photography, and a freeform specs object containing additional attributes as key-value pairs. Any field that has no data for a given product is returned as null rather than omitted, so you can reliably check each field without conditional existence tests.
Barcode Format Support
The API normalizes the input code to its digit content, meaning you can pass raw scans from handheld scanners or mobile apps without stripping check digits manually. It handles UPC-A (12 digits), UPC-E (8 digits), EAN-8, EAN-13, EAN-14, ISBN-10, and ISBN-13. The response echoes the queried value back in the barcode field, and where both ean and upc representations exist, both are returned so you can cross-reference against your own database.
Data Coverage and Gaps
Product coverage spans consumer goods across grocery, electronics, books, and general retail. The specs object content varies by product category — a food item might include nutritional facts or ingredients, while a hardware item might list dimensions or compatibility. Not every product in the database has image URLs or populated category fields; you should treat all nullable fields defensively in your integration.
Typical Integration Pattern
A common pattern is to call lookup_barcode once per scan event in a mobile or POS app, cache the response by barcode value, and fall back gracefully when title is the only populated field. For bulk catalog enrichment, batching sequential requests against a list of codes is the straightforward approach given the single-endpoint design.
- Enrich a product catalog by resolving scanned barcodes to titles, brands, and categories.
- Power a mobile price-comparison app that shows product details from a camera scan.
- Validate incoming inventory against known product names and model numbers using the
modelfield. - Populate an e-commerce listing with the
imageUrl,brand, andspecsreturned for a barcode. - Cross-reference
eanandupcfields to reconcile product identifiers across supplier databases. - Auto-classify products by
categoryduring warehouse intake without manual data entry. - Retrieve book metadata (title, brand as publisher) by submitting an ISBN-13 code.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Go-UPC have an official developer API?+
What does the `specs` field contain and when is it populated?+
specs field is a key-value object whose keys and values vary by product type. For food products it may include ingredient lists or allergen data; for electronics it might contain dimensions or compatibility notes. It is an empty object when no additional attributes are available — it is never null, so you can safely iterate it without a null check.Does the API return pricing or availability data?+
Can I look up multiple barcodes in a single request?+
lookup_barcode endpoint accepts one code value per request. Bulk lookups require sequential or parallel individual calls. You can fork this API on Parse and revise it to add a batch endpoint that accepts an array of codes.What happens when a barcode is not found in the database?+
title field will be absent or the response will indicate no product was matched. All nullable fields (ean, upc, brand, model, category, imageUrl, volume) return null in that case. The barcode field always echoes the queried value regardless of match status.