API v2

API Documentation

Complete technical reference for the Pokemon Price Tracker API. Access 23,000+ cards with real-time prices, PSA data, and historical trends.

Base URL:https://www.pokemonpricetracker.com/api/v2

Overview

The Pokemon Price Tracker API provides programmatic access to our comprehensive database of Pokemon card data, including real-time market prices, historical price trends, and PSA grading information.

23,000+
Cards Available
Daily
Price Updates
90 Days
Price History

Response Format

All API responses are returned in JSON format with the following structure:

{
  "data": [...],           // Array of results
  "metadata": {
    "total": 100,          // Total matching results
    "offset": 0,           // Current offset
    "limit": 50,           // Results per page
    "hasMore": true        // More results available
  }
}

Quick Start

Get up and running with the API in 3 simple steps.

1

Get your API key

Sign up for a free account and generate your API key from the dashboard.

2

Make your first request

Include your API key in the Authorization header.

curl -X GET \
  "https://www.pokemonpricetracker.com/api/v2/sets" \
  -H "Authorization: Bearer YOUR_API_KEY"
3

Explore the data

Use the endpoints below to access cards, sets, sealed products, and more.

Authentication

How to authenticate with the Pokémon card price API using your API key

All API requests to the PokéPrice Tracker API require authentication with an API key to access Pokémon card data. API keys are used to secure your requests and track your usage limits.

You can manage your API keys in the API Keys Dashboard section of your PokéPrice Tracker account.

Authentication Method

Headers
Include your API key in the Authorization header
# Include your API key in the Authorization header
curl -X GET \
  "https://www.pokemonpricetracker.com/api/v2/cards?search=Charizard&includeBoth=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Rate Limits

Pokémon card API request limits and quotas based on your subscription plan

The PokéPrice Tracker API has rate limits to ensure fair usage and system stability. These limits vary based on your subscription plan.

Subscription Plans and Limits

Free

200

requests per day

API (Non-Commercial)

20000

requests per day

Business

200000

requests per day

Important

Per-minute limits: 60 calls/min (Free & API), 200 calls/min (Business)

This per-minute throttling helps prevent abuse and ensures fair usage of the Pokémon card price API for all users.

Rate Limit Headers

Every API response includes headers with your current rate limit status:

X-RateLimit-Daily-Limit:
200
X-RateLimit-Daily-Remaining:
199
X-RateLimit-Daily-Reset:
1621036800
X-RateLimit-Minute-Limit:
60
X-RateLimit-Minute-Remaining:
59
X-RateLimit-Minute-Reset:
1621036860

API Endpoints

Four endpoints provide access to all Pokemon card data, sets, sealed products, and eBay title parsing.

Sets Endpoint

Retrieve Pokemon TCG sets with filtering and sorting capabilities. Pagination is stable and deterministic - results won't have duplicates across pages.

Endpoint

GET /api/v2/sets

Query Parameters

ParameterTypeDescriptionDefault
searchstringSearch sets by name (case-insensitive)-
seriesstringFilter by series name-
sortBystringSort field: name, releaseDate, cardCount, createdAt
Note: When sorting by releaseDate, null values appear last
releaseDate
sortOrderstringSort direction: asc or descdesc
limitnumberMaximum results per page (max: 500)100
offsetnumberNumber of results to skip for pagination0

Example Requests

Get all sets (with pagination):

GET /api/v2/sets?limit=20&offset=0

Search for Scarlet & Violet sets:

GET /api/v2/sets?search=Scarlet

Get sets sorted by name:

GET /api/v2/sets?sortBy=name&sortOrder=asc

Response Format

