API: Product

All API calls require the key parameter. That is not shown in the below examples.

Overview

The Product call returns more robust details about specific products.

Basic Product Lookup

Pulls information about a product with a given product id. This is referred to as the SKU on www.zappos.com pages. It can be used to return a single product details or numerous products at the same time e.g.

Example Simple Requests

  • /Product/<SKU>
  • /Product/7564933
  • /Product/7564933,7590514
  • /Product?id=["7564933","7590514"]

Single Product Response

{
"statusCode": "200",
"product": [
    {
        "productId": "7564933",
        "brandId": "138",
        "brandName": "Sam & Libby Girls",
        "productName": "Aideen (Youth)",
        "defaultProductUrl": "http://www.zappos.com/product/7564933",
        "defaultImageUrl": "http://www.zappos.com/images/z/9/6/8/968186-p-DETAILED.jpg"
    }
]
}

Multiple Product Response

Note, there is a 10 product maximum in this call.

{
"statusCode": "200",
"product": [
    {
        "productId": "7564933",
        "brandId": "138",
        "brandName": "Sam & Libby Girls",
        "productName": "Aideen (Youth)",
        "defaultProductUrl": "http://www.zappos.com/product/7564933",
        "defaultImageUrl": "http://www.zappos.com/images/z/9/6/8/968186-p-DETAILED.jpg"
    },
    {
        "productId": "7590514",
        "brandId": "11",
        "brandName": "ASICS",
        "productName": "GT-2150™",
        "defaultProductUrl": "http://www.zappos.com/product/7590514",
        "defaultImageUrl": "http://www.zappos.com/images/z/1/0/2/1023562-p-DETAILED.jpg"
    }
]
}

Error Response - No product found

The API will return a 404 if the passed in product is not found.

{
   "statusCode": "404",
   "error": "Resource not found for id: 123"
}

Error Response - Partial products found

The API will return a 207 if just some of the products being queried are found.

e.g. http://api.zappos.com/Product?id=["7564933","123"]

{
"statusCode": "207",
"error": "Resource not found for ids:123",
"product": [
    {
        "productId": "7564933",
        "brandId": "138",
        "brandName": "Sam & Libby Girls",
        "productName": "Aideen (Youth)",
        "defaultProductUrl": "http://www.zappos.com/product/7564933",
        "defaultImageUrl": "http://www.zappos.com/images/z/9/6/8/968186-p-DETAILED.jpg"
    }
]
}

UPC & Stock Id Lookup

In our 2.0 release, we added support for looking up products by the UPC code or a stockId. UPC's will allow for nifty bar-code product lookups. Our search API already supports UPCs as the search term.

  • /Product?upc=["613859178419","604993700970"]
  • /Product?upc=604993700970
  • /Product?stockId=["10052110","10052111"]
  • /Product?stockId=10052111

Styles

  • You can return all the styles associated for a product
  • A style is a specific variation of a product (check out an example here: here)

/Product/7564933?includes=["styles"]

Response:

{
"statusCode": "200",
"product": [
    {
        "productId": "7151832",
        "brandId": "258",
        "brandName": "Thorlos",
        "productName": "Hiking Wool\/Thorlon Crew 6-Pair Pack",
        "defaultProductUrl": "http://www.zappos.com/product/7151832",
        "defaultImageUrl": "http://www.zappos.com/images/z/1/1/4/114116-p-DETAILED.jpg",
        "styles": [
            {
                "styleId": "114116",
                "color": "Dark Blue\/Grey",
                "originalPrice": "$84.00",
                "price": "$84.00",
                "productUrl": "http://www.zappos.com/product/7151832/color/29103",
                "imageUrl": "http://www.zappos.com/images/z/1/1/4/114116-p-DETAILED.jpg"
            },
            {
                "styleId": "114115",
                "color": "Grey\/Black",
                "originalPrice": "$84.00",
                "price": "$84.00",
                "productUrl": "http://www.zappos.com/product/7151832/color/408",
                "imageUrl": "http://www.zappos.com/images/z/1/1/4/114115-p-DETAILED.jpg"
            }
        ]
    }
  ]
}

Specific Style Lookups

You can also query to just get a specific style's data:

  • /Product/styleId/<STYLE_ID>?includes=["styles"]
  • /Product?styleId=["STYLE_ID1","STYLE_ID2"]?includes=["styles"]

Color Lookup

You can also query with a specific color. NOTE Color ids are not the same as style ids:

/Product/id/<SKU>:<COLOR_ID>?includes=["styles","colorId"]

/Product/id/7650738:239377?includes=["styles","colorId"]

Includes

