PHP SDK for TCG Price Lookup — live trading card prices across Pokemon, MTG, Yu-Gi-Oh, Lorcana, One Piece, SWU, Flesh and Blood

Maintainers

Package info

github.com/TCG-Price-Lookup/tcglookup-php

Homepage

Documentation

pkg:composer/tcgpricelookup/sdk

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-04-09 23:00 UTC

This package is auto-updated.

Last update: 2026-04-10 00:35:08 UTC


README

Packagist Version PHP Version License: MIT Powered by TCG Price Lookup

The official PHP SDK for the TCG Price Lookup API — live trading card prices across Pokemon, Magic: The Gathering, Yu-Gi-Oh!, Disney Lorcana, One Piece TCG, Star Wars: Unlimited, and Flesh and Blood.

One API for every major trading card game. TCGPlayer market prices, eBay sold averages, and PSA / BGS / CGC graded comps — all in one place.

Install

composer require tcgpricelookup/sdk

Requires PHP 8.1+.

Quickstart

<?php

require __DIR__ . '/vendor/autoload.php';

use TcgPriceLookup\Client;

$client = new Client('tlk_live_...');

$results = $client->cards->search([
    'q' => 'charizard',
    'game' => 'pokemon',
    'limit' => 5,
]);

foreach ($results['data'] as $card) {
    echo $card['name'] . '' . $card['set']['name'] . PHP_EOL;
}

Get an API key

Sign up at tcgpricelookup.com/tcg-api. Free tier includes 10,000 requests per month with TCGPlayer market prices. Trader plan unlocks eBay sold averages, PSA / BGS / CGC graded prices, and full price history.

API surface

Cards

// Search
$client->cards->search([
    'q' => 'blue-eyes white dragon',
    'game' => 'yugioh',  // pokemon | mtg | yugioh | onepiece | lorcana | swu | fab
    'set' => 'lob',
    'limit' => 20,
    'offset' => 0,
]);

// Get one
$card = $client->cards->get('<card-uuid>');

// Daily price history (Trader plan)
$history = $client->cards->history('<card-uuid>', ['period' => '30d']);

Sets

$sets = $client->sets->list(['game' => 'mtg', 'limit' => 50]);

Games

$games = $client->games->list();
foreach ($games['data'] as $game) {
    echo $game['slug'] . ': ' . $game['count'] . ' cards' . PHP_EOL;
}

Batch lookups

Pass an ids array and the SDK auto-chunks into 20-ID batches:

$results = $client->cards->search([
    'ids' => ['uuid1', 'uuid2', /* ... */],
]);

Error handling

use TcgPriceLookup\Exception\{
    AuthenticationException,
    PlanAccessException,
    NotFoundException,
    RateLimitException,
};

try {
    $history = $client->cards->history('<uuid>', ['period' => '1y']);
} catch (AuthenticationException $e) {
    echo "Bad API key\n";
} catch (PlanAccessException $e) {
    echo "History requires Trader plan — upgrade at tcgpricelookup.com/tcg-api\n";
} catch (NotFoundException $e) {
    echo "Card not found\n";
} catch (RateLimitException $e) {
    echo "Rate limited. Quota: {$client->rateLimit['remaining']}/{$client->rateLimit['limit']}\n";
}

Configuration

$client = new Client('tlk_live_...', [
    'base_url' => 'https://api.tcgpricelookup.com/v1',
    'timeout' => 60.0,
    'user_agent' => 'my-app/1.0',
]);

Sister SDKs

The full developer ecosystem index lives at awesome-tcg.

License

MIT — see LICENSE.

Built by TCG Price Lookup. Get a free API key at tcgpricelookup.com/tcg-api.