The project is in a healthy, maintained state
Barcode Reader decodes 1D barcodes from an uploaded image or an image URL, including EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF, Codabar and GS1 DataBar. It returns the decoded value and the symbology. Paid plans add the GTIN, the barcode's orientation and corners, and every barcode found in the image.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

>= 1.0, < 3.0
~> 2.0
 Project Readme

Barcode Reader decodes 1D barcodes from an uploaded image or an image URL, including EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF, Codabar and GS1 DataBar. It returns the decoded value and the symbology. Paid plans add the GTIN, the barcode's orientation and corners, and every barcode found in the image.

The Barcode Reader API provides a simple, reliable way to integrate barcode reader functionality into your applications. Built for developers who need production-ready barcode reader capabilities without the complexity of building from scratch.

View API Details →

License: MIT API Status Method Platform

Available on: npm NuGet PyPI RubyGems Packagist Go Dart JitPack


Quick Start

Using JavaScript

async function callBarcodeReaderAPI() {
    try {
        const requestBody = {
    "image": "https://raw.githubusercontent.com/zxing/zxing/master/core/src/test/resources/blackbox/ean13-1/2.png"
};

        const response = await fetch('https://api.apiverve.com/v1/barcodereader', {
            method: 'POST',
            headers: {
                'x-api-key': 'YOUR_API_KEY_HERE',
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(requestBody)
        });

        const data = await response.json();
        console.log(data);
    } catch (error) {
        console.error('Error:', error);
    }
}

callBarcodeReaderAPI();

Using cURL

curl -X POST "https://api.apiverve.com/v1/barcodereader" \
  -H "x-api-key: YOUR_API_KEY_HERE" \
  -F "image=@/path/to/your-file"
# Accepted formats: .jpg, .jpeg, .png, .gif, .webp, .bmp (max 10MB)

Get your API key: https://apiverve.com

📁 For more examples, see the examples folder


Installation

Choose your preferred programming language:

📦 NPM (JavaScript/Node.js)

npm install @apiverve/barcodereader

View NPM Package → | Package Code →


🔷 NuGet (.NET/C#)

dotnet add package APIVerve.API.BarcodeReader

View NuGet Package → | Package Code →


🐍 Python (PyPI)

pip install apiverve-barcodereader

View PyPI Package → | Package Code →


💎 Ruby (RubyGems)

gem install apiverve_barcodereader

View RubyGems Package → | Package Code →


🐘 PHP (Packagist)

composer require apiverve/barcodereader

View Packagist Package → | Package Code →


🎯 Dart (pub.dev)

dart pub add apiverve_barcodereader

View pub.dev Package → | Package Code →


🤖 Android (JitPack)

implementation 'com.github.apiverve:barcodereader-api:1.0.0'

Package Code →


🐹 Go

go get github.com/apiverve/barcodereader-api/go

Package Code →


Why Use This API?

Feature Benefit
Multi-language SDKs Native packages for JavaScript, Python, C#, Go, and Android
Simple Integration Single API key authentication, consistent response format
Production Ready 99.9% uptime SLA, served from 24 global regions
Comprehensive Docs Full examples, OpenAPI spec, and dedicated support

Documentation


What Can You Build?

The Barcode Reader API is commonly used for:

  • Web Applications - Add barcode reader features to your frontend or backend
  • Mobile Apps - Native SDKs for Android development
  • Automation - Integrate with n8n, Zapier, or custom workflows
  • SaaS Products - Enhance your product with barcode reader capabilities
  • Data Pipelines - Process and analyze data at scale

API Reference

Authentication

All requests require an API key in the header:

x-api-key: YOUR_API_KEY_HERE

Get your API key: https://apiverve.com

Response Format

Every APIVerve endpoint returns the same envelope — check status, then read data:

{
  "status": "ok",
  "error": null,
  "data": { ... }
}

Example Response

A real response from the Barcode Reader API:

{
  "status": "ok",
  "error": null,
  "data": {
    "text": "8480010092271",
    "format": "EAN-13",
    "isRetail": true,
    "gtin": "8480010092271",
    "orientation": 0,
    "position": {
      "topLeft": {
        "x": 565,
        "y": 366
      },
      "topRight": {
        "x": 1132,
        "y": 366
      },
      "bottomRight": {
        "x": 1145,
        "y": 734
      },
      "bottomLeft": {
        "x": 558,
        "y": 734
      }
    },
    "barcodeCount": 1,
    "barcodes": [
      {
        "text": "8480010092271",
        "format": "EAN-13",
        "gtin": "8480010092271",
        "orientation": 0,
        "position": {
          "topLeft": {
            "x": 565,
            "y": 366
          },
          "topRight": {
            "x": 1132,
            "y": 366
          },
          "bottomRight": {
            "x": 1145,
            "y": 734
          },
          "bottomLeft": {
            "x": 558,
            "y": 734
          }
        }
      }
    ]
  }
}

Support & Community


Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.


Security

For security concerns, please review our Security Policy.


License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

Built with ❤️ by APIVerve

Copyright © 2026 APIVerve. All rights reserved.