Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: ISHOB Product Code API
version: 1.0.0
description: 'ISHOB is an x402-enabled utility gateway for autonomous agents: scheduled callbacks (agent alarms), token and wallet security checks, weather and location risk, document rendering, web extraction, company data and an open-licence research archive. Pay per call in USDC on Base; no account or API key.'
contact:
name: ISHOB
email: contact@ishob.com
url: https://ishob.com
x-guidance: 'ISHOB is a gateway of tools for AI agents. Every operation with x-payment-info is paid per call with x402 (USDC on Base): call it, read the 402 PAYMENT-REQUIRED header, sign with an x402 client and retry. Invalid input is rejected with 400 before any payment is requested. The same tools are available over MCP at POST /mcp. Tool docs: https://ishob.com/tools'
servers:
- url: https://api.ishob.com
tags:
- name: Product Code
paths:
/v1/product-code:
get:
operationId: lookup_product_code
summary: 'Look up a product barcode number: identify and validate EAN-13, EAN-8, UPC-A…'
description: 'Look up a product barcode number: identify and validate EAN-13, EAN-8, UPC-A, UPC-E, GTIN-14, ISBN-13/10, ISSN and ISMN codes (wrong check digits are reported with the correct digit), convert between forms (GTIN-14, EAN-13, UPC-A, ISBN-10 13) and decode the GS1 prefix. Then fetch product data from open databases: name, brand, quantity, categories, image, labels, Nutri-Score (food, cosmetics, pet food via Open Food Facts) or title, authors, publisher and cover (books via Open Library).'
x-payment:
protocol: x402
version: 2
scheme: exact
network: eip155:8453
asset: USDC
price_usd: '0.001'
x-mcp-tool: lookup_product_code
responses:
'200':
description: Result (JSON); PAYMENT-RESPONSE header carries the settlement receipt
'400':
description: Invalid input (no payment requested)
'402':
description: 'Payment required: PAYMENT-REQUIRED header (base64 JSON) lists accepted payment requirements'
'403':
description: robots.txt disallows the target (no payment requested)
'404':
description: Not found (no payment requested)
'503':
description: Backend temporarily unavailable (no payment requested)
parameters:
- name: code
in: query
required: true
schema:
type: string
maxLength: 20
description: 'Barcode number: 8/12/13/14 digits or ISBN-10 (spaces and hyphens ignored), e.g. 3017620422003'
description: 'Barcode number: 8/12/13/14 digits or ISBN-10 (spaces and hyphens ignored), e.g. 3017620422003'
example: '3017620422003'
- name: lookup
in: query
required: false
schema:
type: boolean
default: true
description: Also fetch product / book data from open databases (false = validate and convert only)
description: Also fetch product / book data from open databases (false = validate and convert only)
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
tags:
- Product Code