Not all product data is returned with each call. The bold fields below are returned by default. Any other field can be returned by using the "includes" syntax

  • Product
    • productId
    • brandName
    • productName
    • defaultProductUrl
    • defaultPrettyProductUrl
    • defaultImageUrl
    • productType - deprecated - use defaultProductType.
    • description
    • gender
    • weight
    • videos
      • id
      • filename
      • productId
      • uploadedDate
      • videoEncodingId
      • videoEncodingExtension
    • videoFileName
    • videoUrl
    • videoUploadedDate
    • sizeFit
    • widthFit
    • archFit
    • productRating - The rolled up star rating for the product (a number out of 5)
    • overallRating - a collection of rating values - It gives the % of 1, 2, 3, 4, or 5 star reviews it had for "overall" in user reviews
    • comfortRating - similar to overall but specific for comfort
    • lookRating - similar to overall but specific for look
    • styles
      • styleId
      • color
      • originalPrice
      • price
      • productUrl
      • prettyProductUrl
      • imageUrl
      • thumbnailImageUrl
      • goLiveDate
      • productId
      • onSale
      • isNew
      • colorId
      • stocks
        • stockId
        • size
        • width
        • onHand
        • sizeId
        • widthId
        • upc
    • sortedSizes - sorted list of all the sizes (union of all the styles)
    • sortedWidths - sorted list of all the widths (union of all the styles)
    • isNew
    • measurements
    • defaultProductType - NOTE: use this instead of old deprecated productType value.
    • defaultCategory
    • defaultSubCategory
    • attributeFacetFields - This is pretty bad ass and long overdue. We will return extra meta data for each product. You can then use some of these values to do an extra filter on search calls to get similar items

NOTE: 3/7/2011 - We noticed that the value returned in the productType field is returning our old productTypes. We'll be fixing this in an upcoming release so expect these values to change

/Product/7151832?includes=["gender","styles","stocks","attributeFacetFields"]

Result:

{
 "statusCode": "200",
 "product": [
    {
        "productId": "7151832",
        "brandId": "258",
        "brandName": "Thorlos",
        "productName": "Hiking Wool\/Thorlon Crew 6-Pair Pack",
        "defaultProductUrl": "http://www.zappos.com/product/7151832",
        "defaultImageUrl": "http://www.zappos.com/images/z/1/1/4/114116-p-DETAILED.jpg",
        "gender": "Unisex",
        "styles": [
            {
                "styleId": "114116",
                "color": "Dark Blue\/Grey",
                "originalPrice": "$84.00",
                "price": "$84.00",
                "productUrl": "http://www.zappos.com/product/7151832/color/29103",
                "imageUrl": "http://www.zappos.com/images/z/1/1/4/114116-p-DETAILED.jpg",
                "stocks": [
                    {
                        "stockId": "11516624",
                        "size": "11 (Men's 5.5-8.5, Women's 6.5-10)",
                        "width": "One Size",
                        "onHand": "5"
                    },
                    {
                        "stockId": "11516625",
                        "size": "13 (Men's 9-12.5, Women's 10.5-13)",
                        "width": "One Size",
                        "onHand": "4"
                    }
                ]
            },
            {
                "styleId": "114115",
                "color": "Grey\/Black",
                "originalPrice": "$84.00",
                "price": "$84.00",
                "productUrl": "http://www.zappos.com/product/7151832/color/408",
                "imageUrl": "http://www.zappos.com/images/z/1/1/4/114115-p-DETAILED.jpg",
                "stocks": [
                    {
                        "stockId": "11516621",
                        "size": "11 (Men's 5.5-8.5, Women's 6.5-10)",
                        "width": "One Size",
                        "onHand": "31"
                    },
                    {
                        "stockId": "11516622",
                        "size": "13 (Men's 9-12.5, Women's 10.5-13)",
                        "width": "One Size",
                        "onHand": "10"
                    }
                ]
            }
        ],
        "attributeFacetFields": {
            "txAttrFacet_SockStyles": "Midweight Socks",
            "txAttrFacet_Materials": "Wool",
            "txAttrFacet_Verticals": "Comfort",
            "txAttrFacet_Occasion": "Athletic",
            "txAttrFacet_Performance": "Walking",
            "txAttrFacet_Personality": "Comfort",
            "txAttrFacet_Features": "Moisture Wicking",
            "txAttrFacet_Gender": "Women",
            "txAttrFacet_SockLengths": "Crew Cut Socks"
        }
    }
  ]
}

Measurements

New as of our 2.2 release, we now expose some normalized measurement data! You may have seen in the past that we manually put some measurement data in the description. However, we're now all grown up and making a big push to have our measurement data in normalized fields. This will make things like building product comparison applications much easier and more useful.