{
  "data": [
    {
      "id": "507f1f77bcf86cd799439011",
      "tcgPlayerId": "sv-black-bolt",
      "name": "Black Bolt",
      "series": "Scarlet & Violet",
      "releaseDate": "2024-11-08T00:00:00.000Z",
      "cardCount": 150,
      "priceGuideUrl": "https://...",
      "hasPriceGuide": true,
      "noPriceGuideReason": null,
      "imageUrl": "https://...",
      "createdAt": "2025-01-15T10:30:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z"
    },
    {
      "id": "507f1f77bcf86cd799439012",
      "tcgPlayerId": "sv05-temporal-forces",
      "name": "Temporal Forces",
      "series": "Scarlet & Violet",
      "releaseDate": "2024-03-22T00:00:00.000Z",
      "cardCount": 218,
      "priceGuideUrl": "https://...",
      "hasPriceGuide": true,
      "noPriceGuideReason": null,
      "imageUrl": "https://...",
      "createdAt": "2025-01-15T10:30:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z"
    }
    // ... more sets
  ],
  "metadata": {
    "total": 205,
    "count": 20,
    "limit": 20,
    "offset": 0,
    "hasMore": true
  }
}

Cards Endpoint

Retrieve Pokemon cards with advanced filtering, sorting, and optional price history data.

⚠️ Important Rate Limit Information

This endpoint uses a dual rate limiting system:

  • Daily Credits: Each card costs 1 credit (base) + 1 for history + 1 for eBay data
  • Per-Minute Limit: 60 API calls per minute. Bulk operations capped at 30 minute calls
  • Response Limits: Maximum cards per request varies by data type:
    • • 200 cards (base data only)
    • • 100 cards (with history OR eBay data)
    • • 50 cards (with both history AND eBay data)

📊 Rate Limit Calculation

Credit Cost Formula:

cards_returned × (1 + includeHistory + includeEbay)

Minute Call Cost Formula:

Math.ceil(limit / 10), capped at 30

Example: Paginating through a 300-card set

• Request with limit=50: 5 minute calls, 50 credits

• You can make 12 requests per minute (60 ÷ 5)

• Total for 300 cards: 6 requests × 5 = 30 minute calls (~30 seconds)

💡 Tip: You're charged for actual cards returned, not the limit requested. Minute calls are pre-checked based on limit to prevent rate limit exhaustion.

Endpoint

GET /api/v2/cards

Query Parameters

ParameterTypeDescriptionDefault
Filtering Parameters
tcgPlayerIdstringGet specific card by TCGPlayer ID-
cardIdstringAlias for tcgPlayerId-
setIdstringFilter by set using tcgPlayerId (e.g., "sv-black-bolt", "sv05-temporal-forces") or MongoDB ObjectId-
setstringSimple set name search (e.g., "scarlet" finds all Scarlet sets)-
setNamestringLegacy parameter for set name (use set instead)-
searchstringSearch by card name-
raritystringFilter by rarity (e.g., "Rare", "Holo Rare")-
cardTypestringFilter by card type (e.g., "Pokemon", "Trainer")-
artiststringFilter by artist name-
minPricenumberMinimum market price filter-
maxPricenumberMaximum market price filter-
fetchAllInSetbooleanFetch all cards in a set at once (requires setId). Optimized for bulk fetching with reduced minute cost.false
Data Inclusion Parameters
includeHistorybooleanInclude price history datafalse
includeEbaybooleanInclude eBay/PSA graded datafalse
includeBothbooleanShorthand to include BOTH price history AND eBay data (same as includeHistory=true&includeEbay=true)false
daysnumberNumber of days of historical data to include (1-365). Free plan limited to 3 days maximum.30
Sorting & Pagination
sortBystringSort field: name, cardNumber, pricecardNumber
sortOrderstringSort direction: asc or descdesc
limitnumberNumber of cards to return. Maximum varies by data type:
• 200 (base data only)
• 100 (with history OR eBay)
• 50 (with both)
50
offsetnumberNumber of results to skip for pagination0

Example Requests

Get all cards in a set (using tcgPlayerId):

GET /api/v2/cards?setId=sv-black-bolt&limit=50

