Fetch the complete documentation index at: https://docs.tcgplayer.com/llms.txt. Use this file to discover all available pages before exploring further.

# List Related Products

Returns other products that are commonly found in the same orders as the specified
anchor product.

A common use for this endpoint is to return a list of suggested products. An example of this in action is the banner underneath "Customers also purchased" on an individual product detail page on the TCGplayer website.

[block:code]
{
  "codes": [
    {
      "code": "{\n  \"totalItems\": 0,\n  \"success\": true,\n  \"errors\": [\n    \"string\"\n  ],\n  \"results\": [\n    {\n      \"cardId\": 0,\n      \"setName\": \"string\",\n      \"cleanSetName\": \"string\",\n      \"productName\": \"string\",\n      \"purchasedProductName\": \"string\",\n      \"purchasedProductCleanName\": \"string\",\n      \"purchasedCount\": 0,\n      \"lowestPrice\": 0,\n      \"purchasedStoreProductId\": 0,\n      \"addedDt\": \"2017-11-21T00:47:27.418Z\",\n      \"usesCdn\": true\n    }\n  ]\n}",
      "language": "json",
      "name": "Response Template"
    },
    {
      "code": "/catalog/products/152944/productsalsopurchased\n\n{\n    \"totalItems\": 20,\n    \"success\": true,\n    \"errors\": [],\n    \"results\": [\n        {\n            \"cardId\": 91144,\n            \"setName\": \"XY - Flashfire\",\n            \"cleanSetName\": \"XY Flashfire\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Charizard EX (11)\",\n            \"purchasedProductCleanName\": \"Charizard EX 11\",\n            \"purchasedCount\": 3064,\n            \"lowestPrice\": 0.99,\n            \"purchasedStoreProductId\": 91144,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 183785,\n            \"setName\": \"SM - Team Up\",\n            \"cleanSetName\": \"SM Team Up\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Charizard\",\n            \"purchasedProductCleanName\": \"Charizard\",\n            \"purchasedCount\": 2917,\n            \"lowestPrice\": 0.5,\n            \"purchasedStoreProductId\": 183785,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 96392,\n            \"setName\": \"XY Promos\",\n            \"cleanSetName\": \"XY Promos\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Charizard EX - XY29\",\n            \"purchasedProductCleanName\": \"Charizard EX XY29\",\n            \"purchasedCount\": 2466,\n            \"lowestPrice\": 1.4,\n            \"purchasedStoreProductId\": 96392,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 117267,\n            \"setName\": \"XY Promos\",\n            \"cleanSetName\": \"XY Promos\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Charizard EX - XY121\",\n            \"purchasedProductCleanName\": \"Charizard EX XY121\",\n            \"purchasedCount\": 2254,\n            \"lowestPrice\": 2.71,\n            \"purchasedStoreProductId\": 117267,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 123456,\n            \"setName\": \"Deck Exclusives\",\n            \"cleanSetName\": \"Deck Exclusives\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Blastoise (BW Boundaries Crossed)\",\n            \"purchasedProductCleanName\": \"Blastoise BW Boundaries Crossed\",\n            \"purchasedCount\": 1720,\n            \"lowestPrice\": 0.99,\n            \"purchasedStoreProductId\": 123456,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 96379,\n            \"setName\": \"XY Promos\",\n            \"cleanSetName\": \"XY Promos\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Charizard EX - XY17\",\n            \"purchasedProductCleanName\": \"Charizard EX XY17\",\n            \"purchasedCount\": 1688,\n            \"lowestPrice\": 1.44,\n            \"purchasedStoreProductId\": 96379,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 126899,\n            \"setName\": \"SM Base Set\",\n            \"cleanSetName\": \"SM Base Set\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Psyduck\",\n            \"purchasedProductCleanName\": \"Psyduck\",\n            \"purchasedCount\": 1618,\n            \"lowestPrice\": 0.05,\n            \"purchasedStoreProductId\": 126899,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 124014,\n            \"setName\": \"XY - Evolutions\",\n            \"cleanSetName\": \"XY Evolutions\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Venusaur EX\",\n            \"purchasedProductCleanName\": \"Venusaur EX\",\n            \"purchasedCount\": 1538,\n            \"lowestPrice\": 0.5,\n            \"purchasedStoreProductId\": 124014,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 91145,\n            \"setName\": \"XY - Flashfire\",\n            \"cleanSetName\": \"XY Flashfire\",\n            \"productName\": \"Charizard ex\",\n            \"purchasedProductName\": \"Charizard EX (12)\",\n            \"purchasedProductCleanName\": \"Charizard EX 12\",\n            \"purchasedCount\": 1485,\n            \"lowestPrice\": 1,\n            \"purchasedStoreProductId\": 91145,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 124034,\n            \"setName\": \"XY - Evolutions\",\n            \"cleanSetName\": \"XY Evolutions\",\n            \"productName\": \"Charizard EX\",\n            \"purchasedProductName\": \"Blastoise EX\",\n            \"purchasedProductCleanName\": \"Blastoise EX\",\n            \"purchasedCount\": 1271,\n            \"lowestPrice\": 0.99,\n            \"purchasedStoreProductId\": 124034,\n            \"addedDt\": \"2019-03-03T06:57:11.137\",\n            \"usesCdn\": true\n        }\n    ]\n}",
      "language": "json",
      "name": "Example Response #1"
    },
    {
      "code": "/catalog/products/15230/productsalsopurchased\n\n{\n    \"totalItems\": 86,\n    \"success\": true,\n    \"errors\": [],\n    \"results\": [\n        {\n            \"cardId\": 24921,\n            \"setName\": \"Commander 2013\",\n            \"cleanSetName\": \"Commander 2013\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Drumhunter\",\n            \"purchasedProductCleanName\": \"Drumhunter\",\n            \"purchasedCount\": 262,\n            \"lowestPrice\": 0.15,\n            \"purchasedStoreProductId\": 72100,\n            \"addedDt\": \"2018-04-29T06:46:58.523\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 24557,\n            \"setName\": \"Theros\",\n            \"cleanSetName\": \"Theros\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Forest (247)\",\n            \"purchasedProductCleanName\": \"Forest 247\",\n            \"purchasedCount\": 204,\n            \"lowestPrice\": 0.06,\n            \"purchasedStoreProductId\": 71204,\n            \"addedDt\": \"2017-09-03T07:19:46.37\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 30961,\n            \"setName\": \"Commander 2015\",\n            \"cleanSetName\": \"Commander 2015\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Rampant Growth\",\n            \"purchasedProductCleanName\": \"Rampant Growth\",\n            \"purchasedCount\": 146,\n            \"lowestPrice\": 0.1,\n            \"purchasedStoreProductId\": 108020,\n            \"addedDt\": \"2017-09-03T07:19:46.37\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 22477,\n            \"setName\": \"Avacyn Restored\",\n            \"cleanSetName\": \"Avacyn Restored\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Borderland Ranger\",\n            \"purchasedProductCleanName\": \"Borderland Ranger\",\n            \"purchasedCount\": 120,\n            \"lowestPrice\": 0.01,\n            \"purchasedStoreProductId\": 58961,\n            \"addedDt\": \"2018-04-29T06:46:58.523\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 24145,\n            \"setName\": \"Magic 2014 (M14)\",\n            \"cleanSetName\": \"Magic 2014 M14\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Fog\",\n            \"purchasedProductCleanName\": \"Fog\",\n            \"purchasedCount\": 115,\n            \"lowestPrice\": 0.02,\n            \"purchasedStoreProductId\": 69151,\n            \"addedDt\": \"2017-09-03T07:19:46.37\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 12837,\n            \"setName\": \"9th Edition\",\n            \"cleanSetName\": \"9th Edition\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Stream of Life\",\n            \"purchasedProductCleanName\": \"Stream of Life\",\n            \"purchasedCount\": 113,\n            \"lowestPrice\": 0.09,\n            \"purchasedStoreProductId\": 12837,\n            \"addedDt\": \"2017-09-03T07:19:46.37\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 33820,\n            \"setName\": \"Eldritch Moon\",\n            \"cleanSetName\": \"Eldritch Moon\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Woodland Patrol\",\n            \"purchasedProductCleanName\": \"Woodland Patrol\",\n            \"purchasedCount\": 108,\n            \"lowestPrice\": 0.01,\n            \"purchasedStoreProductId\": 120558,\n            \"addedDt\": \"2018-04-29T06:46:58.523\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 27584,\n            \"setName\": \"Khans of Tarkir\",\n            \"cleanSetName\": \"Khans of Tarkir\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Naturalize\",\n            \"purchasedProductCleanName\": \"Naturalize\",\n            \"purchasedCount\": 106,\n            \"lowestPrice\": 0.01,\n            \"purchasedStoreProductId\": 93285,\n            \"addedDt\": \"2017-09-03T07:19:46.37\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 24255,\n            \"setName\": \"Magic 2014 (M14)\",\n            \"cleanSetName\": \"Magic 2014 M14\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Forest (246)\",\n            \"purchasedProductCleanName\": \"Forest 246\",\n            \"purchasedCount\": 86,\n            \"lowestPrice\": 0.04,\n            \"purchasedStoreProductId\": 69918,\n            \"addedDt\": \"2017-09-03T07:19:46.37\",\n            \"usesCdn\": true\n        },\n        {\n            \"cardId\": 34077,\n            \"setName\": \"Conspiracy: Take the Crown\",\n            \"cleanSetName\": \"Conspiracy Take the Crown\",\n            \"productName\": \"Natural Spring\",\n            \"purchasedProductName\": \"Overrun\",\n            \"purchasedProductCleanName\": \"Overrun\",\n            \"purchasedCount\": 86,\n            \"lowestPrice\": 0.07,\n            \"purchasedStoreProductId\": 121882,\n            \"addedDt\": \"2017-09-03T07:19:46.37\",\n            \"usesCdn\": true\n        }\n    ]\n}",
      "language": "json",
      "name": "Example Response #2"
    }
  ]
}
[/block]

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "v1.39.0",
    "title": "TcgApi"
  },
  "paths": {
    "/catalog/products/{productId}/productsalsopurchased": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "summary": "List Related Products",
        "description": "Returns other products that are commonly found in the same orders as the specified\r\nanchor product.",
        "operationId": "Catalog_GetProductsAlsoPurchasedByProductId",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The Id of the anchor product.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "If specified, the maximum number of related products to be returned. Default is 10.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Used for paging. The number of categories to skip. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Anchor product found and related products returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TcgApiModel.Common.PagedApiResult_TcgApiModel.Catalog.ProductsAlsoPurchased_"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TcgApiModel.Common.PagedApiResult_TcgApiModel.Catalog.ProductsAlsoPurchased_"
                }
              }
            }
          },
          "400": {
            "description": "ProductId is less than or equal to 0, offset is less than 0, or limit is less than\r\nor equal to 0."
          },
          "404": {
            "description": "Anchor product not found."
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.tcgplayer.com"
    }
  ],
  "components": {
    "schemas": {
      "TcgApiModel.Catalog.ProductsAlsoPurchased": {
        "type": "object",
        "properties": {
          "cardId": {
            "format": "int64",
            "type": "integer"
          },
          "setName": {
            "type": "string"
          },
          "cleanSetName": {
            "type": "string"
          },
          "productName": {
            "type": "string"
          },
          "purchasedProductName": {
            "type": "string"
          },
          "purchasedProductCleanName": {
            "type": "string"
          },
          "purchasedCount": {
            "format": "int32",
            "type": "integer"
          },
          "lowestPrice": {
            "format": "double",
            "type": "number"
          },
          "purchasedStoreProductId": {
            "format": "int64",
            "type": "integer"
          },
          "addedDt": {
            "format": "date-time",
            "type": "string"
          },
          "usesCdn": {
            "type": "boolean"
          }
        }
      },
      "TcgApiModel.Common.PagedApiResult_TcgApiModel.Catalog.ProductsAlsoPurchased_": {
        "type": "object",
        "properties": {
          "totalItems": {
            "format": "int32",
            "type": "integer"
          },
          "success": {
            "type": "boolean"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TcgApiModel.Catalog.ProductsAlsoPurchased"
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "_id": {
    "buffer": {
      "0": 94,
      "1": 217,
      "2": 152,
      "3": 86,
      "4": 78,
      "5": 118,
      "6": 200,
      "7": 0,
      "8": 17,
      "9": 105,
      "10": 157,
      "11": 192
    }
  }
}
```