utilpeek (Tanod) barcode to product
utilpeek (Tanod) barcode to product: check digit, GS1 prefix and the open product databases (Open Food, Beauty, Products, Pet Food Facts) side by side, with conflicts flagged. Use when an agent must find the product behind an EAN or UPC code, with open databases compared and conflicts flagged.
Answeringour last check, 2026-11-04
3 of 3checks answered this week
300 msmedian answer time
$0.003listed price per call
$0.003price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://tanod.dev/v1/barcode/lookup
| Category | Code and developer |
|---|---|
| Provider host | tanod.dev |
| Networks | eip155:137, eip155:42161, eip155:56, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-11-04 | valid payment request | 402 | $0.003 | 195 ms |
| 2026-11-03 | valid payment request | 402 | $0.003 | 300 ms |
| 2026-11-02 | valid payment request | 402 | $0.003 | 349 ms |
Example input (from the provider)
{
"body": {
"code": "3017620422003"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"code": {
"anyOf": [
{
"maxLength": 32,
"minLength": 8,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The product number: 8 (GTIN-8), 12 (UPC-A), 13 (EAN-13) or 14 (GTIN-14) digits; spaces and hyphens are ignored."
},
"image_base64": {
"anyOf": [
{
"maxLength": 2800000,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Instead of code: the image as base64 (at most 2 MB decoded; a data:image/...;base64, prefix is fine)."
},
"image_url": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Instead of code: public http(s) URL of an image with an EAN or UPC barcode (private, internal and IP-literal hosts are refused)."
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}