Product API reference

You can make a GET request for the information of any product using the Ajax Product API.

GET /products/{product-handle}.js

Get the JSON of a product using the product handle.

All monetary properties are returned in the customer's presentment currency. To check the customer's presentment currency, you can use the currency field of the /cart.js endpoint. To learn more about selling in multiple currencies, see Migrating to support multiple currencies.

Example coding using jQuery:

jQuery.getJSON('/products/red-rain-coat.js', function(product) {
  alert('The title of this product is ' + product.title);
} );

Response

The JSON of the product.

Example:

{
  "id": 329678821,
  "title": "Red Rain Coat",
  "handle": "red-rain-coat",
  "description": "<p>Lorem Ipsum.</p>",
  "published_at": "2014-06-12T16:28:11-04:00",
  "created_at": "2014-06-12T16:28:13-04:00",
  "vendor": "Shopify",
  "type": "Coat",
  "tags": [
    "Spring"
  ],
  "price": 12900,
  "price_min": 12900,
  "price_max": 12900,
  "available": true,
  "price_varies": false,
  "compare_at_price": null,
  "compare_at_price_min": 0,
  "compare_at_price_max": 0,
  "compare_at_price_varies": false,
  "variants": [
    {
      "id": 794864229,
      "title": "Small",
      "options": [
        "Small"
      ],
      "option1": "Small",
      "option2": null,
      "option3": null,
      "price": 12900,
      "weight": 0,
      "compare_at_price": null,
      "inventory_management": "shopify",
      "available": true,
      "sku": null,
      "requires_shipping": true,
      "taxable": true,
      "barcode": "49738645"
    },
    {
      "id": 794864233,
      "title": "Medium",
      "options": [
        "Medium"
      ],
      "option1": "Medium",
      "option2": null,
      "option3": null,
      "price": 12900,
      "weight": 0,
      "compare_at_price": null,
      "inventory_management": "shopify",
      "available": true,
      "sku": null,
      "requires_shipping": true,
      "taxable": true,
      "barcode": "49738657"
    },
    {
      "id": 794864237,
      "title": "Large",
      "options": [
        "Large"
      ],
      "option1": "Large",
      "option2": null,
      "option3": null,
      "price": 12900,
      "weight": 0,
      "compare_at_price": null,
      "inventory_management": "shopify",
      "available": true,
      "sku": null,
      "requires_shipping": true,
      "taxable": true,
      "barcode": "49738673"
    }
  ],
  "images": [
    "//cdn.shopify.com/s/files/1/0040/7092/products/red-rain-coat.jpeg?v=1402604893"
  ],
  "featured_image": "//cdn.shopify.com/s/files/1/0040/7092/products/red-rain-coat.jpeg?v=1402604893",
  "options": [
    {
      "name": "Size",
      "position": 1
    }
  ],
  "url": "/products/red-rain-coat"
}

Selling plan example

Products with selling plans will have the following additional properties available at /products/<handle>.js.

{
 "id":5290511958181,
 // ...
 "variants":[
    {
       "id":34620489400485,
       // ...
       "requires_selling_plan":false,
       "selling_plan_allocations":[
          {
             "price":3120,
             "compare_at_price":3900,
             "per_delivery_price":3120,
             "selling_plan_id":360613,
             "selling_plan_group_id":14699254537353206000
          },
          {
             "price":3510,
             "compare_at_price":3900,
             "per_delivery_price":3510,
             "selling_plan_id":393381,
             "selling_plan_group_id":14699254537353206000
          }
       ]
    }
 ],
 "requires_selling_plan":false,
 "selling_plan_groups":[
    {
       "id":14699254537353206000,
       "name":"Subscribe and Save",
       "options":[
          {
             "name":"Delivery Frequency",
             "position":1,
             "values":[
                "Month",
                "Week"
             ]
          },
          {
             "name":"Billing Frequency",
             "position":2,
             "values":[
                "Month",
                "Week"
             ]
          }
       ],
       "selling_plans":[
          {
             "id":360613,
             "name":"Pay every month, delivery every month | save 20%",
             "description":"No commitment · Auto-renews · Skip or cancel anytime",
             "options":[
                {
                   "name":"Delivery Frequency",
                   "position":1,
                   "value":"Month"
                },
                {
                   "name":"Billing Frequency",
                   "position":2,
                   "value":"Month"
                }
             ],
             "recurring_deliveries":true
          },
          {