PokeTrace API開発者ガイド
PokeTrace APIは60,000+枚以上のポケモンカードのリアルタイム価格データを提供します。このガイドでは、APIをアプリケーションに統合するために必要なすべてをカバーします:認証、エンドポイント、レスポンス形式、エラーハンドリング、本番環境のベストプラクティス。

PSA、BGS、CGCの鑑定価格に加え、TCGPlayer、eBay、CardMarketからの未鑑定カード価格にアクセスできます。
クイックスタート
3ステップで開始できます:(1)poketrace.com/dashboardでアカウントを作成、(2)APIキーを生成、(3)リクエストにX-API-Keyヘッダーを追加。これでカードデータのクエリを開始する準備が整いました。
すべてのAPIリクエストのベースURLはhttps://api.poketrace.com/v1です。すべてのエンドポイントにはX-API-Keyヘッダーによる認証が必要です。APIはすべてのエンドポイントで一貫した構造のJSONレスポンスを返します。
APIの状態はstatus.poketrace.comで確認できます。WebSocketリアルタイム更新(Scaleプランのみ)については、APIキーを使用してwss://api.poketrace.com/wsに接続してください。
認証
すべてのAPIリクエストには、X-API-Keyヘッダーで渡されるAPIキーが必要です。キーは無料で作成でき、レート制限はキーごとではなくアカウントごとに適用されます—クォータを分割することなく、異なるプロジェクト用に複数のキーを作成できます。
Steps
- 1.poketrace.com/dashboardでサインアップ
- 2.「作成」をクリックして新しいAPIキーを生成
- 3.キーをコピー(形式:pc_xxxxxxxx)
- 4.リクエストヘッダーにX-API-Key: YOUR_KEYを含める
curl -H "X-API-Key: pc_your_key" https://api.poketrace.com/v1/cards
fetch('https://api.poketrace.com/v1/cards', {
headers: { 'X-API-Key': 'pc_your_key' }
})APIエンドポイント
APIは4つのコアエンドポイントを提供します。カードは市場ごとに分けられています—USカードにはTCGPlayerとeBayのデータがあり、EUカードにはCardMarketのデータがあります。
GET /v1/cards
ページネーションとフィルター付きでカードを一覧表示します。完全な価格情報なしの基本カード情報を返します。
Params: limit(最大100)、cursor、set、search、card_number、variant、market(US/EU)、has_graded
GET /v1/cards?market=US&set=base-set&limit=20{
"data": [{
"id": "019bff77-befa-771d-bab0-f5909f0a78c9",
"name": "Charizard",
"cardNumber": "4/102",
"set": { "slug": "base-set", "name": "Base Set" },
"variant": "Holofoil",
"rarity": "Rare Holo",
"market": "US",
"currency": "USD"
}],
"pagination": { "hasMore": true, "nextCursor": "YnNfNQ==", "count": 1 }
}GET /v1/cards/:id
ソースとティア別の価格を含む完全なカード詳細を取得します。USカードにはebay(全ティア)+ tcgplayer(未鑑定のみ)が含まれます。EUカードにはcardmarket(過去の平均値付き価格トレンド)+ cardmarket_unsold(ティア/国別の内訳付きアクティブリスティング)が含まれます。
GET /v1/cards/019bff77-befa-771d-bab0-f5909f0a78c9// USカード
{
"data": {
"id": "019bff77-befa-771d-bab0-f5909f0a78c9",
"name": "Charizard",
"market": "US",
"currency": "USD",
"prices": {
"ebay": {
"PSA_10": { "avg": 5200, "low": 4800, "high": 5600, "saleCount": 47 },
"NEAR_MINT": { "avg": 890, "low": 750, "high": 1050, "saleCount": 156 }
},
"tcgplayer": {
"NEAR_MINT": { "avg": 420, "low": 380, "high": 480, "saleCount": 89 }
}
}
}
}
// EUカード
{
"data": {
"id": "eu_273550",
"name": "Charizard",
"market": "EU",
"currency": "EUR",
"prices": {
"cardmarket": { "avg": 385, "avg1d": 380, "avg7d": 375, "avg30d": 370 },
"cardmarket_unsold": {
"NEAR_MINT": { "avg": 420, "low": 350, "high": 890, "saleCount": 125, "country": { "DE": { "avg": 410 }, "FR": { "avg": 450 } } }
}
}
}
}GET /v1/sets
メタデータ付きですべてのカードセットを一覧表示します。セットのslugを使用してカードをフィルタリングします。
Params: search、game(pokemon、pokemon-japanese)、limit、cursor
GET /v1/sets?search=base&limit=5{
"data": [
{ "slug": "base-set", "name": "Base Set", "releaseDate": "1999-01-09", "cardCount": 102 },
{ "slug": "base-set-2", "name": "Base Set 2", "releaseDate": "2000-02-24", "cardCount": 130 }
],
"pagination": { "hasMore": true, "nextCursor": "YmFzZS1zZXQtMg==", "count": 2 }
}GET /v1/auth/info
APIキー情報と使用状況の統計を取得します。残りリクエスト数、リセット時間、プラン詳細を確認できます。
GET /v1/auth/info{
"data": {
"key": "pc_a1b2c3d4...",
"name": "Production",
"active": true,
"createdAt": "2026-01-17T10:00:00Z",
"lastUsedAt": "2026-01-17T12:30:00Z",
"user": {
"plan": "Free",
"remaining": 208,
"limit": 250,
"resetsAt": "2026-01-18T00:00:00Z"
}
}
}GET /v1/cards/:id/prices/:tier/history
特定のティアの価格履歴データを取得します。チャートやトレンド分析に便利です。
Params: period(7d、30d、90d、1y、all)、limit、cursor
GET /v1/cards/019bff77.../prices/PSA_10/history?period=30d{
"data": [
{ "date": "2026-01-27", "source": "ebay", "avg": 5200, "low": 4800, "high": 5600, "saleCount": 3 },
{ "date": "2026-01-26", "source": "ebay", "avg": 5150, "low": 4750, "high": 5500, "saleCount": 5 }
],
"pagination": { "hasMore": true, "nextCursor": "MjAyNi0wMS0yNQ==", "count": 2 }
}レート制限
レート制限はキーごとではなくアカウントごとに適用されます。すべてのレスポンスには現在の使用状況を示すヘッダーが含まれます。
Free
250 / day
USのみ
未鑑定コンディションのみ
Pro
10,000 / day
US + EU
未鑑定 + 鑑定(PSA、BGS、CGC)
Scale
100,000 / day
US + EU
未鑑定 + 鑑定 + WebSocket
Response Headers
- X-RateLimit-Limit — プランの1日あたりのリクエスト上限
- X-RateLimit-Remaining — 今日の残りリクエスト数
- X-RateLimit-Reset — 制限がリセットされるISO8601タイムスタンプ
- X-Plan — 現在のプラン(Free、Pro、Scale)
完全なコード例
これらの例をコピー&ペーストして始めましょう。YOUR_KEYを実際のAPIキーに置き換えてください。
JavaScript / Node.js
const API_KEY = process.env.POKETRACE_API_KEY;
const BASE_URL = 'https://api.poketrace.com/v1';
async function getCard(cardId) {
const response = await fetch(`${BASE_URL}/cards/${cardId}`, {
headers: { 'X-API-Key': API_KEY }
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.message);
}
return response.json();
}
async function searchCards(query, market = 'US') {
const params = new URLSearchParams({ search: query, market, limit: '20' });
const response = await fetch(`${BASE_URL}/cards?${params}`, {
headers: { 'X-API-Key': API_KEY }
});
return response.json();
}
// Usage
const card = await getCard('019bff77-befa-771d-bab0-f5909f0a78c9');
console.log(`${card.data.name}: $${card.data.prices.ebay.PSA_10.avg} (PSA 10)`);Python
cURL
# Get a single card curl -H "X-API-Key: YOUR_KEY" \ "https://api.poketrace.com/v1/cards/019bff77-befa-771d-bab0-f5909f0a78c9" # Search for cards curl -H "X-API-Key: YOUR_KEY" \ "https://api.poketrace.com/v1/cards?search=charizard&market=US&limit=10" # List all sets curl -H "X-API-Key: YOUR_KEY" \ "https://api.poketrace.com/v1/sets?limit=50" # Check your usage curl -H "X-API-Key: YOUR_KEY" \ "https://api.poketrace.com/v1/auth/info" # Get price history curl -H "X-API-Key: YOUR_KEY" \ "https://api.poketrace.com/v1/cards/019bff77.../prices/PSA_10/history?period=30d"
エラーハンドリング
APIは標準のHTTPステータスコードを使用します。すべてのエラーレスポンスにはerrorとmessageフィールドが含まれます。
Bad Request
パラメータが無効
{ "error": "Invalid limit parameter", "message": "Limit must be between 1 and 100" }Unauthorized
APIキーがないか無効
{ "error": "API key required", "message": "Include your API key in the X-API-Key header" }Forbidden
プランのアップグレードが必要
{ "error": "Pro plan required", "message": "Graded card prices require a Pro plan.", "code": "UPGRADE_REQUIRED" }Not Found
リソースが存在しない
{ "error": "Card not found", "message": "No card exists with this ID" }Rate Limited
リクエストが多すぎる
{ "error": "Rate limit exceeded", "message": "Daily limit reached. Resets at 2026-01-18T00:00:00Z", "retryAfter": 3600 }よくある質問
USカードとEUカードの違いは何ですか?
カードは市場固有です。USカードにはTCGPlayerとeBayの価格がUSDで含まれます。EUカードにはCardMarketの価格がEURで、国別(DE、FR、ITなど)の内訳付きで含まれます。各カードは1つの市場にのみ属します。
どの鑑定会社がサポートされていますか?
PSA、BGS、CGC、ACE、TAGなど15社の鑑定会社をサポートしています。鑑定価格はProおよびScaleプランで利用可能です。各カードのgradedOptionsフィールドに利用可能なグレードが表示されます。
リアルタイムの価格更新を取得するにはどうすればよいですか?
WebSocket接続はScaleプランで利用可能です。APIキーを使用してwss://api.poketrace.com/wsに接続してください。特定のカードを購読すると、新しい販売が発生したときに即座に価格更新を受け取ることができます。
商用プロジェクトにAPIを使用できますか?
はい。無料ティアは非商用利用が許可されています。ProとScaleプランには商用ライセンスが含まれています。詳細については利用規約をご確認ください。
価格データはどの程度正確ですか?
価格はTCGPlayer、eBay、CardMarketからの検証済み完了販売に基づいています。数時間ごとに更新されます。各価格ティアには信頼度スコア(high、medium、low)とsaleCountが含まれているため、信頼性を評価できます。
今すぐ構築を始めましょう
無料のAPIキーを取得して、ポケモンカードアプリケーションの構築を始めましょう。1日250リクエスト、クレジットカード不要。
無料APIキーを取得→