Skip to content
SIBISIBI Developers
Esc
navigateopen⌘Jpreview

Search the product catalog

Searches published products by free-text term, supplier, category, and physical dimensions. Returns a page of product summaries; supply an address to include pricing, availability (with the per-distribution-center breakdown), recommended parts, add-ons, and warranties. after is an opaque cursor from a previous response; do not construct one by hand. Requires a Public REST API token that carries the read:products scope. Create one in the SIBI developer dashboard (developer.sibipro.com) and grant it that scope; tokens issued for the GraphQL API are refused.

GET/
Authorization
AuthorizationBearer token · headerrequired
API token from the SIBI developer dashboard (developer.sibipro.com), sent as `Authorization: Bearer <token>`.
Scopes:read:products
Query parameters
searchTermstring
min length 1 · max length 200
supplierstring
categoriesstring
minWidthnumber
maxWidthnumber
minHeightnumber
maxHeightnumber
minDepthnumber
maxDepthnumber
minLengthnumber
maxLengthnumber
firstinteger
min 1 · max 100 · default: 36
afterstring
line1string
min length 1 · max length 100
line2string
min length 1 · max length 100
citystring
min length 1 · max length 100
stateOrProvincestring
min length 2 · max length 2
postalCodestring
matches ^\d{5}(-\d{4})?$
onlyInStockboolean
Responses
200Search results retrieved successfully
itemsProductSearchItem[]required
Show properties
Array of ProductSearchItem
skustringrequired
supplierstringrequired
The supplier of the product.
namestringrequired
The product name.
shortDescriptionstringrequired
A compact spec/dimension/material line. May be an empty string when the catalog has none for this product.
descriptionstringrequired
Free-text product description. Completeness varies by supplier — may be empty, a single word, or a full paragraph.
imageUrlsstring[]required
URLs of the product images. Empty when the catalog has none for this product.
categorystringrequired
The product category (e.g. "Ranges").
subcategoriesstring[]required
The specific subcategories this product falls into. May be empty, and may repeat `category` when the catalog has no finer grouping.
attributesobject[]required
Catalog attributes relevant to ordering this product. Which attributes a product carries varies by product; empty when it has none.
Show properties
Array of object
namestringrequired
The attribute identifier.
valuestringrequired
The attribute value.
baseUnitOfMeasurestringrequired
The unit `priceCents` is denominated in (e.g. "Each", "Sq Ft"). When `unitsOfMeasure` is non-empty, the product cannot be purchased in fractional amounts of this base unit directly — pass one of `unitsOfMeasure`'s `unitOfMeasure` values as `unitOfMeasure` when creating an order. When `unitsOfMeasure` is empty, pass this value instead (or omit `unitOfMeasure` to default to it).
unitsOfMeasureobject[]required
Alternate purchasable units for this product — e.g. a flooring product priced by the `Sq Ft` that can only be ordered by the `Box` or `Pallet`, each covering a fixed quantity of `baseUnitOfMeasure`. Empty when the product has no alternate units and can be ordered directly in `baseUnitOfMeasure`.
Show properties
Array of object
unitOfMeasurestringrequired
The unit to pass as `unitOfMeasure` when creating an order for this product in this unit.
quantityPerBaseUnitnumberrequired
The number of `baseUnitOfMeasure` contained in each of this unit. Multiply by the requested quantity of this unit to get the total in the base unit.
optionsobject[]required
The selectable option values for this product, one entry per value; entries sharing a `key` are alternative values for the same option. Empty when the product has no selectable options. For products with a required option (e.g. PPG tintable paints), one `{ key, value }` pair per option must be included in `products[].options` when creating an order. This list holds each option's standard values; other valid values may exist beyond it (e.g. the full PPG color catalog), and any valid value identifier is accepted at order time.
Show properties
Array of object
keystringrequired
The option identifier. Pass it as `key` in `products[].options` when creating an order.
valuestringrequired
The value identifier. Pass it as `value` in `products[].options` when creating an order.
namestringrequired
The display name of the value.
hexstring | nullrequired
CSS hex color of the value, when the value is a color.
dimensionsProductDimensionsrequired
The product's physical dimensions as the catalog records them, without unit conversion. These are the same values the dimension bound query parameters compare against. Every key is always present; a null value means the catalog has no measurement for that axis.
Show properties
widthnumber | nullrequired
The product width, in `widthUnit`. Null when the catalog has no width.
widthUnitstring | nullrequired
The unit of `width`. Null when `width` is null.
heightnumber | nullrequired
The product height, in `heightUnit`. Null when the catalog has no height.
heightUnitstring | nullrequired
The unit of `height`. Null when `height` is null.
depthnumber | nullrequired
The product depth, in `depthUnit`. Null when the catalog has no depth.
depthUnitstring | nullrequired
The unit of `depth`. Null when `depth` is null.
lengthnumber | nullrequired
The product length, in `lengthUnit`. Null when the catalog has no length.
lengthUnitstring | nullrequired
The unit of `length`. Null when `length` is null.
availabilityobject | nullrequired
Availability at the address supplied on the request. Null when no address was supplied — the key is always present, and null means "not asked for", not "out of stock".
Show properties
statusstringrequired
Stock status at the supplied address. `UNKNOWN` means the availability check failed or the distributor reports no data for this product — it is not a claim that the product is out of stock.
Allowed:IN_STOCKOUT_OF_STOCKUNAVAILABLEUNKNOWN
quantityinteger | nullrequired
Units on hand where the distributor reports a count; null when it does not.
min 0
distributionCentersobject[]required
Per-distribution-center breakdown of the availability above: every distribution center in the supplier's network for the supplied address that carries this product, with its own stock status and quantity. Distribution centers without a full street address are omitted. The same list `ordering.searchProducts` returns as `availability.distributionCenters`. Empty when the distribution network could not be read.
Show properties
Array of object
statusstringrequired
Stock status of this product at this distribution center.
Allowed:IN_STOCKOUT_OF_STOCKUNAVAILABLEUNKNOWN
quantityintegerrequired
Units of this product on hand at this distribution center; 0 when the distributor reports no count.
min 0
distributionCenterobjectrequired
The distribution center that carries this product.
Show properties
idstringrequired
The distribution center identifier to pass as `distributionCenterId` when creating an order.
namestringrequired
storeNumberstring | nullrequired
The distributor's store number. May not be numeric; null when the distributor has none.
imageUrlstring | nullrequired
URL of the distribution center's logo, if any.
latitudenumberrequired
longitudenumberrequired
addressobjectrequired
Show properties
line1stringrequired
line2string | nullrequired
citystringrequired
stateOrProvincestringrequired
postalCodestringrequired
priceCentsinteger | nullrequired
Purchase price in cents for the supplied address. Populated when an address is supplied; null when no address is supplied or when no price is available for this product.
min 0
msrpPriceCentsinteger | nullrequired
The manufacturer's suggested retail price in cents. Populated when an address is supplied; null when no address is supplied or when the catalog has no MSRP for this product.
min 0
recommendedPartsobject[]required
Recommended parts for the product. These parts may be included in an add-on like "Install". The same set `GET /products/{sku}` returns as `recommendedParts`. Populated when an address is supplied; empty when no address is supplied or the product has none.
Show properties
Array of object
skustringrequired
namestringrequired
categorystringrequired
priceCentsinteger | nullrequired
Purchase price in cents at the supplied address; null when no price is available.
min 0
addOnsobject[]required
An array of add-ons (services and/or accessories) that can be ordered with the product. The same set `GET /products/{sku}` returns as `addOns`. Populated when an address is supplied; empty when no address is supplied or none are available.
Show properties
Array of object
idstringrequired
Sibi identifier for the add-on.
namestringrequired
The human readable name of the add-on.
priceCentsintegerrequired
The price of the add-on in cents.
min 0
productsobject[]required
The individual products that are included with each add-on. These are the skus that the distributor will reference on their invoices.
Show properties
Array of object
skustringrequired
The sku that the distributor will reference on their invoices. For add-ons within the GE shop, these skus will generally have the format of MXXX where XXX is numeric.
namestringrequired
The human readable name of the product.
categorystringrequired
The broad category this product falls into.
priceCentsinteger | nullrequired
The price of the product in cents; null when no price is available.
min 0
warrantiesobject[]required
Warranty products that can be attached to this product when creating an order, matched by the product's brand, category, and subcategories and limited to the shops visible to the caller. Populated when an address is supplied; empty when no address is supplied or none are available.
Show properties
Array of object
skustringrequired
The warranty product SKU to pass as `warrantySku` when creating an order.
namestringrequired
The human readable name of the warranty.
descriptionstring | nullrequired
A short description of the coverage; null when the catalog has none.
priceCentsinteger | nullrequired
The price of the warranty in cents at the supplied address; null when no price is available.
min 0
nextstring | nullrequired
Opaque cursor for the next page, or null when there are no more results.
400Bad request - Invalid input data
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
401Unauthorized - Missing or invalid authentication
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
403Forbidden - the token was minted for the other environment, is not a Public REST API token, or does not carry the scope this operation requires
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
500Internal server error
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
503Service unavailable - the token-exchange service could not be reached (AUTH_UNAVAILABLE) or supplier visibility could not be resolved (SUPPLIER_VALIDATION_UNAVAILABLE); retry the request
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
Request
curl -X GET "https://api.sibipro.com/products/" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "items": [
    {
      "sku": "string",
      "supplier": "ge",
      "name": "string",
      "shortDescription": "string",
      "description": "string",
      "imageUrls": [
        "string"
      ],
      "category": "string",
      "subcategories": [
        "string"
      ],
      "attributes": [
        {
          "name": "sheen",
          "value": "Satin"
        }
      ],
      "baseUnitOfMeasure": "Each",
      "unitsOfMeasure": [
        {
          "unitOfMeasure": "Box",
          "quantityPerBaseUnit": 23.77
        }
      ],
      "options": [
        {
          "key": "ppg-paint-color",
          "value": "PPG1025-3",
          "name": "Whiskers",
          "hex": "#C9C7BE"
        }
      ],
      "dimensions": {
        "width": 0,
        "widthUnit": "in",
        "height": 0,
        "heightUnit": "in",
        "depth": 0,
        "depthUnit": "in",
        "length": 0,
        "lengthUnit": "in"
      },
      "availability": {
        "status": "IN_STOCK",
        "quantity": 0,
        "distributionCenters": [
          {
            "status": "IN_STOCK",
            "quantity": 0,
            "distributionCenter": {
              "id": "ge-dc-phoenix",
              "name": "GE Appliances Phoenix",
              "storeNumber": "string",
              "imageUrl": "string",
              "latitude": 0,
              "longitude": 0,
              "address": {
                "line1": "string",
                "line2": "string",
                "city": "string",
                "stateOrProvince": "string",
                "postalCode": "string"
              }
            }
          }
        ]
      },
      "priceCents": 0,
      "msrpPriceCents": 0,
      "recommendedParts": [
        {
          "sku": "M236",
          "name": "Supply Gas Range Flex",
          "category": "Parts",
          "priceCents": 0
        }
      ],
      "addOns": [
        {
          "id": "install",
          "name": "Install",
          "priceCents": 0,
          "products": [
            {
              "sku": "M001",
              "name": "Basic Install",
              "category": "Install & Supply Services",
              "priceCents": 0
            }
          ]
        }
      ],
      "warranties": [
        {
          "sku": "W5YR-APPL",
          "name": "5 Year Extended Warranty",
          "description": "Covers parts and labor for 5 years",
          "priceCents": 0
        }
      ]
    }
  ],
  "next": "string"
}