Get all cards in sets matching "scarlet":

GET /api/v2/cards?set=scarlet&limit=50

Search for Pikachu cards with price history:

GET /api/v2/cards?search=Pikachu&includeHistory=true

Get high-value cards with eBay data:

GET /api/v2/cards?minPrice=50&includeEbay=true&sortBy=price&sortOrder=desc

Get specific card by TCGPlayer ID:

GET /api/v2/cards?tcgPlayerId=490294

Get specific card with full eBay PSA grading data:

GET /api/v2/cards?tcgPlayerId=284137&includeEbay=true&days=90

Get card with variant-specific price history (e.g., Normal vs Reverse Holofoil):

GET /api/v2/cards?tcgPlayerId=542646&includeHistory=true&days=30

More set examples with real tcgPlayerIds:

GET /api/v2/cards?setId=sv05-temporal-forcesGET /api/v2/cards?setId=sv08-surging-sparksGET /api/v2/cards?setId=mcdonalds-promos-2024

Response Format

🎴 Variant Pricing Support

Cards with multiple printing variants (Normal, Reverse Holofoil, Holofoil, 1st Edition, etc.) now include variant-specific pricing in the prices.variants field. This provides detailed pricing for each variant × condition combination (e.g., Near Mint Normal vs Near Mint Reverse Holofoil).

Standard response (without history):

{
  "data": [
    {
      "id": "507f1f77bcf86cd799439011",
      "tcgPlayerId": "490294",
      "setId": "507f1f77bcf86cd799439012",
      "setName": "Scarlet & Violet Base Set",
      "name": "Pikachu",
      "cardNumber": "025",
      "totalSetNumber": "198",
      "rarity": "Common",
      "cardType": "Pokemon",
      "hp": 70,
      "stage": "Basic",
      "attacks": [
        {
          "cost": ["Lightning", "Colorless"],
          "name": "Thunder Shock",
          "damage": "30",
          "text": "Flip a coin. If heads, your opponent's Active Pokémon is now Paralyzed."
        }
      ],
      "weakness": {
        "type": "Fighting",
        "value": "×2"
      },
      "resistance": null,
      "retreatCost": 1,
      "artist": "Mitsuhiro Arita",
      "tcgPlayerUrl": "https://...",
      "prices": {
        "market": 2.50,
        "listings": 153,
        "primaryCondition": "Near Mint",
        "primaryPrinting": "Normal",  // NEW: Which variant the market price represents
        "lastUpdated": "2025-01-15T10:30:00.000Z",
        // NEW: Variant-specific pricing (for cards with multiple printings)
        "variants": {
          "Normal": {
            "Near Mint": {
              "price": 2.50,
              "listings": 153,
              "priceString": "$2.50",
              "lastUpdated": "2025-01-15T10:30:00.000Z"
            },
            "Lightly Played": {
              "price": 2.15,
              "listings": 48,
              "priceString": "$2.15",
              "lastUpdated": "2025-01-15T10:30:00.000Z"
            }
          },
          "Reverse Holofoil": {
            "Near Mint": {
              "price": 3.75,
              "listings": 89,
              "priceString": "$3.75",
              "lastUpdated": "2025-01-15T10:30:00.000Z"
            }
          }
        }
      },
      "imageUrl": "https://...",
      "needsDetailedScrape": false,
      "dataCompleteness": 100,
      "lastScrapedAt": "2025-01-15T10:30:00.000Z",
      "createdAt": "2025-01-10T08:00:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z"
    }
  ],
  "metadata": {
    "total": 778,
    "count": 50,
    "limit": 50,
    "offset": 0,
    "hasMore": true,
    "includes": {
      "priceHistory": false,
      "ebayData": false
    },
    // Note: Free plan users will see additional planRestrictions field
    // when requesting history data (limited to 3 days)
  }
}

With price history (includeHistory=true):

