Non-food Barcode and ISBN Catalog Lookup
Pricing
from $1.20 / 1,000 completed catalog lookups
Non-food Barcode and ISBN Catalog Lookup
Look up UPC, EAN and ISBN batches in beauty, pet, classified non-food products and Open Library catalogs. Export source-attributed identities, image links, package text, book metadata and explicit unresolved statuses.
Pricing
from $1.20 / 1,000 completed catalog lookups
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Run barcode product lookup for supplied UPC, EAN and ISBN batches to enrich non-food catalogs with source-attributed identities, images, package text and book metadata. This Actor searches Open Beauty Facts, Open Pet Food Facts, classified non-food Open Products Facts records, and Open Library. It does not query Open Food Facts or Google Books.
Who is it for?
Catalog operators can enrich cosmetics and household listings. Pet-supply teams can attach public product identities to inventory codes. Booksellers can normalize ISBNs and retrieve edition metadata. The Actor is a public-catalog lookup, not a universal commercial product database or barcode scanner.
Why use it?
Keep each source match and its attribution instead of merging conflicting catalogs into a fabricated authoritative record. Preserve leading zeros, validate checksums, convert ISBN-10, and get explicit unresolved statuses suitable for spreadsheet joins. Images are returned as links, not downloaded assets.
Getting started
- Enter identifiers as strings in
codes. - Leave all four sources selected, or select a known catalog.
- Set
maxItemsto the number of distinct identifiers to process. - Run and inspect the default dataset.
- Join on normalized
codeand retainmatches[].sourcewhen saving results.
{"codes":["9300830092116","4056489928225","0047871276929","9780140328721"],"maxItems":100}
Input parameters
| Field | Behavior |
|---|---|
codes | Required array of 1–1000 strings. Supports EAN-8/13, UPC-A, ISBN-10/13. Removes spaces and hyphens; validates every supplied checksum before work. |
sources | Defaults to beauty, pet, household, books. These are exact catalog keys, not keyword filters. |
maxItems | Global cap on distinct normalized identifiers after deduplication, including unresolved rows. Default 100, range 1–1000. No zero/unlimited option. |
ISBNs beginning 978/979 search Open Library only. ISBN-10 converts to ISBN-13; UPC-A receives a leading zero for the Facts catalogs. Equivalent normalized identifiers are processed once, retaining the first input spelling. If no selected source applies, the result is excluded.
Extracted data
| Field | Meaning |
|---|---|
inputCode | First original input string |
code | Normalized barcode or ISBN |
status | found, not_found or excluded |
matches | One structured match per catalog with usable identity |
lookedUpAt | UTC completion timestamp |
matches[].title | Original catalog title |
brands, categories | Source text, null when unavailable |
imageUrl, sourceUrl | Image and original record links |
quantity, packaging | Original package text, not converted units |
book | Authors, publishers, publish date, pages and identifier families; null for products |
attribution | Source and reuse guidance |
Output example
The local ISBN control returned this edition identity (abbreviated):
{"inputCode":"0140328726","code":"9780140328721","status":"found","matches":[{"source":"books","title":"Fantastic Mr. Fox","sourceUrl":"http://openlibrary.org/books/OL7353617M/Fantastic_Mr._Fox","book":{"authors":["Roald Dahl"],"publishers":["Puffin"],"publishDate":"October 1, 1988","numberOfPages":96},"attribution":"Open Library / Internet Archive; review source terms before reuse"}]}
Actual records also include nullable image/package fields, identifier families and lookedUpAt. Export JSON to preserve nested matches; flatten matches downstream for CSV.
How much does it cost to look up non-food barcodes and ISBNs?
A one-time run fee and one item event per completed distinct identifier lookup apply, whether found or not_found. A verified catalog miss is billed because the selected catalogs were checked. Multiple source matches have no separate charge. Excluded identifiers and failed/incomplete lookups have no item charge. Invalid input fails validation before charging start.
The run fee is $0.0015 per run. Per completed lookup, the prices are:
| Store spend tier | Item event price |
|---|---|
| FREE | $0.0023 |
| BRONZE | $0.002 |
| SILVER | $0.00156 |
| GOLD | $0.0012 |
| PLATINUM | $0.0012 |
| DIAMOND | $0.0012 |
At BRONZE, estimated totals are $0.0035 for one completed lookup, $0.0215 for ten and $0.2015 for 100, including one run fee. These totals are the same for found identities and completed catalog misses. A run containing only excluded identifiers has only the $0.0015 run fee. Spend tiers depend on qualifying aggregate monthly Apify Store spend, not this Actor's batch size. Consult the live pricing tab for your applicable tier and platform billing limits. Examples are estimates, not guaranteed invoices.
Coverage and exclusions
These are community catalogs, not exhaustive inventories. A valid checksum does not guarantee a record. Records without a usable title are omitted. Beauty and pet catalogs are source-specific; pet food is supported, human food is not a supported catalog category.
Household uses Open Products Facts, but only records with recognized non-food category roots: home/garden, electronics, health/beauty, office supplies, hardware, vehicle parts, arts/entertainment, sporting goods, toys/games, furniture, apparel/accessories, luggage/bags and media. Uncategorized products are deliberately omitted because that catalog contains misclassified food. Source classification can still be wrong; this is not certification of product contents.
No title search, manufacturer-code decoding, country-of-origin inference, price comparison, barcode generation, nutritional data, image recognition or built-in change alerts are supplied.
Limits and troubleshooting
Requests run serially with approximately one-second pacing per catalog. Non-book codes may check three catalogs. Increase the run timeout for larger batches; roughly four seconds per non-book identifier is a starting estimate without retries. Each identifier has a shared 20-second lookup deadline, including response consumption, all selected catalogs, pacing and retry backoff. Transient network/429/5xx failures receive up to three attempts within that deadline; permanent errors fail immediately. The deadline or retry exhaustion fails the run, rather than turning an outage or incomplete source check into a not_found status. Source metadata is limited to 64 KiB per response; oversized responses fail rather than becoming misses. Already saved rows are partial if a run fails or times out; their completed-lookup charges remain. Split very large batches to stay within your run timeout.
A not_found row means no selected source provided a usable allowed identity. Try correcting the code or selecting its applicable catalog. Never convert a spreadsheet identifier to a number: leading zeros matter.
Integrations
Export to Google Sheets for inventory reconciliation, or consume dataset JSON in Make, n8n and your ETL pipeline. Schedule your own supplied-code batch and compare snapshots externally; the Actor does not perform change detection or send alerts. Keep original source attribution with downstream records.
API usage
Use your Apify token privately; do not put it in stored input.
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~nonfood-barcode-isbn-catalog-lookup/run-sync-get-dataset-items' \-H "Authorization: Bearer $APIFY_TOKEN" -H 'Content-Type: application/json' \-d '{"codes":["9780140328721"]}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/nonfood-barcode-isbn-catalog-lookup').call({codes:['9780140328721']});const { items } = await client.dataset(run.defaultDatasetId).listItems();
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/nonfood-barcode-isbn-catalog-lookup').call(run_input={'codes':['9780140328721']})items = client.dataset(run['defaultDatasetId']).list_items().items
MCP setup
$claude mcp add --transport http apify 'https://mcp.apify.com?tools=automation-lab/nonfood-barcode-isbn-catalog-lookup'
For Claude Desktop, Cursor and VS Code clients supporting remote HTTP MCP:
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/nonfood-barcode-isbn-catalog-lookup"}}}
Discover actual names and argument schemas with scoped tools/list. Actor selection also exposes run/data helpers. Example prompt: “Look up ISBN 9780140328721 and show its source-attributed edition metadata.” Run only with authorization. Start once and retain its run/storage IDs; IDs are not output rows. If nonterminal, follow that same run with bounded 2/4/8-second backoff (cap 10 seconds, total deadline 120 seconds), never restart to poll. At deadline report pending with the run ID. After success fetch dataset pages of 20 rows, at most 100 rows and 64 KiB of serialized result content admitted to model context. Enforce the byte limit host-side, disclose truncation and continuation offset, and keep full exports outside model context. Clients unable to intercept oversized responses cannot guarantee that byte ceiling. Failed-run rows remain partial.
Legality and privacy
Review each source's terms and licenses before reuse. Facts-family database records use ODbL and images have separate CC BY-SA terms; image URLs do not grant unrestricted reuse. Open Library metadata and cover rights should be checked at the source. Catalog data may be incomplete or incorrect and is not safety, legal or regulatory advice.
Failed operations send sanitized diagnostic input, exceptions and actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL query strings are removed; reports are retained for 30 days. Do not include customer secrets in barcode inputs.
No AI processes lookup inputs or runtime output. Identifiers are sent only to the selected public catalog APIs. Source names are nominative references; this Actor is not affiliated with or endorsed by these catalogs. Input, dataset and logs are stored in your Apify account under its retention settings; delete run storage there when no longer needed. No cross-run cache is maintained. For support, open an Apify Actor issue or contact automation_labs_support@agentmail.to.
FAQ
Does it cover every UPC? No. Coverage depends on the selected public catalogs and identity/category completeness.
Why is my ISBN excluded? You deselected books. Product catalogs never substitute for Open Library.
Can I retrieve human-food nutrition? Not here. Use our dedicated food lookup below.
Are duplicates billed twice? No. Equivalent normalized codes are processed once per run. Multiple source matches are included in the same completed-lookup event. Completed not-found checks are also charged; exclusions and incomplete/failed checks are not.
Related Actors
For human-food catalog enrichment, use Open Food Facts EAN UPC GTIN Lookup. Its nutritional and ingredient fields are intentionally outside this Actor's scope.