Quick Start

Get up and running with the CTCGX API in just a few minutes.

Prerequisites

  • A CTCGX seller account with an active store
  • An API key from your store dashboard (Settings → API Keys)
1

Create a Test API Key

Go to your store dashboard, navigate to Settings → API Keys, and create a new key with inventory:write and products:read permissions. Select Test mode for safe testing.

2

Look Up a Product

Use the product lookup endpoint to find a CTCGX product by its external ID (e.g., TCGPlayer ID or Scryfall ID):

curl "https://api.ctcgx.com/api/v1/products/lookup?source=tcgplayer&externalId=12345" \
  -H "Authorization: Bearer ctcgx_sk_test_xxxx"

Response:

{
  "id": "clxxx...",
  "name": "Black Lotus",
  "setName": "Alpha",
  "gameType": "magic",
  "cardNumber": "232",
  "rarity": "Rare",
  "imageUrl": "https://..."
}
3

Add a Listing

Now add a listing to your inventory using the product's CTCGX ID or external ID:

curl -X POST "https://api.ctcgx.com/api/v1/inventory" \
  -H "Authorization: Bearer ctcgx_sk_test_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {
        "tcgplayerId": "12345",
        "quantity": 4,
        "price": 599,
        "condition": "NM",
        "finish": "nonfoil"
      }
    ]
  }'
4

Verify Your Listing

Retrieve your inventory to verify the listing was created:

curl "https://api.ctcgx.com/api/v1/inventory" \
  -H "Authorization: Bearer ctcgx_sk_test_xxxx"

You should see your new listing in the response. Since you used a test key, the listing will have isTestData: true and won't be visible to customers.

5

Go Live

When you're ready to create real listings:

  1. Create a new API key with Live mode
  2. Update your integration to use the live key
  3. Run a full inventory sync to publish your catalog
curl -X POST "https://api.ctcgx.com/api/v1/inventory/sync" \
  -H "Authorization: Bearer ctcgx_sk_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "overwrite",
    "items": [
      { "tcgplayerId": "12345", "quantity": 4, "price": 599, "condition": "NM" },
      { "tcgplayerId": "67890", "quantity": 2, "price": 1299, "condition": "LP" }
    ]
  }'

API Playground

Select an endpoint from the documentation to try it out here.