ISHOB Barcode API
The Barcode API from ISHOB — 2 operation(s) for barcode.
The Barcode API from ISHOB — 2 operation(s) for barcode.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ishob:ishob-barcode-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ISHOB Barcode 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: Barcode
paths:
/v1/barcode:
post:
operationId: generate_barcode
summary: 'Generate a barcode or QR code as SVG or PNG: QR, DataMatrix, PDF417, Code 128…'
description: 'Generate a barcode or QR code as SVG or PNG: QR, DataMatrix, PDF417, Code 128, Code 39, EAN-13, EAN-8, UPC-A, ISBN-13, ITF and GS1-128. EAN/UPC/ISBN check digits are computed (or verified, never silently replaced). QR and DataMatrix support colours, square/rounded/dot styles and (QR) a centre logo from an https URL. Every format is verified scannable. Returns SVG text or base64 PNG plus a data URI ready to embed in HTML, PDF or labels.'
x-payment:
protocol: x402
version: 2
scheme: exact
network: eip155:8453
asset: USDC
price_usd: '0.001'
x-mcp-tool: generate_barcode
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)
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- text
properties:
type:
type: string
enum:
- qrcode
- datamatrix
- pdf417
- code128
- code39
- ean13
- ean8
- upca
- isbn13
- itf
- gs1_128
default: qrcode
description: Barcode format
text:
type: string
minLength: 1
maxLength: 2000
description: Data to encode (URL, text, digits for EAN/UPC/ISBN...)
format:
type: string
enum:
- svg
- png
default: svg
description: Output image format
scale:
type: integer
minimum: 1
maximum: 20
description: 'Size: pixels per module (2D) or bar-width step (1D); default 4 (SVG) / 8 (PNG)'
color:
type: string
pattern: ^#[0-9a-fA-F]{6}$
default: '#000000'
description: 'Foreground colour #RRGGBB'
background:
type: string
pattern: ^#[0-9a-fA-F]{6}$
default: '#FFFFFF'
description: 'Background colour #RRGGBB'
style:
type: string
enum:
- square
- rounded
- dots
default: square
description: Module style (qrcode, datamatrix)
ec:
type: string
enum:
- L
- M
- Q
- H
default: M
description: QR error correction level (H when a logo is used)
logo_url:
type: string
format: uri
description: 'QR only: https URL of a PNG/JPEG/WebP logo (max 200 KB) placed in the centre'
include_text:
type: boolean
default: true
description: Print the human-readable text under linear barcodes
height_mm:
type: number
minimum: 5
maximum: 100
default: 15
description: Bar height for linear barcodes, in mm
example:
type: qrcode
text: https://ishob.com
format: svg
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
tags:
- Barcode
/v1/barcode/read:
post:
operationId: read_barcode
summary: 'Read barcodes and QR codes from an image (URL or base64): QR, Micro QR…'
description: 'Read barcodes and QR codes from an image (URL or base64): QR, Micro QR, DataMatrix, Aztec, PDF417, MaxiCode, EAN-13/8, UPC-A/E, Code 128/39/93, Codabar, ITF and DataBar. Finds every code in the picture, even rotated, small or inverted (phone photos, receipts, labels, screenshots), and returns each one''s text, format, position and meaning (URL, Wi-Fi network, vCard, e-mail, phone, location, crypto payment URI, product GTIN). No code found = not charged.'
x-payment:
protocol: x402
version: 2
scheme: exact
network: eip155:8453
asset: USDC
price_usd: '0.001'
x-mcp-tool: read_barcode
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)
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
image_url:
type: string
format: uri
maxLength: 2048
description: Public URL of the image (PNG, JPEG, WebP, GIF, BMP, TIFF; max 8 MB). Use this or image_base64
image_base64:
type: string
description: 'The image as base64 (or a data: URI), max 8 MB. Use this or image_url'
formats:
type: array
items:
type: string
enum:
- qrcode
- microqrcode
- datamatrix
- aztec
- pdf417
- maxicode
- ean13
- ean8
- upca
- upce
- code128
- code39
- code93
- codabar
- itf
- databar
- databarexpanded
description: 'Only look for these formats (default: all)'
max_results:
type: integer
minimum: 1
maximum: 20
default: 10
description: Maximum codes to return
example:
image_url: https://api.ishob.com/v1/files/example/qr.png
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
tags:
- Barcode