{
  "data": [
    {
      // ... standard fields ...
      "priceHistory": {
        // Legacy conditions field (for cards without variants or for backward compatibility)
        "conditions": {
          "Near Mint": {
            "history": [
              {
                "date": "2025-01-15T00:00:00.000Z",
                "market": 2.50,
                "volume": 45
              },
              {
                "date": "2025-01-14T00:00:00.000Z",
                "market": 2.45,
                "volume": 38
              }
            ],
            "dataPoints": 30,
            "latestPrice": 2.50,
            "latestDate": "2025-01-15T00:00:00.000Z",
            "priceRange": {
              "min": 2.30,
              "max": 2.60
            }
          },
          "Lightly Played": {
            // Similar structure
          }
        },

        // NEW: Variant-specific price history (for cards with multiple printings)
        "variants": {
          "Normal": {
            "Near Mint": {
              "history": [
                {
                  "date": "2025-01-15T00:00:00.000Z",
                  "market": 0.09,
                  "volume": 150
                }
              ],
              "dataPoints": 30,
              "latestPrice": 0.09,
              "latestDate": "2025-01-15T00:00:00.000Z",
              "priceRange": {
                "min": 0.07,
                "max": 0.12
              }
            }
          },
          "Reverse Holofoil": {
            "Near Mint": {
              "history": [
                {
                  "date": "2025-01-15T00:00:00.000Z",
                  "market": 0.19,
                  "volume": 85
                }
              ],
              "dataPoints": 30,
              "latestPrice": 0.19,
              "latestDate": "2025-01-15T00:00:00.000Z",
              "priceRange": {
                "min": 0.15,
                "max": 0.25
              }
            }
          }
        },

        "conditions_tracked": ["Near Mint", "Lightly Played"],
        "variants_tracked": ["Normal", "Reverse Holofoil"],  // NEW
        "totalDataPoints": 60,
        "earliestDate": "2024-12-16T00:00:00.000Z",
        "latestDate": "2025-01-15T00:00:00.000Z"
      }
    }
  ],
  "metadata": {
    // ... standard metadata ...
    "includes": {
      "priceHistory": true,
      "ebayData": false
    },
    "historyWindow": {
      "days": 30,
      "from": "2024-12-16",
      "to": "2025-01-15"
    }
  }
}

💡 Variant Support

Cards with multiple printing variants (Normal, Reverse Holofoil, Holofoil, etc.) now include variant-specific price history in the variants field. The conditions field remains for backward compatibility and shows the primary variant's data. Check variants_tracked to see which variants are available for a card.

With eBay/PSA data (includeEbay=true&days=90):

