Powrot do Bloga
Zasoby Deweloperskie/28 stycznia 2026/15 min czytania

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.

Edytor kodu pokazujący integrację PokeTrace API z danymi odpowiedzi JSON
Buduj aplikacje kart Pokemon z prawdziwymi danymi cenowymi z rynków US i EU

Uzyskaj dostęp do cen PSA, BGS i CGC ocenionych kart obok wartości surowych kart z TCGPlayer, eBay i CardMarket.

01

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.

02

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. 1.Zarejestruj się na poketrace.com/dashboard
  2. 2.Kliknij 'Utwórz' by wygenerować nowy klucz API
  3. 3.Skopiuj swój klucz (format: pc_xxxxxxxx)
  4. 4.Dołącz X-API-Key: TWÓJ_KLUCZ w nagłówkach zapytań
cURL
curl -H "X-API-Key: pc_twoj_klucz" https://api.poketrace.com/v1/cards
JavaScript
fetch('https://api.poketrace.com/v1/cards', {
  headers: { 'X-API-Key': 'pc_twoj_klucz' }
})
Python
Nigdy nie commituj kluczy API do publicznych repozytoriów. Używaj zmiennych środowiskowych: process.env.POKETRACE_API_KEY w Node.js lub os.environ['POKETRACE_API_KEY'] w Python.
03

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
Response:
{
  "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
Response:
// 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
Response:
{
  "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
Response:
{
  "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
Response:
{
  "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 }
}
04

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)
Cachuj odpowiedzi agresywnie. Ceny aktualizują się co kilka godzin—cachowanie przez 15-60 minut znacząco zmniejsza wywołania API.
05

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"
06

Obsługa Błędów

API używa standardowych kodów statusu HTTP. Wszystkie odpowiedzi błędów zawierają pola error i message.

400

Bad Request

Nieprawidłowe parametry

{ "error": "Invalid limit parameter", "message": "Limit must be between 1 and 100" }
401

Unauthorized

Brakujący lub nieprawidłowy klucz API

{ "error": "API key required", "message": "Include your API key in the X-API-Key header" }
403

Forbidden

Wymagany upgrade planu

{ "error": "Pro plan required", "message": "Graded card prices require a Pro plan.", "code": "UPGRADE_REQUIRED" }
404

Not Found

Zasób nie istnieje

{ "error": "Card not found", "message": "No card exists with this ID" }
429

Rate Limited

Zbyt wiele zapytań

{ "error": "Rate limit exceeded", "message": "Daily limit reached. Resets at 2026-01-18T00:00:00Z", "retryAfter": 3600 }
Dla błędów 429, użyj pola retryAfter (sekundy) lub nagłówka X-RateLimit-Reset. Implementuj exponential backoff: czekaj 1s, potem 2s, potem 4s między ponowieniami.
07

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