EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →
GS1 General Specifications & AI Syntax <1ms Edge Edge Compute

GS1 AI (37) COUNT of Trade Items Specification

Extract GS1 AI (37) COUNT quantities paired with AI (02) CONTENT for variable-measure retail barcodes. This specification documents the exact field layout, checksum rules, and validation behavior so your integration matches GS1 General Specifications & AI Syntax without reading the source standard.

Latency: <1ms Edge Availability: 99.99% Standard: GS1 AI (37) In-Memory Execution
Interactive Edge Workbench

⚡ Live GS1 AI (37) COUNT of Trade Items Specification Interactive Workbench

Test real-time validation and schema parsing for GS1 AI (37) COUNT of Trade Items Specification directly in your browser. Runs in sub-5ms with zero setup.

32KB Demo Cap 60 req/min Burst <2ms V8 Compute Zero Data Retention
input.txt 0 B
output.json demo-ready
Status: Ready
{
  "status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Sandbox Quota: Free Tier (50 reqs/mo) • Production keys from $29/mo Get Free Sandbox Key →
Need 512KB+ Payloads, High-Throughput & 99.9% Production SLA?
Direct API keys include pooled monthly quotas, zero cold-starts, and HIPAA BAA eligibility on the Mega tier.
Get Production API Key →
LLM / MCP
Prompt-Ready Specification for AI Agents llms.txt
Structured format rules and schemas optimized for LLM coding agents and Model Context Protocol tooling.
Raw .md
Official Standard & Validation Protocol Authority: GS1 Global Standards Architecture ↗

Quick Summary: Extract GS1 AI (37) COUNT quantities paired with AI (02) CONTENT for variable-measure retail barcodes. Validates strictly against GS1 General Specifications & AI Syntax with sub-5ms in-memory response times.

Latency
<1ms Edge
Standard
GS1 AI (37)
Version
Max Payload
512 KB
Privacy
In-Memory (0 bytes stored)

Specification & Structural Breakdown

Technical Summary: Validates strictly against GS1 General Specifications & AI Syntax. Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.

AI (37) is the COUNT of trade items contained in a variable-measure trade item identified by AI (02) CONTENT.

The value is numeric and zero-padded to a fixed 6 digits, and it always follows AI (02) in the same barcode.

Decoders normalize the padded value to an integer count for inventory and point-of-sale systems.

PropertyValue
AI Code37
Data ContentCOUNT of trade items
Length6 digits (zero-padded)
Paired AIAI (02) CONTENT
Example0200012345678905 37000012

Parsed JSON Response Model

The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:

HTTP 200 JSON Response Envelope
{
  "ai": "37",
  "count": 12,
  "raw": "000012",
  "pairedWith": "02"
}

Copy-Paste Integration Code (6 Languages)

Integrate GS1 AI (37) COUNT of Trade Items Specification directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt. Get a free API key → (no credit card required):

curl --request POST \
  --url "https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode" \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY" \
  --data '{
  "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}'
const response = await fetch("https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.API_KEY || "YOUR_API_KEY"
  },
  body: JSON.stringify({
  "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
})
});

const data = await response.json();
console.log(data);
import requests
import json

url = "https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode"
headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}
payload = {
    "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	url := "https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode"
	payload := []byte(`{"barcode":"010001234567890510LOT123\u001d1726083121SN9988"}`)

	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("x-api-key", os.Getenv("API_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("API_KEY") ?? "YOUR_API_KEY");

        var json = @"{""barcode"":""010001234567890510LOT123\u001d1726083121SN9988""}";
        var payload = new StringContent(json, Encoding.UTF8, "application/json");

        var response = await client.PostAsync("https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode", payload);
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine(content);
    }
}
Integrate the StanzaAPI gs1-decoder micro-API.

Endpoint: POST https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode
Auth header: x-api-key: YOUR_API_KEY
Content-Type: application/json
Request body:
{
  "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}

Rules:
- Send the request with a 2-second timeout.
- Parse the standard envelope { success, data, meta: { latency_ms, version } }.
- On failure, read { success: false, error, code } and branch on the code.
- Do not retry 4xx responses; surface the error code to the caller.
- Treat invalid-but-well-formed payloads as HTTP 200 with data.valid === false.

Frequently Asked Questions & Technical Notes

What does AI (37) represent?

AI (37) is the count of trade items inside a variable-measure trade item. It always accompanies AI (02) CONTENT so a point-of-sale system can price the exact quantity.

Is AI (37) fixed or variable length?

AI (37) is fixed length: 6 numeric digits, zero-padded. Because it is fixed length, no FNC1 separator is required after it.

Related GS1 Barcode & Digital Link Decoder (Sunrise 2027) API Formats

Explore sibling specifications and standards in the same developer cluster:

Complementary Enterprise APIs

Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:

All GS1 Barcode & Digital Link Decoder (Sunrise 2027) API Formats & Specifications (11) Directory Index ↓
GS1 AI (01) Global Trade Item Number (GTIN) & Mod-10 Checksum GS1 AI (10) Batch / Lot Number Specification & FNC1 Rules GS1 AI (17) Expiration Date Specification (YYMMDD & YYMM00) GS1 AI (21) Individual Serial Number Specification GS1 AI (00) Serial Shipping Container Code (SSCC-18) Spec GS1 Digital Link URI Standard & QR Web Transition (Sunrise 2027) GS1 AI (02) CONTENT Global Trade Item Number Specification GS1 AI (37) COUNT of Trade Items Specification GS1 AI (30) VAR COUNT Specification for Variable-Measure Items GS1-128 vs GS1 DataMatrix vs GS1 Digital Link QR Comparison GS1 FNC1 / ASCII 29 (GS) Separator Rules for Variable-Length AIs