> ## Documentation Index
> Fetch the complete documentation index at: https://cloro.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopping cards

> Schema for shopping product cards returned by the Perplexity endpoint when shopping intent is detected, including titles, prices, ratings, and merchant links.

This section documents the **shopping cards** data returned by the [Perplexity endpoint](/api-reference/endpoint/monitor-perplexity). 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.

```json theme={null}
{
  "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

| Field                   | Type  | Description                                              |
| ----------------------- | ----- | -------------------------------------------------------- |
| `result.shopping_cards` | array | Shopping product cards with detailed product information |

Each shopping card contains:

| Field      | Type  | Description              |
| ---------- | ----- | ------------------------ |
| `products` | array | Array of product objects |
| `tags`     | array | Optional category tags   |

## Product structure

Each product object includes:

| Field            | Type    | Always present | Description                                                                                          |
| ---------------- | ------- | -------------- | ---------------------------------------------------------------------------------------------------- |
| `title`          | string  | Yes            | Product name                                                                                         |
| `id`             | string  | Yes            | Product identifier                                                                                   |
| `url`            | string  | Yes            | Product page URL                                                                                     |
| `price`          | string  | Yes            | Current price (e.g., `"$140.00"`)                                                                    |
| `merchant`       | string  | Yes            | Merchant name                                                                                        |
| `available`      | boolean | Yes            | Whether the product is currently available                                                           |
| `imageUrls`      | array   | Yes            | Product image URLs                                                                                   |
| `numReviews`     | number  | Yes            | Number of reviews (`0` when none)                                                                    |
| `offers`         | array   | Yes            | Shopping offers from individual merchants — see [offers](#offer-structure)                           |
| `position`       | integer | Sometimes      | 1-indexed rank across all products in all shopping cards in the response (flat, not reset per card). |
| `rating`         | number  | Sometimes      | Product rating (0-5)                                                                                 |
| `original_price` | string  | Sometimes      | Original price before discount                                                                       |
| `description`    | string  | Sometimes      | Product description                                                                                  |
| `variants`       | array   | Sometimes      | Product variants (size, color, etc.)                                                                 |

## Offer structure

Each entry in `offers` represents a single merchant listing for the product:

| Field            | Type    | Always present | Description                                              |
| ---------------- | ------- | -------------- | -------------------------------------------------------- |
| `url`            | string  | Yes            | Offer URL with Perplexity referral parameters            |
| `price`          | string  | Yes            | Offer price (e.g., `"$140.00"`)                          |
| `merchant_name`  | string  | Yes            | Merchant name                                            |
| `product_name`   | string  | Yes            | Product name as listed by the merchant                   |
| `available`      | boolean | Yes            | Whether the offer is in stock                            |
| `price_details`  | object  | Yes            | Detailed price breakdown (currently `{ display_price }`) |
| `original_price` | string  | Sometimes      | Original price before discount (`null` when not on sale) |

## Response example

```json theme={null}
{
  "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"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}
```