{
  "data": [
    {
      // ... standard fields ...
      "ebay": {
        "updatedAt": "2025-01-15T10:00:00.000Z",
        "lastScrapedDate": "2025-01-15T10:00:00.000Z",
        "salesByGrade": {
          "psa10": {
            "count": 432,
            "totalValue": 647765.97,
            "averagePrice": 1499.46,
            "medianPrice": 1429.99,
            "minPrice": 400.00,
            "maxPrice": 2500.00,
            "marketPrice7Day": 2048.77,
            "marketPriceMedian7Day": 2033.29,
            "dailyVolume7Day": 3,
            "marketTrend": "stable",
            "lastMarketUpdate": "2025-01-15T00:00:00.000Z",
            "smartMarketPrice": {
              "price": 2048.77,
              "confidence": "high",
              "method": "7_day_rolling_average",
              "daysUsed": 7
            }
          },
          "psa9": {
            "count": 501,
            "totalValue": 279472.21,
            "averagePrice": 557.83,
            "medianPrice": 550.00,
            "minPrice": 300.00,
            "maxPrice": 860.00,
            "marketPrice7Day": 630.09,
            "marketPriceMedian7Day": 610.93,
            "dailyVolume7Day": 2.43,
            "marketTrend": "stable",
            "lastMarketUpdate": "2025-01-15T00:00:00.000Z",
            "smartMarketPrice": {
              "price": 630.09,
              "confidence": "high",
              "method": "7_day_rolling_average",
              "daysUsed": 7
            }
          },
          "psa8": {
            "count": 25,
            "totalValue": 12344.95,
            "averagePrice": 493.80,
            "medianPrice": 489.99,
            "minPrice": 400.00,
            "maxPrice": 600.00,
            "marketPrice7Day": 514.37,
            "marketPriceMedian7Day": 507.69,
            "dailyVolume7Day": 1.14,
            "marketTrend": "stable",
            "lastMarketUpdate": "2025-01-15T00:00:00.000Z",
            "smartMarketPrice": {
              "price": 514.37,
              "confidence": "high",
              "method": "7_day_rolling_average",
              "daysUsed": 7
            }
          }
        },
        "salesVelocity": {
          "dailyAverage": 2,
          "weeklyAverage": 12.33,
          "monthlyTotal": 53
        },
        "priceHistory": {
          "psa10": {
            "2025-01-15": {
              "average": 2100.00,
              "count": 3,
              "totalValue": 6300.00,
              "sevenDayAverage": 2048.77,
              "sevenDayVolumeAvg": 3,
              "sevenDayValueAvg": 6146.31,
              "rollingWindow": 7
            },
            "2025-01-14": {
              "average": 2050.00,
              "count": 2,
              "totalValue": 4100.00,
              "sevenDayAverage": 2035.50,
              "sevenDayVolumeAvg": 2.86,
              "sevenDayValueAvg": 5821.43,
              "rollingWindow": 7
            }
            // ... more daily entries within the days window
          },
          "psa9": {
            // Similar structure for PSA 9 grades
          },
          "psa8": {
            // Similar structure for PSA 8 grades
          }
        },
        // NEW: Individual sold listings (optional field, only present if scraped)
        "soldListings": {
          "psa10": [
            {
              "listingId": "365861088842",
              "title": "Charizard ex (Special Illustration Rare) 199 Scarlet & Violet PSA 10",
              "price": 2100.00,
              "soldDate": "2025-01-15T04:00:00.000Z",
              "url": "https://www.ebay.com/itm/365861088842?...",
              "listingType": "buy_it_now",
              "bestOfferAccepted": false,
              "currency": "USD",
              "scrapedAt": "2025-01-15T10:00:00.000Z"
            }
            // ... up to 100 individual listings per grade
          ],
          "psa9": [
            // Similar structure for PSA 9 individual listings
          ],
          "psa8": [
            // Similar structure for PSA 8 individual listings
          ]
        }
      }
    }
  ],
  "metadata": {
    "total": 1,
    "count": 1,
    "limit": 50,
    "offset": 0,
    "hasMore": false,
    "includes": {
      "priceHistory": false,
      "ebayData": true
    },
    "historyWindow": {
      "days": 90,
      "from": "2024-10-17",
      "to": "2025-01-15"
    }
  }
}

✨ Individual eBay Listings (NEW!)

The eBay data now includes an optional soldListings field containing up to 100 individual sold listings per PSA grade. Each listing includes the actual sale price, sold date, listing type (auction/buy it now), best offer status, and a direct link to the eBay listing. This provides complete transparency and allows you to verify market prices with real transaction data.

Fields per listing: listingId,title,price,soldDate,url,listingType,bestOfferAccepted,currency,scrapedAt

Single card response (when using tcgPlayerId):

{
  "data": {
    // Single card object (not an array)
    "id": "507f1f77bcf86cd799439011",
    "tcgPlayerId": "490294",
    "name": "Pikachu",
    // ... all card fields ...
  }
}

Performance Tips

  • Only include price history or eBay data when needed to reduce response size
  • Use specific filters (setId, tcgPlayerId) for faster queries
  • Implement pagination for large result sets
  • Cache responses on your end when appropriate

Sealed Products Endpoint

