Inventory Search

GET{{api_url}}/shop/inventory/search

Returns inventory rows, one per SKU per warehouse. Each row carries the SKU's product identifiers, its quantity in that warehouse, its total across all warehouses, its bin location, and its restock settings. Filter by warehouse, active state, modification date, or search term, and page through the results with limit and limit_start.

Use it for full inventory pulls into your own system, and for incremental syncs of only what changed since your last pull. For one known SKU, use Inventory Get.

Query parameters

ParameterTypeDescription
search_termstringPartial match against the product's base SKU, product name, ASIN, GTIN, UPC, ISBN, and barcode. MARG matches any product with MARG anywhere in one of those fields.
warehouse_idintegerOnly return rows for this warehouse. Use Warehouse Search to find a warehouse's ID.
is_activeinteger1 for active items only, 0 for inactive items only. Omit it for both.
date_modified_greater_thanstringOnly return rows modified after this date and time, in your account's time zone. Format: 2018-01-01 10:10:10 AM.
date_modified_less_thanstringOnly return rows modified before this date and time, in your account's time zone. Format: 2018-01-01 10:10:10 AM.
limitintegerNumber of rows to return. Default and maximum: 100.
limit_startintegerNumber of rows to skip before returning results. Use it with limit to page: limit=100&limit_start=100 returns rows 101 through 200.
just_countintegerSet to 1 to return only total_inventory_items, the number of matching rows, instead of the rows themselves.

Examples

Everything modified since your last pull, 100 rows at a time:

{{api_url}}/shop/inventory/search?date_modified_greater_than=2026-09-22 04:00:00 PM&limit=100&limit_start=0

Active items in warehouse 3 only:

{{api_url}}/shop/inventory/search?warehouse_id=3&is_active=1&limit=100&limit_start=0

Products with MARG in their SKU, name, or identifiers:

{{api_url}}/shop/inventory/search?search_term=MARG&limit=100&limit_start=0

How many rows match, without the rows:

{{api_url}}/shop/inventory/search?warehouse_id=3&just_count=1

Response

One SKU held in three warehouses returns three rows:

{
    "inventory": [
        {"shop_productid": "106", "product_name": "5L-MARG-MW04", "base_sku": "5L-MARG-MW04", "shop_warehouseid": "3", "warehouse_name": "Main Warehouse", "quantity": "971", "child_sku": "", "skuid": "0", "item_sku": "5L-MARG-MW04", "restock_delivery_lead_time": "5", "restock_safety_stock_level": "5", "reorder_point": null, "bin_location": null, "asin": "", "gtin": null, "upc": null, "isbn": null, "date_modified": "2018-05-17 14:58:16", "option_values": null, "total_quantity": "984"},
        {"shop_productid": "106", "product_name": "5L-MARG-MW04", "base_sku": "5L-MARG-MW04", "shop_warehouseid": "4", "warehouse_name": "Secondary Warehouse", "quantity": "12", "child_sku": "", "skuid": "0", "item_sku": "5L-MARG-MW04", "restock_delivery_lead_time": "5", "restock_safety_stock_level": "5", "reorder_point": null, "bin_location": null, "asin": "", "gtin": null, "upc": null, "isbn": null, "date_modified": "2018-05-16 14:08:57", "option_values": null, "total_quantity": "984"},
        {"shop_productid": "106", "product_name": "5L-MARG-MW04", "base_sku": "5L-MARG-MW04", "shop_warehouseid": "7", "warehouse_name": "Canada", "quantity": "1", "child_sku": "", "skuid": "0", "item_sku": "5L-MARG-MW04", "restock_delivery_lead_time": "5", "restock_safety_stock_level": "5", "reorder_point": null, "bin_location": null, "asin": "", "gtin": null, "upc": null, "isbn": null, "date_modified": "2018-05-17 14:52:00", "option_values": null, "total_quantity": "984"}
    ],
    "total_inventory_items": "72"
}
FieldDescription
inventoryThe matching rows, one per SKU per warehouse. null when nothing matches.
total_inventory_itemsThe number of rows matching your filters across all pages, not just this page.

Row fields

FieldDescription
item_skuThe row's SKU. For a child SKU this is the child SKU, otherwise the base SKU.
base_skuThe product's base SKU.
child_skuThe child SKU. Empty when the row is the product itself.
shop_productidThe InfiPlex product ID.
skuidThe InfiPlex SKU ID of the child SKU. 0 when the row is the product itself.
product_nameThe product name.
option_valuesThe child SKU's option values.
shop_warehouseidThe warehouse this row belongs to. This is the same ID the other inventory endpoints take as warehouse_id.
warehouse_nameThe warehouse name.
quantityThe SKU's inventory in this warehouse. Negative when more units have been sold than are on hand.
total_quantityThe SKU's total inventory across all warehouses. The same value appears on each of the SKU's rows.
bin_locationThe SKU's bin location in this warehouse, set with Bin Location Set.
restock_delivery_lead_timeThe restock delivery lead time set on the item.
restock_safety_stock_levelThe safety stock level set on the item.
reorder_pointThe item's restock reorder point.
asin, gtin, upc, isbnThe product identifiers stored on the item.
date_modifiedWhen this row was last modified, in your account's time zone, formatted 2018-05-17 14:52:00.

Syncing inventory into your system

  1. On the first run, page through everything with limit=100, starting at limit_start=0 and adding 100 each page.
  2. On each later run, set date_modified_greater_than to the time of your previous pull, in your account's time zone, so only changed rows come back.
  3. Keep paging until you have read total_inventory_items rows, or until a page returns fewer than 100 rows.

