GS1-128 barcode API
Code 128 carrying GS1 application identifiers such as GTIN, batch and expiry, for logistics and supply-chain labels.

What GS1-128 is for
GS1-128 is Code 128 with a standard structure on top: each piece of data starts with an application identifier in parentheses, such as (01) for a GTIN, (10) for a batch or (17) for an expiry date. It is what carton and pallet labels in retail and healthcare supply chains use.
Make one from a URL
Send the text and get the image back. Your API key goes in a header.
curl "https://barcode.fmdeploy.com/v2/barcode/gs1128?text=(01)09501101530003(10)ABC123&label=true" \ -H "Authorization: Bearer bc_live_your_key" -o gs1128.png
Add &output=svg for a vector image that stays sharp at any print size.
From FileMaker
Insert from URL [ Select ; With dialog: Off ; Target: Items::Barcode ; "https://barcode.fmdeploy.com/v2/barcode/gs1128?label=true&text=" & GetAsURLEncoded ( Items::Code ) ; cURL options: "--header \"Authorization: Bearer " & $$BARCODE_KEY & "\"" ]
What it accepts
Application identifiers in parentheses followed by their data, for example (01)09501101530003(10)ABC123. Example: (01)09501101530003(10)ABC123
If the text can’t be encoded, the API answers with a clear message instead of a broken image.
Options
Set the bar width with scale, the bar height with thickness, and turn the text under the bars on with label. You can also choose the label font and size, rotate the image in quarter turns, set the DPI stored in a PNG, or ask for SVG. The documentation lists every parameter and its default.
Related formats
Try GS1-128 with a free key
200 barcodes free every month. No card needed.