curl --request GET \
--url https://omnicommerce.sg/api/v1/products/count \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/products/count', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/products/count"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"count": 1,
"unit": "catalog_products",
"filters": {}
}Count Products
Count matching catalog parent products using the Products page’s canonical filters and authorization, without loading rows, pricing, or location data.
Products are counted once even when multiple listings match. This does not count variants or verify live marketplace status. status is the catalog lifecycle/derived view. All marketplaces are supported. Use storeKeys for exact marketplace/country/account identity.
Authenticate with a read-only catalog credential; organization comes only from that credential.
curl --request GET \
--url https://omnicommerce.sg/api/v1/products/count \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/products/count', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/products/count"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"count": 1,
"unit": "catalog_products",
"filters": {}
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Query Parameters
Filter by one catalog view status. Lifecycle values include draft, active, archived and deleted; derived views include flagged, errors, qc_pending and qc_rejected. A product may have a lifecycle value and multiple derived signals simultaneously.
Filter by enabled marketplace.
shopee, lazada, tiktok, shopify, whatsapp, zalora, amazon, ebay Filter by marketplace country (e.g., Singapore, Malaysia).
80Search query for product name or SKU.
200Exact catalog SKU match after trim. Not fuzzy and not substring. Repeat the parameter or comma-separate up to 50 SKUs. Combined with other filters using AND.
200Minimum price filter.
x >= 0Maximum price filter.
x >= 0Exact marketplace account/store IDs, comma-separated. Combine with marketplace, or use storeKeys for exact platform/country/store identity.
Comma-separated marketplace:country:storeId keys (up to 50), matching the Products page. Missing account IDs never match another store.
JSON array of marketplace-prefixed brand names, matching the Products page.
, hard, virtual, non_bundle yes, no in_stock Inclusive publication date or exact ISO timestamp.
Inclusive publication date (whole local day), or exact ISO timestamp.
IANA time zone for date-only publication bounds.