Retrieve Pokemon sealed products (booster boxes, ETBs, collection boxes, etc.) with filtering, sorting, and optional price history data.

📦 Sealed Product Data

This endpoint provides pricing data for sealed Pokemon TCG products. Each product includes TCGPlayer market prices for unopened condition and optional historical price tracking.

Endpoint

GET /api/v2/sealed-products

Query Parameters

ParameterTypeDescriptionDefault
Filtering Parameters
setIdstringFilter by set using tcgPlayerId or MongoDB ObjectId-
setstringSimple set name search (e.g., "temporal" finds Temporal Forces products)-
setNamestringLegacy parameter for set name (use set instead)-
searchstringSearch by product name (e.g., "Booster Box", "Elite Trainer Box")-
minPricenumberMinimum unopened price filter-
maxPricenumberMaximum unopened price filter-
Data Inclusion Parameters
includeHistorybooleanInclude price history data (+1 API credit per product)false
daysnumberNumber of days of historical data (1-365, limited to 3 for free tier)30
Sorting & Pagination
sortBystringSort field: "name", "price", or "lastScrapedAt"name
sortOrderstringSort order: "asc" or "desc"asc
limitnumberMaximum products to return (1-200, reduced with history data)50
offsetnumberNumber of products to skip for pagination0
Bulk Operations
fetchAllInSetbooleanFetch all products in a set (requires set filter, special rate limiting applies)false

Rate Limiting

Base Cost: 1 API credit per product

With History: 2 API credits per product (base + history)

Bulk Fetch: When using fetchAllInSet=true, special minute rate limiting applies to prevent exhausting limits

Max Limits:

  • Without history: 200 products per request
  • With history: 100 products per request

Example Requests

Get all sealed products from Temporal Forces:

GET /api/v2/sealed-products?set=temporal%20forces

Search for booster boxes with price filter:

GET /api/v2/sealed-products?search=booster%20box&minPrice=50&maxPrice=200

Get products with 30-day price history:

GET /api/v2/sealed-products?set=obsidian%20flames&includeHistory=true&days=30

Fetch all products in a set (bulk operation):

GET /api/v2/sealed-products?setId=sv05-temporal-forces&fetchAllInSet=true

Response Format

{
  "data": [
    {
      "id": "6507f8a9c3f5a1234567890a",
      "tcgPlayerId": "123456",
      "tcgPlayerUrl": "https://www.tcgplayer.com/product/123456",
      "name": "Temporal Forces Booster Box",
      "setId": "6507f8a9c3f5a12345678909",
      "setName": "Scarlet & Violet: Temporal Forces",
      "unopenedPrice": 119.99,
      "imageUrl": "https://tcgplayer-cdn.tcgplayer.com/product/123456.jpg",
      "priceHistory": [
        {
          "date": "2024-03-01T00:00:00.000Z",
          "unopenedPrice": 115.50
        },
        {
          "date": "2024-03-02T00:00:00.000Z",
          "unopenedPrice": 118.25
        }
      ],
      "lastScrapedAt": "2024-03-15T10:30:00.000Z",
      "createdAt": "2024-02-01T08:00:00.000Z",
      "updatedAt": "2024-03-15T10:30:00.000Z"
    }
  ],
  "metadata": {
    "total": 45,
    "count": 10,
    "limit": 10,
    "offset": 0,
    "hasMore": true,
    "includes": {
      "priceHistory": true
    },
    "historyWindow": {
      "days": 30,
      "from": "2024-02-14",
      "to": "2024-03-15"
    },
    "apiCallsConsumed": {
      "total": 20,
      "breakdown": {
        "products": 10,
        "history": 10
      },
      "costPerProduct": 2
    }
  }
}

Response Headers

