GS1 Prefix

GET/v0/gs1-prefix

Validates a GS1 company prefix and identifies the issuing country or GS1 Member Organisation. Accepts a raw 2–3 digit prefix or a full barcode / identifier (EAN-8, EAN-13, GTIN-12, GTIN-14, SSCC) — the prefix is extracted automatically. Complements the existing EAN / GTIN / UPC, GLN and SSCC endpoints.

Try it

Query Parameters

ParamTypeRequiredDescription
valuestringYesA GS1 prefix (2–3 digits) or a full barcode / identifier (EAN-13, GTIN-12, GTIN-14, SSCC, etc.)

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/gs1-prefix?value=5901234123457"

Response Fields

FieldTypeDescription
validbooleanWhether a known GS1 prefix was found
prefixstringThe matched GS1 prefix (2 or 3 digits)
countrystringIssuing country or GS1 Member Organisation
inputTypestringDetected input format: prefix, EAN-8, EAN-13, GTIN-12, GTIN-14, SSCC
errorstringError message when prefix is not recognised

Example Response — from EAN-13

{
  "valid": true,
  "prefix": "590",
  "country": "Poland",
  "inputType": "EAN-13"
}

Example Response — raw prefix

{
  "valid": true,
  "prefix": "49",
  "country": "Japan",
  "inputType": "prefix"
}
GET/v0/gs1-prefix/list

Returns the complete list of GS1 prefix ranges with their assigned countries / organisations.

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/gs1-prefix/list"

Example Response

[
  { "rangeStart": "00", "rangeEnd": "19", "country": "United States & Canada" },
  { "rangeStart": "20", "rangeEnd": "29", "country": "In-store restricted" },
  { "rangeStart": "30", "rangeEnd": "37", "country": "France" },
  { "rangeStart": "380", "rangeEnd": "380", "country": "Bulgaria" },
  ...
]