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
| Param | Type | Required | Description |
|---|---|---|---|
| value | string | Yes | A 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
| Field | Type | Description |
|---|---|---|
| valid | boolean | Whether a known GS1 prefix was found |
| prefix | string | The matched GS1 prefix (2 or 3 digits) |
| country | string | Issuing country or GS1 Member Organisation |
| inputType | string | Detected input format: prefix, EAN-8, EAN-13, GTIN-12, GTIN-14, SSCC |
| error | string | Error 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" },
...
]