はじめに
5分以内にTCG Price Lookup APIの使用を開始する方法。
1. APIキーを取得
tcgpricelookup.comでサインアップし、ダッシュボードから無料のAPIキーを取得してください。無料プランには1日200リクエストが含まれており、クレジットカードは不要です。
サインイン後、ダッシュボード → APIキーセクションに移動してください。キーは以下のような形式です:
tcg_live_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
このキーは秘密にしてください。バージョン管理にコミットしたり、クライアントサイドのコードに公開したりしないでください。
2. SDKをインストール
お好みの言語を選んで公式SDKをインストールしてください:
# JavaScript / TypeScript
npm install tcglookup
# Python
pip install tcglookup
# Go
go get github.com/TCG-Price-Lookup/tcglookup-go
# Rust
cargo add tcglookup
# PHP
composer require tcg-price-lookup/tcglookup
すべてのSDKは認証、リクエストのシリアライズ、エラー解析、レートリミットヘッダーを自動的に処理します。
3. 最初のリクエストを送信
各対応言語での最小限の例を示します:
// JavaScript / TypeScript
import { TCGLookup } from 'tcglookup';
const tcg = new TCGLookup({ apiKey: 'your-api-key' });
const results = await tcg.search('charizard', { game: 'pokemon', limit: 5 });
console.log(results.data);
// → ライブ市場価格を含むカードオブジェクトの配列
# Python
from tcglookup import TCGLookup
tcg = TCGLookup(api_key="your-api-key")
results = tcg.search("charizard", game="pokemon", limit=5)
for card in results.data:
print(card.name, card.prices.market)
# curl
curl -H "X-API-Key: your-api-key" \
"https://api.tcgpricelookup.com/v1/search?q=charizard&game=pokemon&limit=5"
APIが返すレスポンス
検索リクエストが成功した場合、レスポンスは以下のような構造になっています:
{
"data": [
{
"id": "pokemon-sv4-charizard-ex-006",
"name": "Charizard ex",
"game": "pokemon",
"set": "Paradox Rift",
"setCode": "sv4",
"number": "006",
"rarity": "Double Rare",
"image": "https://images.tcgpricelookup.com/pokemon/sv4/006.jpg",
"prices": {
"market": 42.50,
"low": 35.00,
"mid": 41.00,
"high": 55.00,
"conditions": {
"near_mint": 42.50,
"lightly_played": 38.25,
"moderately_played": 34.00,
"heavily_played": 29.75,
"damaged": 21.25
},
"graded": {
"psa_10": 125.00,
"psa_9": 75.00,
"bgs_9_5": 110.00,
"cgc_9_5": 95.00
}
},
"sources": ["tcgplayer", "ebay"],
"updatedAt": "2026-04-10T12:00:00Z"
}
],
"total": 47,
"limit": 5,
"offset": 0
}
レスポンスの主要なフィールドについて:
data— リストエンドポイントではカードオブジェクトの配列、詳細エンドポイントでは単一のオブジェクトtotal— 全ページを通じた一致カードの総数limit/offset— リクエストに対応したページネーションパラメータprices.market— 複数のソースから集計された現在の市場価格(USD)prices.conditions— Near Mintから Damagedまでのコンディション別価格prices.graded— PSA、BGS、CGCグレーデッドカードの価格(データが利用可能な場合)
4. 特定のカードを取得
検索でカードIDを取得したら、そのカードの全詳細を取得できます:
const card = await tcg.getCard('pokemon-sv4-charizard-ex-006');
console.log(card.data.prices.graded.psa_10); // → 125.00
よくある注意点とヒント
検索結果のカードIDを使用してください。 カードIDは {game}-{setCode}-{slug} の形式に従います。手動でIDを作成しようとせず、検索エンドポイントで有効なIDを取得してください。
レスポンスを少なくとも5分間キャッシュしてください。 カード価格はリアルタイムではなく定期的に更新されます。同じカードに対してAPIを何度も叩くと、1日のクォータを無駄に消費します。
複数カードの取得にはバッチリクエストを優先してください。 10枚以上のカードの価格が必要な場合は、個別リクエストの代わりに POST /v1/cards/batch を使用してください。1回のバッチ呼び出しは1リクエストとしてカウントされます。
ページネーションにはtotalを確認してください。 total > limit + offset の場合、さらにページがあります。offsetをlimit分増やして次のページを取得してください。
ブラウザのコードにAPIキーを公開しないでください。 API呼び出しはサーバーサイドで行い、結果をフロントエンドにプロキシしてください。
次のステップ
リクエストができるようになったら、ドキュメントの残りの部分を参照してください:
- 認証 — 環境変数、セキュリティのベストプラクティス、キーの管理
- APIエンドポイント — 検索、カード詳細、価格履歴、セット、バッチリクエストの完全リファレンス
- レスポンス形式 — カードオブジェクトのすべてのフィールドの詳細な説明
- エラーハンドリング — エラーとレートリミットの適切な処理方法
- レートリミット — クォータ、ヘッダー、キャッシュ戦略、アップグレードオプション