Przewodnik Dewelopera PokeTrace API
PokeTrace API dostarcza dane cenowe w czasie rzeczywistym dla ponad 60 000+ kart Pokemon. Ten przewodnik obejmuje wszystko, czego potrzebujesz do integracji API z twoją aplikacją: uwierzytelnianie, endpointy, formaty odpowiedzi, obsługę błędów i najlepsze praktyki produkcyjne.

Uzyskaj dostęp do cen PSA, BGS i CGC ocenionych kart obok wartości surowych kart z TCGPlayer, eBay i CardMarket.
Szybki Start
Zacznij działać w trzech krokach: (1) Utwórz konto na poketrace.com/dashboard, (2) Wygeneruj klucz API, (3) Dodaj nagłówek X-API-Key do swoich zapytań. To wszystko—jesteś gotowy do odpytywania danych kart.
Bazowy URL dla wszystkich zapytań API to https://api.poketrace.com/v1. Wszystkie endpointy wymagają uwierzytelnienia przez nagłówek X-API-Key. API zwraca odpowiedzi JSON ze spójną strukturą we wszystkich endpointach.
Sprawdź status API na status.poketrace.com. Dla aktualizacji WebSocket w czasie rzeczywistym (tylko plan Scale), połącz się z wss://api.poketrace.com/ws ze swoim kluczem API.
Uwierzytelnianie
Wszystkie zapytania API wymagają klucza API przekazanego w nagłówku X-API-Key. Klucze są darmowe do utworzenia, a limity zapytań są egzekwowane na konto, nie na klucz—twórz wiele kluczy dla różnych projektów bez dzielenia swojej puli.
Steps
- 1.Zarejestruj się na poketrace.com/dashboard
- 2.Kliknij 'Utwórz' by wygenerować nowy klucz API
- 3.Skopiuj swój klucz (format: pc_xxxxxxxx)
- 4.Dołącz X-API-Key: TWÓJ_KLUCZ w nagłówkach zapytań
curl -H "X-API-Key: pc_twoj_klucz" https://api.poketrace.com/v1/cards
fetch('https://api.poketrace.com/v1/cards', {
headers: { 'X-API-Key': 'pc_twoj_klucz' }
})Endpointy API
API dostarcza cztery główne endpointy. Karty są oddzielone według rynku—karty US mają dane TCGPlayer i eBay, karty EU mają dane CardMarket.
GET /v1/cards
Listuj karty z paginacją i filtrami. Zwraca podstawowe informacje o kartach bez pełnych cen.
Params: limit (max 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
Pobierz pełne szczegóły karty z cenami według źródła i poziomu. Karty US obejmują ebay (wszystkie poziomy) + tcgplayer (tylko surowe). Karty EU obejmują cardmarket (Price Trend z historycznymi średnimi) + cardmarket_unsold (aktywne oferty z podziałem na poziom/kraj).
GET /v1/cards/019bff77-befa-771d-bab0-f5909f0a78c9// Karta 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 }
}
}
}
}
// Karta 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
Listuj wszystkie zestawy kart z metadanymi. Używaj slugów zestawów do filtrowania kart.
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
Pobierz informacje o swoim kluczu API i statystyki użycia. Sprawdź pozostałe zapytania, czas resetu i szczegóły planu.
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
Pobierz historyczne dane cenowe dla konkretnego poziomu. Przydatne do wykresów i analizy trendów.
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 }
}Limity Zapytań
Limity zapytań są egzekwowane na konto, nie na klucz. Każda odpowiedź zawiera nagłówki pokazujące twoje bieżące użycie.
Darmowy
250 / day
Tylko US
Tylko surowe stany
Pro
10,000 / day
US + EU
Surowe + Ocenione (PSA, BGS, CGC)
Scale
100,000 / day
US + EU
Surowe + Ocenione + WebSocket
Response Headers
- X-RateLimit-Limit — Dzienny limit zapytań twojego planu
- X-RateLimit-Remaining — Pozostałe zapytania dzisiaj
- X-RateLimit-Reset — Timestamp ISO8601 gdy limit się resetuje
- X-Plan — Twój obecny plan (Free, Pro, Scale)
Kompletne Przykłady Kodu
Skopiuj i wklej te przykłady, by zacząć. Zamień YOUR_KEY na swój rzeczywisty klucz 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();
}
// Użycie
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
# Pobierz pojedynczą kartę curl -H "X-API-Key: TWOJ_KLUCZ" \ "https://api.poketrace.com/v1/cards/019bff77-befa-771d-bab0-f5909f0a78c9" # Wyszukaj karty curl -H "X-API-Key: TWOJ_KLUCZ" \ "https://api.poketrace.com/v1/cards?search=charizard&market=US&limit=10" # Listuj wszystkie zestawy curl -H "X-API-Key: TWOJ_KLUCZ" \ "https://api.poketrace.com/v1/sets?limit=50" # Sprawdź swoje użycie curl -H "X-API-Key: TWOJ_KLUCZ" \ "https://api.poketrace.com/v1/auth/info" # Pobierz historię cen curl -H "X-API-Key: TWOJ_KLUCZ" \ "https://api.poketrace.com/v1/cards/019bff77.../prices/PSA_10/history?period=30d"
Obsługa Błędów
API używa standardowych kodów statusu HTTP. Wszystkie odpowiedzi błędów zawierają pola error i message.
Bad Request
Nieprawidłowe parametry
{ "error": "Invalid limit parameter", "message": "Limit must be between 1 and 100" }Unauthorized
Brakujący lub nieprawidłowy klucz API
{ "error": "API key required", "message": "Include your API key in the X-API-Key header" }Forbidden
Wymagany upgrade planu
{ "error": "Pro plan required", "message": "Graded card prices require a Pro plan.", "code": "UPGRADE_REQUIRED" }Not Found
Zasób nie istnieje
{ "error": "Card not found", "message": "No card exists with this ID" }Rate Limited
Zbyt wiele zapytań
{ "error": "Rate limit exceeded", "message": "Daily limit reached. Resets at 2026-01-18T00:00:00Z", "retryAfter": 3600 }Często Zadawane Pytania
Jaka jest różnica między kartami US i EU?
Karty są specyficzne dla rynku. Karty US mają ceny TCGPlayer i eBay w USD. Karty EU mają ceny CardMarket w EUR z podziałem na kraje (DE, FR, IT itp.). Każda karta należy tylko do jednego rynku.
Które firmy gradingowe są wspierane?
Wspieramy 15 firm gradingowych włącznie z PSA, BGS, CGC, ACE, TAG i więcej. Ceny ocenionych kart są dostępne na planach Pro i Scale. Pole gradedOptions na każdej karcie pokazuje dostępne oceny.
Jak uzyskać aktualizacje cen w czasie rzeczywistym?
Połączenia WebSocket są dostępne na planie Scale. Połącz się z wss://api.poketrace.com/ws ze swoim kluczem API. Subskrybuj konkretne karty, by otrzymywać natychmiastowe aktualizacje cen gdy występują nowe sprzedaże.
Czy mogę używać API dla projektów komercyjnych?
Tak. Darmowy poziom pozwala na użycie niekomercyjne. Plany Pro i Scale obejmują licencje komercyjne. Sprawdź nasze warunki użytkowania dla pełnych szczegółów.
Jak dokładne są dane cenowe?
Ceny są oparte na zweryfikowanych zakończonych sprzedażach z TCGPlayer, eBay i CardMarket. Aktualizujemy co kilka godzin. Każdy poziom cenowy zawiera wskaźnik pewności (high, medium, low) i saleCount, byś mógł ocenić wiarygodność.
Zacznij Budować Dziś
Pobierz swój darmowy klucz API i zacznij budować aplikacje kart Pokemon. 250 zapytań dziennie, bez karty kredytowej.
Pobierz Darmowy Klucz API→