Before you build

  • A SKU held in three warehouses returns three rows. Use quantity for one warehouse's count and total_quantity for the SKU's total. Adding total_quantity across rows counts the SKU more than once.
  • search_term matches product fields only: base SKU, product name, ASIN, GTIN, UPC, ISBN, and barcode. It does not match child SKUs directly.
  • Numbers come back as strings. Convert them before doing math.
  • Check for inventory: null before looping. A search with no matches returns null, not an empty array.
  • Dates are in the time zone set on your InfiPlex account, both in date_modified and in the date filters. Convert timestamps from your own system before sending them.
  • date_modified uses 24-hour YYYY-MM-DD HH:MM:SS, while the date filters take 2018-01-01 10:10:10 AM.
  • Your API key needs Inventory read permission. A key without it gets 403 Forbidden.

Related guides:

Authorization

Bearer token, sent in the Authorization header. Inherited from the collection.

Query Parameters

KeyValueDescription
date_modified_greater_than optionalSearches for inventory modified after the date sent. 2018-01-01 10:10:10 AM
date_modified_less_than optionalSearches for inventory modified before the date sent. 2018-01-01 10:10:10 AM
is_active optionalSet to 1 if you want only active items or 0 if you want in-active items
just_count optionalSet to 1 if you want a count of inventory found
limit optionalIf this is set, then only this number of results will be returned
limit_start optionalIf 100 results are returned and this is set to 25, the first 25 results will be omitted
search_term optional
warehouse_id optionalIf set, only items in the specified warehouse will be returned

Example Request

curl --location --request GET '{{api_url}}/shop/inventory/search' \
--header 'Authorization: Bearer {{auth_token}}'

Example Responses

Inventory Search

Request

curl --location --request GET '{{api_url}}/shop/inventory/search?date_modified_greater_than&date_modified_less_than&is_active&just_count&limit=5&limit_start&search_term&warehouse_id' \
--header 'Authorization: Bearer YOUR_API_KEY'

Response 200 OK

{
    "inventory": [
        {
            "shop_productid": "106",
            "product_name": "5L-MARG-MW04",
            "base_sku": "5L-MARG-MW04",
            "shop_warehouseid": "7",
            "warehouse_name": "Canada",
            "quantity": "1",
            "child_sku": "",
            "skuid": "0",
            "item_sku": "5L-MARG-MW04",
            "restock_delivery_lead_time": "5",
            "restock_safety_stock_level": "5",
            "reorder_point": null,
            "bin_location": null,
            "asin": "",
            "gtin": null,
            "upc": null,
            "isbn": null,
            "date_modified": "2018-05-17 14:52:00",
            "option_values": null,
            "total_quantity": "984"
        },
        {
            "shop_productid": "106",
            "product_name": "5L-MARG-MW04",
            "base_sku": "5L-MARG-MW04",
            "shop_warehouseid": "3",
            "warehouse_name": "Main Warehouse",
            "quantity": "971",
            "child_sku": "",
            "skuid": "0",
            "item_sku": "5L-MARG-MW04",
            "restock_delivery_lead_time": "5",
            "restock_safety_stock_level": "5",
            "reorder_point": null,
            "bin_location": null,
            "asin": "",
            "gtin": null,
            "upc": null,
            "isbn": null,
            "date_modified": "2018-05-17 14:58:16",
            "option_values": null,
            "total_quantity": "984"
        },
        {
            "shop_productid": "106",
            "product_name": "5L-MARG-MW04",
            "base_sku": "5L-MARG-MW04",
            "shop_warehouseid": "4",
            "warehouse_name": "Secondary Warehouse",
            "quantity": "12",
            "child_sku": "",
            "skuid": "0",
            "item_sku": "5L-MARG-MW04",
            "restock_delivery_lead_time": "5",
            "restock_safety_stock_level": "5",
            "reorder_point": null,
            "bin_location": null,
            "asin": "",
            "gtin": null,
            "upc": null,
            "isbn": null,
            "date_modified": "2018-05-16 14:08:57",
            "option_values": null,
            "total_quantity": "984"
        },
        {
            "shop_productid": "114",
            "product_name": "7290016145014",
            "base_sku": "7290016145014",
            "shop_warehouseid": "3",
            "warehouse_name": "Main Warehouse",
            "quantity": "-16132",
            "child_sku": "",
            "skuid": "0",
            "item_sku": "7290016145014",
            "restock_delivery_lead_time": "5",
            "restock_safety_stock_level": "5",
            "reorder_point": null,
            "bin_location": null,
            "asin": "",
            "gtin": null,
            "upc": null,
            "isbn": null,
            "date_modified": "2018-05-17 14:58:16",
            "option_values": null,
            "total_quantity": "-16350"
        },
        {
            "shop_productid": "114",
            "product_name": "7290016145014",
            "base_sku": "7290016145014",
            "shop_warehouseid": "4",
            "warehouse_name": "Secondary Warehouse",
            "quantity": "-218",
            "child_sku": "",
            "skuid": "0",
            "item_sku": "7290016145014",
            "restock_delivery_lead_time": "5",
            "restock_safety_stock_level": "5",
            "reorder_point": null,
            "bin_location": null,
            "asin": "",
            "gtin": null,
            "upc": null,
            "isbn": null,
            "date_modified": null,
            "option_values": null,
            "total_quantity": "-16350"
        }
    ],
    "total_inventory_items": "72"
}