Lazada product data: item IDs, SKUs & inventory
Map Lazada item IDs to seller SKUs, category-specific variants, dated prices and warehouse inventory. See how seller-authorized Open Platform data differs from public listings.
Lazada items and seller SKUs need separate identifiers
The Lazada Open Platform product response separates an item from the SKUs beneath it. A SKU can have a Lazada-created SkuId, a seller-assigned SellerSku and a separate ShopSku value. Preserve each raw identifier with its country and seller-store scope; do not use “item” and “SKU” as synonyms.
Scroll to compare →
| Record | Lazada field and meaning | Keep with it |
|---|---|---|
| Item | item_id: product record; documented as unique within its country and able to relate to multiple SKU IDs. | Country/site, source URL and item-level attributes |
| SKU | SkuId: Lazada-assigned identifier created for an item option. | Parent item_id and the exact option values |
| Seller SKU | SellerSku: seller-defined identifier documented as unique in that store. | Seller/store identity; do not treat it as globally unique |
| Shop SKU | ShopSku: separate returned field, distinct from SellerSku and SkuId. | Raw value and source field name; do not parse it into another ID |
| Listing URL | Url: the API example includes a URL at SKU level as well as item identity. | Exact URL and returned SKU; do not collapse sibling variants |
Category rules determine Lazada product variations
Lazada product-management documentation separates product Attributes from each SKU’s saleProp options. The category tree and category-attribute service determine which attributes and variant properties are available; color and size are examples, not a universal schema for every category.
Scroll to compare →
| Data layer | Example fields | Useful modeling rule |
|---|---|---|
| Category | primary_category, category attributes | Keep the marketplace category ID and its source label; attribute requirements vary by category. |
| Item attributes | name, brand, model, description | Store once at the item level when the source response does so. |
| SKU options | saleProp such as color_family or size | Attach values to a specific SKU and retain the attribute names exactly as returned. |
| Variation definition | standard or custom option names and option values | Use the category and seller response; do not invent missing sizes, colors or option combinations. |
A Lazada price record needs a SKU, market and time window
The Open Platform product model distinguishes retail price, special price and seller supply price. A regional currency and the selected SKU matter; a promotion field without its date window is not a complete offer observation.
Scroll to compare →
| Field or context | Meaning in the reviewed documentation | Do not infer |
|---|---|---|
| price | Retail price field attached to an item SKU in the product model. | A final checkout amount for every customer or market |
| special_price | Actual sales-price field when present, with special_from_date and special_to_date defining the interval. | That a promotion applies before its start, after its end or to sibling SKUs |
| supply_price | Merchant supply-price field used by the documented Marketplace Ease seller model. | A buyer-facing retail or promotional price |
| currency_unit | Currency reported with the SKU response; the example payload includes a country-specific currency value. | A currency based only on the product title or the observer’s location |
| Observation context | Selected SKU, site/country, price basis, source update time and retrieval time. | That a seller API value equals the public page’s displayed or checkout price |
| Thailand LazRewards | Lazada Thailand Help Center says 1 LazReward equals THB 1; points can be redeemed at checkout for discounts, cannot be converted to cash, and exclude infant formula and digital goods. | Keep points and redemption as account/checkout context separate from the public SKU price; do not infer a shopper’s balance or subtract a hypothetical reward. |
Lazada inventory fields describe different order states
Seller API inventory is more detailed than a single stock count. Lazada’s inventory tutorial distinguishes buyer-purchasable stock, unpaid-order holds, paid orders awaiting shipment and quantities tied to campaigns or warehouses. These values should not be rewritten as a buyer-page availability claim.
Scroll to compare →
| API field | State described by Lazada | How to preserve it |
|---|---|---|
| SellableQuantity | Stock available for buyers to purchase; the tutorial says Seller Center displays this quantity. | Keep with SKU, site, seller store and observation time. |
| WithholdQuantity | Inventory held after an order is submitted but before payment; the tutorial says an unpaid hold returns after 30 minutes. | Do not count it as available to purchase or as a completed sale. |
| OccupyQuantity | Inventory associated with a paid order before it moves out of the pending/packed stage. | Keep separate from sellable quantity and order-completion status. |
| totalQuantity | The documented total of sellable, withheld and occupied quantity. | Record the API definition/version; do not add campaign or warehouse values twice. |
| channelInventories / warehouse arrays | Campaign-linked stock and, for supported sellers, quantities by warehouse. | Preserve each campaign or warehouse code; an omitted warehouse is not evidence of zero stock. |
The Lazada country site belongs in the product key
The seller-authorization guide lists Lazada sites for Singapore, Malaysia, Thailand, Vietnam, Indonesia and the Philippines. Its product reference states that item_id is country-unique. Keep the selected site and country with each identifier rather than joining products across markets by title or image.
Scroll to compare →
| Observation field | Lazada-specific meaning | Keep with the record |
|---|---|---|
| Selected site | Singapore, Malaysia, Thailand, Vietnam, Indonesia or the Philippines | Country/site and exact storefront host |
| item_id | Unique within the current country according to the product reference | Country/site; do not join across markets on the number alone |
| currency_unit | A source-reported currency field in the product response | Currency with the corresponding seller, SKU and price basis |
| Product or SKU URL | The Open Platform response may include a URL at SKU level | Exact URL and the returned item/SKU identifiers |
| Source and retrieval time | The API can report product update time; a collection has its own retrieval time | Both timestamps, labeled by what they measure |
Lazada Open Platform is a seller-authorized API path
Lazada’s Open Platform docs describe applications that access seller business data after seller authorization. Developers create an application, request the API permission groups they need, and use the resulting seller-specific access. This seller API is distinct from a public buyer-facing listing; its documentation does not establish blanket access to public-page content.
Scroll to compare →
| Evidence path | What Lazada documentation describes | Boundary to keep |
|---|---|---|
| Open Platform product API | Product and SKU management APIs including GetProductItem and GetProducts. | Application role, seller authorization and API permissions apply. |
| Seller authorization | The seller signs in and authorizes an application for a store/site; the resulting token is tied to that store. | A public listing does not create a seller access token. |
| Permission groups | Some API groups are available by default; others require an application request. | Do not assume every application can call every product or inventory API. |
| Buyer-facing product page | A separate storefront representation with its own market, selected option and displayed state. | Open Platform API docs do not establish blanket permission to collect or reuse public-page content. |
| Data project decision | Identify seller-owned data, approved API scope or the exact public-page question and applicable terms. | Do not describe API output as available until access, fields and data rights are confirmed. |
Content reviewed 2026-10-07.