ISHOB Barcode API

The Barcode API from ISHOB — 2 operation(s) for barcode.

Operations 2

POST /v1/barcode Generate a barcode or QR code as SVG or PNG: QR, DataMatrix, PDF417, Code 128… #
POST /v1/barcode/read Read barcodes and QR codes from an image (URL or base64): QR, Micro QR… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ishob:ishob-barcode-api"
All apis
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.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ishob-barcode-api-openapi.yml Raw ↑
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