HeaderDescription
X-RateLimit-LimitYour daily API call limit
X-RateLimit-RemainingRemaining API calls for today
X-RateLimit-ResetTime when rate limit resets (ISO 8601)
X-API-Calls-ConsumedTotal API credits consumed by this request
X-API-Calls-BreakdownBreakdown of credits (products, history)

Error Responses

400 Bad Request

Missing required filters or invalid parameters

401 Unauthorized

Invalid or missing API key

429 Too Many Requests

Rate limit exceeded or insufficient API credits

500 Internal Server Error

Server error while fetching sealed products

Integration Notes

  • At least one filter parameter is required to prevent database overload
  • Price history data significantly increases response size - use sparingly
  • The fetchAllInSet option is optimized for bulk data export but has special rate limiting
  • Free tier is limited to 3 days of historical data; upgrade for full history access
  • All prices are in USD and represent TCGPlayer market prices for unopened condition
  • Products are updated daily via automated scraping processes

Parse eBay Titles

Extract structured Pokemon card data from eBay-style listing titles

🎯 Perfect for eBay Sellers

This endpoint parses eBay listing titles to extract card details like name, set, number, variant, and PSA/BGS grades. It then matches against our database to find the corresponding cards and their current market values.

/api/v2/parse-title

Error Codes

The API uses standard HTTP status codes to indicate success or failure.

CodeStatusDescription
200
OKRequest successful
400
Bad RequestInvalid parameters or malformed request
401
UnauthorizedMissing or invalid API key
403
ForbiddenAPI key doesn't have access to this resource
404
Not FoundResource not found
429
Too Many RequestsRate limit exceeded - check headers for reset time
500
Server ErrorInternal server error - contact support

Error Response Format

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Daily rate limit exceeded",
    "details": {
      "limit": 100,
      "remaining": 0,
      "reset": "2024-01-15T00:00:00Z"
    }
  }
}

Code Examples

Ready-to-use examples in multiple programming languages.

JavaScript/TypeScript

// Fetch Pokemon cards with axios
const axios = require('axios');

const response = await axios.get(
  'https://www.pokemonpricetracker.com/api/v2/cards',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    },
    params: {
      set: 'temporal',
      limit: 10,
      includeHistory: true
    }
  }
);

console.log(response.data);

Python

# Pokemon API Python example
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_KEY'
}

params = {
    'set': 'temporal',
    'limit': 10,
    'includeHistory': 'true'
}

response = requests.get(
    'https://www.pokemonpricetracker.com/api/v2/cards',
    headers=headers,
    params=params
)

print(response.json())

PHP

<?php
// Pokemon TCG API PHP example
$headers = [
    'Authorization: Bearer YOUR_API_KEY'
];

$params = http_build_query([
    'set' => 'temporal',
    'limit' => 10,
    'includeHistory' => 'true'
]);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
    "https://www.pokemonpricetracker.com/api/v2/cards?$params");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);

Ruby

# Pokemon API Ruby example
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://www.pokemonpricetracker.com/api/v2/cards')
params = {
  set: 'temporal',
  limit: 10,
  includeHistory: 'true'
}
uri.query = URI.encode_www_form(params)

req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer YOUR_API_KEY'

res = Net::HTTP.start(uri.hostname, uri.port,
  use_ssl: true) { |http| http.request(req) }

data = JSON.parse(res.body)
puts data

Go

// Pokemon API Go example
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("GET",
        "https://www.pokemonpricetracker.com/api/v2/cards", nil)

    q := req.URL.Query()
    q.Add("set", "temporal")
    q.Add("limit", "10")
    q.Add("includeHistory", "true")
    req.URL.RawQuery = q.Encode()

    req.Header.Add("Authorization", "Bearer YOUR_API_KEY")

    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}

cURL

# Pokemon API cURL example
curl -X GET \
  'https://www.pokemonpricetracker.com/api/v2/cards?set=temporal&limit=10&includeHistory=true' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Database Schema Reference

Explore the complete database schema, field types, and relationships.

Need Help?

Join our Discord community for support and updates