get https://app.ecwid.com/api/v3//products
Search or filter products in a store catalog. The response provides full details of found products.
Request and response example
Request:
curl --location 'https://app.ecwid.com/api/v3/1003/products' \
--header 'Authorization: Bearer secret_ab***cd'
Response:
{
"total": 2,
"count": 2,
"offset": 0,
"limit": 100,
"items": [
{
"id": 692730761,
"sku": "123123",
"thumbnailUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591923.jpg",
"unlimited": true,
"inStock": true,
"name": "Toys",
"nameTranslated": {
"cs": "",
"en": "Toys"
},
"price": 10,
"priceInProductList": 10,
"defaultDisplayedPrice": 10,
"defaultDisplayedPriceFormatted": "€10,00",
"tax": {
"taxable": true,
"defaultLocationIncludedTaxRate": 10,
"enabledManualTaxes": [
947976181
],
"taxClassCode": "default"
},
"lowestPrice": 10,
"defaultDisplayedLowestPrice": 10,
"defaultDisplayedLowestPriceFormatted": "€10,00",
"lowestPriceSettings": {
"lowestPriceEnabled": true
},
"isShippingRequired": false,
"hasFreeShipping": false,
"url": "https://store1003.company.site/products/toys",
"autogeneratedSlug": "toys-692730761",
"customSlug": "",
"created": "2024-09-04 07:20:11 +0000",
"updated": "2024-09-04 07:20:12 +0000",
"createTimestamp": 1725434411,
"updateTimestamp": 1725434412,
"productClassId": 0,
"enabled": true,
"options": [],
"warningLimit": 1,
"fixedShippingRateOnly": false,
"fixedShippingRate": 0,
"shipping": {
"type": "GLOBAL_METHODS",
"methodMarkup": 0,
"flatRate": 0,
"disabledMethods": [],
"enabledMethods": []
},
"defaultCombinationId": 0,
"imageUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591921.jpg",
"smallThumbnailUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591920.jpg",
"hdThumbnailUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591922.jpg",
"originalImageUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591919.jpg",
"originalImage": {
"url": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591919.jpg",
"width": 225,
"height": 225
},
"borderInfo": {
"dominatingColor": {
"red": 255,
"green": 255,
"blue": 255,
"alpha": 255
},
"homogeneity": true
},
"description": "",
"descriptionTranslated": {
"cs": "",
"en": ""
},
"galleryImages": [],
"media": {
"images": [
{
"id": "0",
"isMain": true,
"orderBy": 0,
"image160pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591920.jpg",
"image400pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591923.jpg",
"image800pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591922.jpg",
"image1500pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591921.jpg",
"imageOriginalUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4519591919.jpg",
"alt": {
"translated": {}
}
}
],
"videos": []
},
"categoryIds": [],
"categories": [],
"defaultCategoryId": 0,
"seoTitle": "Toys",
"seoTitleTranslated": {
"cs": "",
"en": "Toys"
},
"seoDescription": "",
"seoDescriptionTranslated": {
"cs": "",
"en": ""
},
"favorites": {
"count": 0,
"displayedCount": "0"
},
"attributes": [],
"files": [
{
"id": 96178524,
"name": "image.jpeg",
"description": "",
"size": 12006,
"adminUrl": "https://app.ecwid.com/api/v3/1003/products/692730761/files/96178524"
}
],
"relatedProducts": {
"productIds": [],
"relatedCategory": {
"enabled": false,
"categoryId": 0,
"productCount": 5
}
},
"combinations": [],
"dimensions": {
"length": 0,
"width": 0,
"height": 0
},
"shippingPreparationTime": {},
"showDeliveryTimeInStorefront": false,
"volume": 0,
"showOnFrontpage": 11,
"isSampleProduct": false,
"googleItemCondition": "NEW",
"isGiftCard": false,
"discountsAllowed": true,
"nameYourPriceEnabled": false,
"subscriptionSettings": {
"subscriptionAllowed": false,
"oneTimePurchaseAllowed": true,
"recurringChargeSettings": [
{
"recurringInterval": "MONTH",
"recurringIntervalCount": 1
}
]
},
"googleProductCategory": 412,
"googleProductCategoryName": "Food, Beverages & Tobacco",
"productCondition": "NEW",
"outOfStockVisibilityBehaviour": "SHOW"
},
{
"id": 689454040,
"sku": "00001",
"thumbnailUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679704.jpg",
"unlimited": true,
"inStock": true,
"name": "Best Pizza",
"nameTranslated": {
"cs": "",
"en": "Best Pizza"
},
"price": 50,
"priceInProductList": 50,
"defaultDisplayedPrice": 50,
"defaultDisplayedPriceFormatted": "€50,00",
"tax": {
"taxable": true,
"defaultLocationIncludedTaxRate": 10,
"enabledManualTaxes": [
947976181
],
"taxClassCode": "default"
},
"lowestPrice": 50,
"defaultDisplayedLowestPrice": 50,
"defaultDisplayedLowestPriceFormatted": "€50,00",
"lowestPriceSettings": {
"lowestPriceEnabled": true
},
"compareToPrice": 40,
"compareToPriceFormatted": "€40,00",
"compareToPriceDiscount": -10,
"compareToPriceDiscountFormatted": "€-10,00",
"compareToPriceDiscountPercent": -25,
"compareToPriceDiscountPercentFormatted": "",
"defaultDisplayedCompareToPrice": 40,
"defaultDisplayedCompareToPriceFormatted": "€40,00",
"defaultDisplayedCompareToPriceDiscount": -10,
"defaultDisplayedCompareToPriceDiscountFormatted": "€-10,00",
"defaultDisplayedCompareToPriceDiscountPercent": -25,
"defaultDisplayedCompareToPriceDiscountPercentFormatted": "",
"isShippingRequired": true,
"hasFreeShipping": false,
"weight": 0.5,
"url": "https://store1003.company.site/products/pizza",
"autogeneratedSlug": "pizza-689454040",
"customSlug": "pizza",
"created": "2024-08-19 08:49:01 +0000",
"updated": "2024-09-05 07:58:07 +0000",
"createTimestamp": 1724057341,
"updateTimestamp": 1725523087,
"productClassId": 0,
"enabled": true,
"options": [
{
"type": "RADIO",
"name": "Size",
"nameTranslated": {
"cs": "",
"en": "Size"
},
"choices": [
{
"text": "24",
"textTranslated": {
"cs": "",
"en": "24"
},
"priceModifier": 0,
"priceModifierType": "ABSOLUTE"
},
{
"text": "28",
"textTranslated": {
"cs": "",
"en": "28"
},
"priceModifier": 10,
"priceModifierType": "ABSOLUTE"
},
{
"text": "32",
"textTranslated": {
"cs": "",
"en": "32"
},
"priceModifier": 20,
"priceModifierType": "ABSOLUTE"
}
],
"required": true
}
],
"warningLimit": 1,
"fixedShippingRateOnly": false,
"fixedShippingRate": 0,
"shipping": {
"type": "GLOBAL_METHODS",
"methodMarkup": 0,
"flatRate": 0,
"disabledMethods": [],
"enabledMethods": []
},
"defaultCombinationId": 0,
"imageUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679702.jpg",
"smallThumbnailUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679701.jpg",
"hdThumbnailUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679703.jpg",
"originalImageUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679700.jpg",
"originalImage": {
"url": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679700.jpg",
"width": 683,
"height": 512
},
"borderInfo": {
"dominatingColor": {
"red": 129,
"green": 96,
"blue": 73,
"alpha": 255
},
"homogeneity": false
},
"description": "",
"descriptionTranslated": {
"cs": "",
"en": ""
},
"galleryImages": [],
"media": {
"images": [
{
"id": "0",
"isMain": true,
"orderBy": 0,
"image160pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679701.jpg",
"image400pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679704.jpg",
"image800pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679703.jpg",
"image1500pxUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679702.jpg",
"imageOriginalUrl": "https://d2j6dbq0eux0bg.cloudfront.net/images/1003/4493679700.jpg",
"alt": {
"main": "alt_tag",
"translated": {
"en": "alt_tag",
"cz": "alt_tag_cz"
}
}
}
],
"videos": []
},
"categoryIds": [],
"categories": [],
"defaultCategoryId": 0,
"seoTitle": "Best Pizza",
"seoTitleTranslated": {
"cs": "",
"en": "Best Pizza"
},
"seoDescription": "",
"seoDescriptionTranslated": {
"cs": "",
"en": ""
},
"favorites": {
"count": 0,
"displayedCount": "0"
},
"attributes": [],
"files": [],
"relatedProducts": {
"productIds": [],
"relatedCategory": {
"enabled": false,
"categoryId": 0,
"productCount": 5
}
},
"combinations": [
{
"id": 421616046,
"combinationNumber": 2,
"options": [
{
"name": "Size",
"nameTranslated": {
"cs": "",
"en": "Size"
},
"value": "32",
"valueTranslated": {
"cs": "",
"en": "32"
}
}
],
"inStock": true,
"unlimited": true,
"attributes": [],
"defaultDisplayedPrice": 70,
"defaultDisplayedPriceFormatted": "€70,00",
"dimensions": {
"length": 0,
"width": 0,
"height": 0
},
"volume": 0,
"outOfStockVisibilityBehaviour": "SHOW",
"lowestPrice": 50,
"defaultDisplayedLowestPrice": 50,
"defaultDisplayedLowestPriceFormatted": "€50,00",
"lowestPriceSettings": {
"lowestPriceEnabled": true
},
"alt": {
"main": "alt_tag",
"translated": {
"cz": "alt_tag_cz",
"en": "alt_tag"
}
}
},
{
"id": 421616047,
"combinationNumber": 1,
"options": [
{
"name": "Size",
"nameTranslated": {
"cs": "",
"en": "Size"
},
"value": "28",
"valueTranslated": {
"cs": "",
"en": "28"
}
}
],
"inStock": true,
"unlimited": true,
"attributes": [],
"defaultDisplayedPrice": 60,
"defaultDisplayedPriceFormatted": "€60,00",
"dimensions": {
"length": 0,
"width": 0,
"height": 0
},
"volume": 0,
"outOfStockVisibilityBehaviour": "SHOW",
"lowestPrice": 50,
"defaultDisplayedLowestPrice": 50,
"defaultDisplayedLowestPriceFormatted": "€50,00",
"lowestPriceSettings": {
"lowestPriceEnabled": true
},
"alt": {
"main": "alt_tag",
"translated": {
"cz": "alt_tag_cz",
"en": "alt_tag"
}
}
}
],
"dimensions": {
"length": 0,
"width": 0,
"height": 0
},
"shippingPreparationTime": {},
"showDeliveryTimeInStorefront": false,
"volume": 0,
"showOnFrontpage": 10,
"isSampleProduct": false,
"googleItemCondition": "NEW",
"isGiftCard": false,
"discountsAllowed": true,
"nameYourPriceEnabled": false,
"subscriptionSettings": {
"subscriptionAllowed": false,
"oneTimePurchaseAllowed": true,
"recurringChargeSettings": [
{
"recurringInterval": "MONTH",
"recurringIntervalCount": 1
}
]
},
"googleProductCategory": 412,
"googleProductCategoryName": "Food, Beverages & Tobacco",
"productCondition": "NEW",
"outOfStockVisibilityBehaviour": "SHOW"
}
]
}
Access scopes
Requires the following access scope: read_catalog
Path params
Param | Type | Description |
---|---|---|
storeId | number | Ecwid store ID. |
Query params
All query params are optional.
Param | Type | Description |
---|---|---|
productId | number | Internal Ecwid product ID or multiple IDs separated by a comma. If this field is specified, other search parameters are ignored. |
sku | string | Product or variation SKU. Ecwid will return details of a product containing that SKU, if SKU value is an exact match. If SKU is specified, other search parameters are ignored, except for product ID. |
keyword | string | Search term. Add * at the end of the keyword to disable the exact match search. Search supports any language enabled in the store and specified in the lang param.Supported fields: - name - description - SKU (including variations SKU)- options - category name- gallery image descriptions- attributes values (except for hidden attributes). Any special characters must be URI-encoded. |
searchMethod | string | Addition to keyword . STOREFRONT – emulates search on the storefront CP – emulates search in Ecwid admin |
externalReferenceId | string | Product ID in linked POS. Includes both product IDs and product variation IDs. |
category | number | Search term for finding products assigned to a specific category by its ID. |
categories | number | Search term for finding products assigned to specified category IDs. For example: 0,123456,138470508 . |
includeProductsFromSubcategories | boolean | Set true to get products from the subcategories of specified categories. |
priceFrom | number | Minimum product price. |
priceTo | number | Maximum product price. |
createdFrom | string | Product creation date/time (lower bound). Supported formats: UNIX timestamp, date/time. Examples: 1447804800 , 2023-01-15 19:27:50 |
createdTo | string | Product creation date/time (upper bound). Supported formats: UNIX timestamp, date/time. Examples: 1447804800 , 2023-01-15 19:27:50 |
updatedFrom | string | Product update date/time (lower bound). Supported formats: UNIX timestamp, date/time. Examples: 1447804800 , 2023-01-15 19:27:50 |
updatedTo | string | Product update date/time (upper bound). Supported formats: UNIX timestamp, date/time. Examples: 1447804800 , 2023-01-15 19:27:50 |
sortBy | string | Sort order for found products. Supported values:RELEVANCE (default)DEFINED_BY_STORE_OWNER ADDED_TIME_DESC ADDED_TIME_ASC NAME_ASC NAME_DESC PRICE_ASC PRICE_DESC UPDATED_TIME_ASC UPDATED_TIME_DESC When category search term is set, DEFINED_BY_STORE_OWNER is used automatically. |
enabled | boolean | Set true to get only enabled products.Set false to get only disabled products. |
isGiftCard | boolean | Set true to get gift cards only.Set false to receive gift cards only. |
inStock | boolean | Set true to get only in-stock products.Set false to get only out-of-stock products. |
discountsAllowed | boolean | Set true to get only products with allowed discounts.Set false to get only products where discounts are not allowed. |
visibleInStorefront | boolean | Set true to get only products visible on the storefront.Set false to get only hidden products. |
isCustomerSetPrice | boolean | Set true to get only products with customer-defined prices.Set false to get only products without customer-defined prices. |
onsale | string | Set onsale to get only items currently on sale.Set notonsale to get only items currently not on sale. |
inventory | string | Set instock to get only in-stock products.Set outofstock to get only out-of-stock products. |
baseUrl | string | Set base URL for URLs in response. If not specified, Ecwid will use main URL from store settings. |
cleanUrls | boolean | Set true to force receiving clean URLs – catalog links without hashbang (/#!/ ). By default Ecwid checks if this setting is enabled for the store and responds with matching URLs. |
slugsWithoutIds | boolean | Set true to receive product page slugs without IDs. By default Ecwid checks if this setting is enabled for the store and responds with matching URLs. |
option_{optionName}={optionValue} | string | Filter by product option name and one or several comma-separated values for that option. A product will appear in the response if it has an option with a specified name that has any of the specified values. For example, a product has an option named Size with three values 24 , 26 , and 30 . Then the following search term will find the product: option_Size=24,22 . Even when the product doesn't have an option value 22 . |
attribute_{attributeName}={attributeValue} | string | Filter by product attribute name and one or several comma-separated values for that attribute. A product will appear in the response if it has an attribute with a specified name that has any of the specified values. For example, a product has an attribute named Brand with an Ecwid value. Then the following search term will find the product: attribute_Brand=Ecwid,Lightspeed . Even when the product doesn't have a Lightspeed attribute value. |
offset | number | Set offset from the beginning of the returned items list by a margin of 100 (for paging). |
responseFields | string | Limit JSON response by specific fields. If specified, all missing fields will be removed from the response body. Example: ?responseFields=total,items(id,name,price,quantity) |
Example of using responseFields
param:
curl --location 'https://app.ecwid.com/api/v3/1003/products?responseFields=total,items(id,name,price,quantity)' \
--header 'Authorization: Bearer secret_ab***cd'
{
"total": 2,
"items": [
{
"id": 692730761,
"name": "Toys",
"price": 10
},
{
"id": 689454040,
"name": "Best Pizza",
"price": 50
}
]
}
Headers
The Authorization header with a secret access token is required.
Header | Format | Description |
---|---|---|
Authorization | Bearer secret_ab***cd | Access token of the application. |
Response
A JSON object with the following fields:
Field | Type | Description |
---|---|---|
total | number | The total number of found items (might be more than the number of returned items) |
count | number | The total number of the items returned in this batch |
offset | number | Offset from the beginning of the returned items list (for paging) |
limit | number | Maximum possible number of returned items in this request. |
items | Array items | The items list |
items
Field | Type | Description |
---|---|---|
id | number | Unique integer product identifier |
sku | string | Product SKU. Items with options can have several SKUs specified in the product variations. |
quantity | number | Amount of product items in stock. This field is omitted for the products with unlimited stock |
unlimited | boolean | true if the product has unlimited stock |
inStock | boolean | true if the product or any of its variations is in stock (quantity is more than zero) or has unlimited quantity. false otherwise. |
name | string | Product title |
nameTranslated | Object translations | Available translations for product name |
price | number | Base product price |
priceInProductList | number | Product price displayed in a storefront. May differ from the price value when the product has options and variations and the default variation's price is different from the base product price. Does not include taxes |
defaultDisplayedPrice | number | Product price displayed in a storefront for logged out customer for default location (store location). May differ from the price value when the product has options and variations and the default variation's price is different from the base product price. It also includes taxes |
defaultDisplayedPriceFormatted | string | Formatted display of defaultDisplayedPrice in the store's formatting for prices |
costPrice | number | Purchase price (the price at which the seller bought the product from the supplier). A positive number, 0 by default. The field is not shown in the UI and can be used for reports and profit calculations |
tax | Object tax | Detailed information about product's taxes |
wholesalePrices | Array wholesalePrices | Sorted array of wholesale price tiers (quantity limit and price pairs) |
compareToPrice | number | Product pre-sale price with the same value as specified in Ecwid admin (without taxes), e.g. 40 . |
compareToPriceFormatted | string | Formatted display of compareToPrice with a currency symbol, e.g. €44,00 .Includes taxes when a store uses net prices (prices don't include taxes). Displayed as strikethrough price on the storefront. |
compareToPriceDiscount | number | Discount from the sale price, e.g. -11 . |
compareToPriceDiscountFormatted | string | Formatted discount from the sale price, e.g. €11,00 . |
compareToPriceDiscountPercent | number | Discount percent from the sale price, e.g. -25 . |
compareToPriceDiscountPercentFormatted | string | Sale price discount percent (with percent sign), e.g. -25% . |
defaultDisplayedCompareToPrice | number | Product pre-sale price including taxes, e.g. 44 . |
defaultDisplayedCompareToPriceFormatted | string | Formatted display of compareToPrice with a currency symbol, e.g. €44,00 . Includes taxes when a store uses net prices. Displayed as strikethrough price on the storefront. |
defaultDisplayedCompareToPriceDiscount | number | Discount from the sale price, e.g. -11 . |
defaultDisplayedCompareToPriceDiscountFormatted | string | Formatted discount from the sale price, e.g. €11,00 . |
defaultDisplayedCompareToPriceDiscountPercent | number | Discount percent from the sale price, e.g. -25 . |
defaultDisplayedCompareToPriceDiscountPercentFormatted | string | Sale price discount percent (with percent sign), e.g. -25% . |
lowestPrice | number | DEPRECATED Use lowestPriceSettings instead. |
defaultDisplayedLowestPrice | number | DEPRECATED Use lowestPriceSettings instead. |
defaultDisplayedLowestPriceFormatted | string | DEPRECATED Use lowestPriceSettings instead. |
lowestPriceSettings | Object lowestPriceSettings | Product lowest price settings for EU stores. Learn more |
isShippingRequired | boolean | true if product requires shipping, false otherwise |
weight | number | Product weight in the units defined in store settings. Omitted for intangible products |
url | string | URL of product details page in the storefront. URL will be provided in SEO-friendly format if Ecwid knows the store uses them. |
autogeneratedSlug | string | A default slug generated for the product URL. |
customSlug | string | A custom slug set for the product URL. |
created | string | Date and time of the product creation. Example: 2014-07-30 10:32:37 +0000 |
updated | string | Product last update date/time |
createTimestamp | number | The date of product creation in UNIX Timestamp format, e.g 1427268654 |
updateTimestamp | number | Product last update date in UNIX Timestamp format, e.g 1427268654 |
productClassId | number | Id of the class (type) that this product belongs to. 0 value means the product is of the default 'General' class. See also: Product types and attributes in Ecwid |
enabled | boolean | true if product is enabled, false otherwise. Disabled products are not displayed in the store front. |
options | Array options | A list of the product options. Empty ([] ) if no options are specified for the product. |
warningLimit | number | The minimum 'warning' amount of the product items in stock, if set. When the product quantity reaches this level, the store administrator gets an email notification. |
fixedShippingRateOnly | boolean | Legacy function – see shipping field instead. true if shipping cost for this product is calculated as 'Fixed rate per item' (managed under the "Tax and Shipping" section of the product management page in Ecwid Control panel). false otherwise. With this option on, the fixedShippingRate field specifies the shipping cost of the product |
fixedShippingRate | number | Legacy function – see shipping field instead. When fixedShippingRateOnly is true , this field sets the product fixed shipping cost per item. When fixedShippingRateOnly is false , the value in this field is treated as an extra shipping cost the product adds to the global calculated shipping |
shipping | Object shipping | Shipping settings of this product |
defaultCombinationId | number | Identifier of the default product variation, which is defined by the default values of product options. |
originalImage | Object originalImage | Original image information |
description | string | Product description in HTML |
descriptionTranslated | Object translations | Available translations for product description |
galleryImages | Array galleryImages | List of the product gallery images (for updating alt tags and sort order) |
media | Object media | Details about product images and videos. |
categoryIds | Array of numbers | Private token: List of the categories, which the product belongs to. Public token: List of the enabled categories the product belongs to. Any token: If no categories provided, product is displayed on the store front page, see showOnFrontpage field, or all categories of that product are disabled |
categories | Array categories | List of the categories the product belongs to. If empty, product belogs to the storefront page, see showOnFrontpage field. |
defaultCategoryId | number | Default category ID of the product. If value is 0 , then product does not have a default category and is not shown anywhere in storefront |
seoTitle | string | Page title to be displayed in search results on the web. Recommended length is under 55 characters. Is empty if value wasn't changed by merchant from the product itself |
seoTitleTranslated | string | Translations of the page title to be displayed in search results on the web |
seoDescription | string | Page description to be displayed in search results on the web. Recommended length is under 160 characters. Is empty if value wasn't changed by merchant from the product itself |
seoDecriptionTranslated | string | Translations of the page description to be displayed in search results on the web |
favorites | Object favorites | Stats showing how many times the product was added to favorites on the storefront. |
attributes | Array attributes | List of product attributes and their values. |
files | Array files | Downloadable files (E-goods) attached to the product |
relatedProducts | Object relatedProducts | List of related products displayed as "You may also like" products of the product. |
combinations | Array combinations | List of the product variations. |
dimensions | Object dimensions | Product dimensions info. |
volume | number | Product volume, fractional number, 0 by default. |
showOnFrontpage | number | A positive number indicates the position (index) of a product in the store front page – the smaller the number, the higher the product is displayed on a page. A missing field means the product is not shown in the store front page (for private tokens) |
subscriptionSettings | Object subscriptionSettings | Subscription settings. |
isSampleProduct | boolean | true if this product is a sample one (sample product when Ecwid store is initially created). false otherwise. Read only field |
isGiftCard | boolean | true if a product is a gift card. false if it's a regular store product. Read only field |
discountsAllowed | boolean | true if Ecwid can apply discounts to this product at checkout. false otherwise |
externalReferenceId | string | External ID for products synced from external services (e.g. POS) |
outOfStockVisibilityBehaviour | string | Indicates whether an out of stock product should visible or not. One of: SHOW , HIDE , ALLOW_PREORDER . |
minPurchaseQuantity | number | Sets minimum product purchase quantity. null by default. Not visible if the value was not assigned. |
maxPurchaseQuantity | number | Sets maximum product purchase quantity. null by default. Not visible if the value was not assigned. |
reviewsCollectingAllowed | boolean | When true , allows to collect, check, and publish reviews for this product in store. |
rating | number | Average product rating. |
reviewsPublished | number | Number of published reviews. |
reviewsModerated | number | Number of reviews waiting for merchant's approval. |
favorites
Field | Type | Description |
---|---|---|
count | number | The actual number of 'likes' of this product |
displayedCount | string | The displayed number of likes. May differ from the count if, for example, the value is more than 1000, than it will show 1K instead of the precise number |
wholesalePrices
Field | Type | Description |
---|---|---|
quantity | number | Number of product items on this wholesale tier |
price | number | Product price on the tier |
lowestPriceSettings
Field | Type | Description |
---|---|---|
lowestPriceEnabled | boolean | If true , lowest price is enabled for the product and shown on the storefront. |
manualLowestPrice | number | Manually entered lowest price for the last 30 days before any discounts or taxes applied. |
defaultDisplayedManualLowestPrice | number | manualLowestPrice with taxes applied. |
defaultDisplayedManualLowestPriceFormatted | string | Formatted display of defaultDisplayedManualLowestPrice using store format settings. |
automaticLowestPrice | number | Automatically calculated lowest price for the last 30 days before any discounts or taxes applied. Read-only |
defaultDisplayedAutomaticLowestPrice | number | automaticLowestPrice with taxes applied. Read-only |
defaultDisplayedAutomaticLowestPriceFormatted | string | Formatted display of defaultDisplayedAutomaticLowestPrice using store format settings. Read-only |
options
Field | Type | Description |
---|---|---|
type | string | One of SELECT , RADIO , CHECKBOX , TEXTFIELD , TEXTAREA , DATE , FILES , SIZE |
name | string | Product option name, e.g. Color |
nameTranslated | Object translations | Available translations for product option name |
choices | Array choices | All possible option selections for the types SELECT , CHECKBOX or RADIO or SIZE . This field is omitted for the product option with no selection (e.g. text, datepicker or upload file options) |
defaultChoice | number | The number, starting from 0 , of the option's default selection. Only presents if the type is SELECT or RADIO or SIZE |
required | boolean | true if this option is required, false otherwise. Default is false |
shipping
Field | Type | Description |
---|---|---|
type | string | One of: "GLOBAL_METHODS" , "SELECTED_METHODS" , "FLAT_RATE" , "FREE_SHIPPING" . "GLOBAL_METHODS" – all standard shipping methods set up in store settings; "SELECTED_METHODS" – Ecwid will use enabledMethods and disabledMethods list to make shipping calculations; "FLAT_RATE" – sets flat rate for product's shipping, see flatRate field. |
methodMarkup | number | Additional cost for shipping methods set by merchant (global and selected) |
flatRate | number | Flat rate cost for shipping this product |
disabledMethods | Array of strings | IDs of shipping methods that need to be excluded from calculation when this product is in cart. IDs can be retrieved in Store profile |
enabledMethods | Array of strings | IDs of shipping methods which will only be shown when this product is in cart. No other shipping methods will be shown. IDs can be retrieved in Store profile |
originalImage
Field | Type | Description |
---|---|---|
url | string | Url of an original image |
width | number | Width of an image (px) |
height | number | Height of an image (px) |
galleryImages
Field | Type | Description |
---|---|---|
id | number | Id of an image in the gallery |
url | string | URL of an image |
thumbnail | string | URL of a thumbnail (160px) |
originalImageUrl | string | URL of an original image |
imageUrl | string | URL of an image (1200px) |
hdThumbnailUrl | string | URL of an HD-thumbnail (800px) |
thumbnailUrl | string | URL of a big thumbnail (400px) |
smallThumbnailUrl | string | URL of a thumbnail (160px) |
width | number | Width of an image (px) |
height | number | Height of an image (px) |
orderBy | number | Consecutive number of an image in the gallery |
borderInfo | Object borderInfo | Border information |
borderInfo
Field | Type | Description |
---|---|---|
dominatingColor | Object dominatingColor | Dominating color information |
homogeneity | boolean | true if an image is homogeneous. false otherwise |
dominatingColor
Field | Type | Description |
---|---|---|
red | number | Red color (from 0 to 255, RGB) |
green | number | Green color (from 0 to 255, RGB) |
blue | number | Blue color (from 0 to 255, RGB) |
alpha | number | Alpha channel (from 0 to 255) |
media
images
Field | Type | Description |
---|---|---|
id | string | Internal image ID in a string number |
alt | Object alt | Image description in "alt" attribute and its translations |
orderBy | number | The sort weight of the image in the gallery images list. The less the number, the closer the image to the beginning of the gallery |
isMain | boolean | true if this is a main product image. false if gallery image |
image160pxUrl | string | URL of the product thumbnail resized to fit 160x160px |
image400pxUrl | string | URL of the product thumbnail displayed on the product list pages. Thumbnails size is defined in the store settings. Default size of the biggest dimension is 400px |
image800pxUrl | string | Product HD thumbnail URL resized to fit 800x800px |
image1500pxUrl | string | URL of the product image resized to fit 1500x1500px |
imageOriginalUrl | string | URL of the image in its original resolution |
externalId | string | Image ID for Lightspeed R-Series/X-Series image sync. Read-only |
alt
Field | Type | Description |
---|---|---|
main | string | Text image description displayed in "alt" image attribute |
translations | Object translations | Translations for the "alt" image description |
videos
Field | Type | Description |
---|---|---|
id | number | Internal video ID |
videoCoverId | number | ID of the cover image for the video (from 'images') |
url | boolean | URL to the video file |
embedHtml | string | Embedded code for the video file |
providerName | string | Video hosting provider name (could be empty) |
title | string | Video title (could be empty) |
image160pxUrl | string | URL of the video cover image resized to fit 160x160px |
image400pxUrl | string | URL of the video cover image resized to fit 400x400px |
image800pxUrl | string | URL of the video cover image resized to fit 800x800px |
image1500pxUrl | string | URL of the video cover image resized to fit 1500x1500px |
imageOriginalUrl | string | RL of the video cover image in its original resolution |
categories
Field | Type | Description |
---|---|---|
id | number | Category ID |
enabled | boolean | true if category is enabled, false otherwise |
attributes
Field | Type | Description |
---|---|---|
id | number | Unique attribute ID. See Product types for the information on attribute IDs |
name | string | Attribute displayed name |
nameTranslated | Object translations | Available translations for product attribute name |
value | string | Attribute value |
valueTranslated | Object translations | Available translations for product attribute value |
type | string | Attribute type. There are user-defined attributes, general attributes and special 'price per unit’ attributes. The 'type’ field contains one of the following: CUSTOM , UPC , BRAND , GENDER , AGE_GROUP , COLOR , SIZE , PRICE_PER_UNIT , UNITS_IN_PRODUCT |
show | string | Defines if an attribute is visible on a product page. Supported values: NOTSHOW , DESCR , PRICE . The value PRICE = DESCR . |
files
Field | Type | Description |
---|---|---|
id | number | Internal ID of the file |
name | string | File name |
description | string | File description defined by the store administrator |
size | number | File size, bytes (64-bit integer) |
adminUrl | string | Direct link to the file. Important: to download the file, add your API token to this URL like this: https://app.ecwid.com/api/v3/4870020/products/37208340/files/7215102?token=YOUR-API-TOKEN |
relatedProducts
Field | Type | Description |
---|---|---|
productIds | Array of numbers | IDs of the related products |
relatedCategory | Object relatedCategory | Describes the "N random related products from a category" option |
relatedCategory
Field | Type | Description |
---|---|---|
enabled | boolean | true if the "N random related products from a category" option is enabled. false otherwise |
categoryId | number | Id of the related category. Zero value means "any category", that is, random products from the whole store. |
productCount | number | Number of random products from the given category to be shown as related |
combinations
Field | Type | Description |
---|---|---|
id | number | Variation ID |
combinationNumber | number | Variation # number, which is displayed in the variations table in Control panel |
options | Array options | Set of options that identifies this variation. An array of name-value pairs. |
sku | string | Variation SKU. Omitted if the variation inherits the base product's SKU |
thumbnailUrl | string | URL of the product variation thumbnail displayed on the product list pages. Thumbnails size is defined in the store settings. Default size of biggest dimension is 400px. Omitted if the variation inherits the base product's image. The original uploaded product image is available in the originalImageUrl field. |
imageUrl | string | URL of the product variation image resized to fit 1500x1500px. Omitted if the variation inherits the base product's image. The original uploaded product image is available in the originalImageUrl field. |
smallThumbnailUrl | string | URL of the product variation thumbnail resized to fit 160x160px. Omitted if the variation inherits the base product's image. The original uploaded product image is available in the originalImageUrl field. |
hdThumbnailUrl | string | Product variation HD thumbnail URL resized to fit 800x800px. Omitted if the variation inherits the base product's image. |
originalImageUrl | string | URL of the original not resized product variation image. Omitted if the variation inherits the base product's image. |
quantity | number | Amount of the variation items in stock. If sku is omitted, then quantity of the variation is nested from base product. If sku is present, the variation has its own quantity value. |
unlimited | boolean | true if the variation has unlimited stock (that is, never runs out) |
price | number | Variation price. Omitted if the variation inherits the base product's price. |
wholesalePrices | Array wholesalePrices | Sorted array of the variation's wholesale price tiers (quantity limit and price). Omitted if the variation inherits the base product's tiered price settings. |
weight | number | Variation weight in the units defined in store settings. Omitted if the variation inherits the base product's weight. |
warningLimit | number | The minimum 'warning' amount of the product items in stock for this variation, if set. When the variation in stock amount reaches this level, the store administrator gets an email notification. Omitted if the variation inherits the base product's settings |
attributes | Array attributes | List of variation attributes and their values. |
compareToPrice | number | Variation's sale price displayed strike-out in the customer frontend Omitted if empty |
minPurchaseQuantity | number | Sets minimum product variation purchase quantity. Default value is taken from a base product. Not visible if the value is not assigned. |
maxPurchaseQuantity | number | Sets maximum product variation purchase quantity. Default value is taken from a base product. Not visible if the value is not assigned. |
outOfStockVisibilityBehaviour | string | Indicates whether an out of stock product should visible or not. One of: SHOW , HIDE , ALLOW_PREORDER . |
options
Field | Type | Description |
---|---|---|
name | string | Option name |
nameTranslated | Object translations | Available translations for product option name |
value | string | Option value |
valueTranslated | Object translations | Available translations for product option value |
choices
Field | Type | Description |
---|---|---|
text | string | Option selection text, e.g. 'Green' |
textTranslated | Object translations | Available translations for product option selection text |
priceModifier | number | Percent or absolute value of the option's price markup. Positive, negative and zero values are allowed. Default is 0 |
priceModifierType | string | Option markup calculation type. PERCENT or ABSOLUTE . Default is ABSOLUTE . |
translations
Object with text field translations in the "lang": "text"
format, where the "lang"
is an ISO 639-1 language code. Example:
{
"en": "Sample text",
"nl": "Voorbeeldtekst"
}
Translations for each available language. If no other translations are provided, the default language translations is returned. See available languages in store language settings.
dimensions
Field | Type | Description |
---|---|---|
length | number | Length of a product |
width | number | Width of a product |
height | number | Height of a product |
subscriptionSettings
Field | Type | Description |
---|---|---|
subscriptionAllowed | boolean | true if the product can be sold as subscription ("Sell as subscription" product setting enabled). false otherwise. |
oneTimePurchaseAllowed | boolean | true if the product can be purchased once, with no further charges on a regular basis. false otherwise. |
oneTimePurchasePrice | number | The cost of the product by subscription with a one-time purchase, null by default. |
oneTimePurchasePriceFormatted | string | The cost of the product for a one-time purchase, formatted according to the settings for displaying prices in the store. |
oneTimePurchaseMarkup | number | The difference between the price of the product when subscribing and a one-time purchase in absolute values. Calculated automatically when oneTimePurchasePrice that isn’t equal to price is set. |
oneTimePurchaseMarkupFormatted | string | The difference between the price of the product when subscribing and a one-time purchase in absolute values. Formatted according to the settings for displaying prices in the store. Updated automatically when the oneTimePurchaseMarkup is changed. |
oneTimePurchaseMarkupPercent | number | The difference between the price of the product when subscribing and a one-time purchase as a percentage. Calculated automatically when oneTimePurchasePrice that isn’t equal to price is set. |
oneTimePurchaseMarkupPercentFormatted | string | The difference between the price of the product when subscribing and a one-time purchase as a percentage. Formatted according to the settings for displaying prices in the store. Updated automatically when the oneTimePurchaseMarkupPercent is changed. |
recurringChargeSettings | Object recurringChargeSettings | Recurring charge settings. |
recurringChargeSettings
Field | Type | Description |
---|---|---|
recurringInterval | string | Charge recurring interval. Supported values: DAY , WEEK , MONTH , YEAR . |
recurringIntervalCount | number | Charge recurring interval. Supported values: for DAY - 1 (daily), for WEEK - 1 (weekly), 2 (biweekly), for MONTH - 1 (monthly), 3 (quarterly), for YEAR - 1 (annually). |
subscriptionPriceWithSignUpFee | number | The cost of the product for the first subscription order. |
subscriptionPriceWithSignUpFeeFormatted | string | The cost of the product for the first subscription order. Formatted according to the settings for displaying prices in the store. Updated automatically when the subscriptionPriceWithSignUpFee is changed. |
signUpFee | number | The size of the markup that is imposed on the first order. |
signUpFeeFormatted | string | The size of the markup that is imposed on the first order. Formatted according to the settings for displaying prices in the store. Updated automatically when the signUpFee is changed. |
tax
Field | Type | Description |
---|---|---|
taxable | boolean | true to apply taxes to this product, false otherwise |
defaultLocationIncludedTaxRate | number | Default tax rate (%) for including into product price. Is a sum of all enabled taxes included in product price for the store location. Read only |
enabledManualTaxes | Array of numbers | Array of internal Ecwid tax IDs, as listed in Store profile. Empty array if no manual taxes are enabled or automatic taxes are enabled |
taxClassCode | string | A unique tax class code for the product that determine the taxability of the products for a certain region. If not specified the default value is Default |