For Agents
Query inventory data for GS1-identified products and locations using GTIN and GLN keys.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the GS1 Inventory Report API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with GS1 Inventory Report API.
Retrieve inventory data for every GTIN across every GLN in one call for a full snapshot
Look up inventory at a single location by Global Location Number (GLN) for store-level reporting
Look up inventory for a single product by Global Trade Item Number (GTIN) across all locations
GET STARTED
Use for: I need to fetch inventory across all our GS1 locations, Find inventory for GTIN 09310059000111 across every store, Retrieve all products stocked at location GLN 9300000000001, Check whether a specific GTIN is in stock anywhere
Not supported: Does not handle order placement, EDI documents, or barcode generation — use for GS1 inventory queries by GTIN and GLN only.
The GS1 Inventory Report API is an alpha-stage API from GS1 that exposes inventory data for products identified by Global Trade Item Number (GTIN) across locations identified by Global Location Number (GLN). It currently exposes three read endpoints: a query for inventory across all products and locations, a per-location query keyed by GLN, and a per-product query keyed by GTIN. Authentication is by an ApiKey header, and the dataset is intended for trading-partner inventory visibility scenarios where retailers and suppliers exchange real-time stock counts using standard GS1 identifiers.
Query stock levels using only GS1 standard identifiers, avoiding vendor-specific SKU mappings
Drive trading-partner inventory visibility flows that need GS1-conformant data exchange
Patterns agents use GS1 Inventory Report API for, with concrete tasks.
★ Trading-partner inventory visibility
Share real-time inventory between a supplier and a retailer using GS1 standard identifiers rather than each party's internal SKU. The supplier exposes GET /products for a full snapshot or GET /findProductById/{gtin} for a single product, while the retailer can drill into a single store with GET /findProductsByLocation/{gln}. Because the keys are GTIN and GLN there is no SKU translation step, which is the point of using GS1 standards in the first place.
Call GET /findProductById/{gtin} for the supplier-side product reference and confirm stock is on hand before promising to the retailer.
Out-of-stock detection across locations
Detect out-of-stock or low-stock conditions at trading partner locations by polling GET /findProductsByLocation/{gln} for each store and flagging products below threshold. The agent can then generate replenishment recommendations for the supply chain team. Because the API uses GS1 identifiers, the same logic works regardless of how many distinct retailer ERPs are in the trading network.
Iterate over each known GLN, call GET /findProductsByLocation/{gln}, and write a low-stock alert when inventory is below the configured threshold.
Compliance-grade inventory snapshots
Capture daily inventory snapshots using GS1-standard identifiers for compliance reporting and audit. GET /products returns the full cross-location snapshot, which can be archived for later review. Because the dataset is keyed by GTIN and GLN, the snapshot is portable across retailer systems and remains meaningful even after vendor SKU changes.
Schedule a nightly call to GET /products and persist the response to the data warehouse with a date-stamped key.
AI agent integration through Jentic
Let a supply-chain agent answer GS1-keyed inventory questions through Jentic without writing custom HTTP code. The agent searches Jentic for the relevant intent (for example 'look up inventory for a GTIN'), loads the operation schema, and executes the GS1 call. Jentic stores the GS1 ApiKey in its vault so the agent only sees a scoped Jentic agent key.
Through Jentic, search 'look up inventory by GTIN', load the operation, and execute it with the GTIN supplied in the user query.
3 endpoints — the gs1 inventory report api is an alpha-stage api from gs1 that exposes inventory data for products identified by global trade item number (gtin) across locations identified by global location number (gln).
METHOD
PATH
DESCRIPTION
/products
Inventory snapshot across all products and locations
/findProductsByLocation/{gln}
Inventory at a single GLN location
/findProductById/{gtin}
Inventory for a single GTIN across all locations
/products
Inventory snapshot across all products and locations
/findProductsByLocation/{gln}
Inventory at a single GLN location
/findProductById/{gtin}
Inventory for a single GTIN across all locations
Three things that make agents converge on Jentic-routed access.
Credential isolation
The GS1 ApiKey header credential is stored encrypted in the Jentic vault. Agents authenticate to Jentic with a scoped agent key (ak_*), so the raw GS1 ApiKey never enters the agent's context.
Intent-based discovery
Agents search Jentic with intents like 'look up inventory by GTIN' or 'list all GS1 inventory' and Jentic returns the matching operation schema, including required GTIN or GLN path parameters, ready to execute.
Time to first call
Direct GS1 integration: a few hours, but most of the work is the conformance and credentialing process with GS1 itself. Through Jentic: under 30 minutes once the ApiKey is vaulted, because the API surface is small and the schemas are pre-defined.
Alternatives and complements available in the Jentic catalogue.
Specific to using GS1 Inventory Report API through Jentic.
What authentication does the GS1 Inventory Report API use?
The API uses an ApiKey header on every request, named ApiKey. The key is issued by GS1 to participating trading-partner organisations. Through Jentic the ApiKey is stored encrypted in the vault, and the agent only authenticates to Jentic with a scoped agent key (ak_*).
Can I look up inventory by GTIN?
Yes. GET /findProductById/{gtin} returns inventory data for the specified Global Trade Item Number across all available locations. This is the right endpoint when you have the product identifier and want to know where it is in stock.
Can I look up inventory by store location?
Yes. GET /findProductsByLocation/{gln} returns inventory for all products at a single GS1 Global Location Number. This is the right endpoint for store-level reporting and per-DC stocktake views.
What are the rate limits for the GS1 Inventory Report API?
The published spec does not document rate limits, and the dev.gs1.org host is the alpha environment used for early integration testing. Coordinate with your GS1 contact for production limits and base URL when promoting your integration.
How do I pull a full inventory snapshot through Jentic?
Install Jentic with pip install jentic, search for 'list GS1 inventory across all products', load the matching operation, and execute it. Jentic resolves the call to GET /products and returns the full cross-location snapshot.
Is this API the production environment?
The dev.gs1.org/inventory/v1 base URL is the alpha development environment for the Inventory Report API. Promote to the production endpoint with GS1 only after your integration passes their conformance checks; the path structure stays the same.