Skip to main content
This section documents the shopping cards data returned by the Perplexity endpoint. Shopping cards are part of the Perplexity response, so no separate API call is needed.

Example request

Shopping cards are intent-detected by Perplexity. Send a prompt that expresses shopping intent (for example, asking for product recommendations or where to buy). No flag is required.
{
  "prompt": "best running shoes under $150",
  "country": "US"
}
This produces a response containing the shopping_cards array documented below.

Overview

Perplexity automatically detects shopping-intent queries and returns structured shopping cards with product listings, pricing, ratings, and offers.

Shopping card structure

FieldTypeDescription
result.shopping_cardsarrayShopping product cards with detailed product information
Each shopping card contains:
FieldTypeDescription
productsarrayArray of product objects
tagsarrayOptional category tags

Product structure

Each product object includes:
FieldTypeAlways presentDescription
titlestringYesProduct name
idstringYesProduct identifier
urlstringYesProduct page URL
pricestringYesCurrent price (e.g., "$140.00")
merchantstringYesMerchant name
availablebooleanYesWhether the product is currently available
imageUrlsarrayYesProduct image URLs
numReviewsnumberYesNumber of reviews (0 when none)
offersarrayYesShopping offers from individual merchants — see offers
positionintegerSometimes1-indexed rank across all products in all shopping cards in the response (flat, not reset per card).
ratingnumberSometimesProduct rating (0-5)
original_pricestringSometimesOriginal price before discount
descriptionstringSometimesProduct description
variantsarraySometimesProduct variants (size, color, etc.)

Offer structure

Each entry in offers represents a single merchant listing for the product:
FieldTypeAlways presentDescription
urlstringYesOffer URL with Perplexity referral parameters
pricestringYesOffer price (e.g., "$140.00")
merchant_namestringYesMerchant name
product_namestringYesProduct name as listed by the merchant
availablebooleanYesWhether the offer is in stock
price_detailsobjectYesDetailed price breakdown (currently { display_price })
original_pricestringSometimesOriginal price before discount (null when not on sale)

Response example

{
  "success": true,
  "result": {
    "text": "Here are several running shoes under $150...",
    "shopping_cards": [
      {
        "tags": ["running", "athletic"],
        "products": [
          {
            "title": "Nike Pegasus 41",
            "position": 1,
            "url": "https://www.nike.com/t/pegasus-41",
            "description": "Responsive cushioning for daily training runs.",
            "price": "$140.00",
            "original_price": null,
            "rating": 4.6,
            "numReviews": 1284,
            "imageUrls": [
              "https://static.nike.com/pegasus-41.jpg"
            ],
            "merchant": "Nike",
            "available": true,
            "id": "nike-pegasus-41",
            "variants": [],
            "offers": [
              {
                "url": "https://www.nike.com/t/pegasus-41?utm_source=Perplexity&utm_medium=referral",
                "price": "$140.00",
                "available": true,
                "product_name": "Nike Pegasus 41 Running Shoes",
                "merchant_name": "Nike",
                "original_price": null,
                "price_details": {
                  "display_price": "$140.00"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}