The "types" of measurements returned vary depending on the product type. e.g. pants & shorts will have leg openings, inseam, etc. Shoes can have heel height, platform height, etc. We're still in the process of trying to make sure this data is populated as richly as possible; however, you should code to expect occasional null results.

Measurement data in this structure is based on a given size. For example, in the one below, you can see from the description that the measurements provided are based on a size 34. This is the stock id referenced in "measuredStockId".

/Product/id/7867997?includes=["measurements","description"]

Result:

{
 "product":[
  {
         description: "<ul> <li>Strut down the boardwalk in this classic Matix&trade; boardshort.</li> <li>Adjustable tie closure at waist.</li> <li>Oversize logo applique at left hip.</li> <li>Solid design.</li> <li>Contrast stitching throughout.</li> <li>Side zip pocket at right leg.</li> <li>86% nylon, 14% elastane.</li> <li>Machine wash cold, tumble dry low.</li> <li>Waist Measurement: 36 in</li> <li>Outseam: 21 in</li> <li>Inseam: 10 in</li> <li>Front Rise: 13 in</li> <li>Back Rise: 17 in</li> <li>Leg Opening: 23 in</li> <li>Product measurements were taken using size 34. Please note that measurements may vary by size.</li> <li><a href="/c/measurements" target="_blank">View This Model's Measurements</a></li> </ul>"
         brandId: "1393"
         brandName: "Matix Clothing Company"
         productId: "7867997"
         measurements: [
                      {
                                   name: "Waist Measurement"
                                   value: "36.0000"
                                   unit: "in"
                                   measuredStockId: "20724373"
                      }
                      {
                                   name: "Outseam"
                                   value: "21.0000"
                                   unit: "in"
                                   measuredStockId: "20724373"
                      }
                      {
                                   name: "Inseam"
                                   value: "10.0000"
                                   unit: "in"
                                   measuredStockId: "20724373"
                      }
                      {
                                   name: "Front Rise"
                                   value: "13.0000"
                                   unit: "in"
                                   measuredStockId: "20724373"
                      }
                      {
                                   name: "Back Rise"
                                   value: "17.0000"
                                   unit: "in"
                                   measuredStockId: "20724373"
                      }
                      {
                                   name: "Leg Opening"
                                   value: "23.0000"
                                   unit: "in"
                                   measuredStockId: "20724373"
                      }
                      {
                                   name: "Convertible Inseam"
                                   value: null
                                   unit: "in"
                                   measuredStockId: "20724373"
                      }
         ]             
         productName: "Madness Boardshorts"
         defaultProductUrl: "http://www.zappos.com/product/7867997"
         defaultImageUrl: "http://www.zappos.com/images/z/1/6/4/1646249-p-DETAILED.jpg"
         }     ],
 "statusCode":"200"
}

Alternate Dimensions NEW

Ever wonder how to compare a European 45 to a Women's 4 to a Children's Large? Have no fear, Alternate Dimensions are here to help. As of release 2.6, by including "alternateDimensions" along with "styles" and "stocks" in the includes paramter, you will receive an array of equivalent sizes to that of each stock item in the results. Don't believe me? Check it out!

GET _/Product/stockId/10042176?key=&includes=["stocks","styles","alternateDimensions"]

Result

{
"product": [
    {
        "brandId": "69",
        "brandName": "Frye",
        "productId": "7167142",
        "styles": [
            {
                "imageUrl": "http://www.zappos.com/images/716/7167142/7769-2132-d.jpg",
                "styleId": "2132",
                "productUrl": "http://www.zappos.com/product/7167142/color/72",
                "percentOff": "0%",
                "price": "$218.00",
                "originalPrice": "$218.00",
                "color": "Black Leather",
                "stocks": [
                    {
                        "size": "8",
                        "stockId": "10042176",
                        "onHand": "1",
                        "width": "D - Medium",
                        "alternateDimensions": {
                            "hc_women_size": [
                                "9"
                            ],
                            "hc_women_width": [
                                "W",
                                "D"
                            ],
                            "hc_men_size": [
                                "8"
                            ],
                            "hc_men_width": [
                                "M",
                                "D"
                            ],
                            "hc_youth_size": [
                                "8"
                            ]
                        }
                    }
                ]
            }
        ],
        "productName": "Engineer 12 R",
        "defaultProductUrl": "http://www.zappos.com/product/7167142",
        "defaultImageUrl": "http://www.zappos.com/images/716/7167142/7769-2132-d.jpg"
    }
],
"statusCode": "200"

}

Drupal theme by Kiwi Themes.