Retour au Blog
Ressources Développeur/28 janvier 2026/15 min de lecture

Guide Développeur API PokeTrace

L'API PokeTrace fournit des données de prix en temps réel pour plus de 50 000 cartes Pokemon. Ce guide couvre tout ce dont vous avez besoin pour intégrer l'API dans votre application : authentification, endpoints, formats de réponse, gestion des erreurs et bonnes pratiques de production.

Éditeur de code montrant l'intégration de l'API PokeTrace avec des données de réponse JSON
Créez des applications de cartes Pokemon avec des données de prix réels des marchés US et EU

Accédez aux prix PSA, BGS et CGC gradés ainsi qu'aux valeurs des cartes brutes depuis TCGPlayer, eBay et CardMarket.

01

Démarrage Rapide

Soyez opérationnel en trois étapes : (1) Créez un compte sur poketrace.com/dashboard, (2) Générez une clé API, (3) Ajoutez l'en-tête X-API-Key à vos requêtes. C'est tout — vous êtes prêt à interroger les données des cartes.

L'URL de base pour toutes les requêtes API est https://api.poketrace.com/v1. Tous les endpoints nécessitent une authentification via l'en-tête X-API-Key. L'API retourne des réponses JSON avec une structure cohérente sur tous les endpoints.

Vérifiez le statut de l'API sur status.poketrace.com. Pour les mises à jour en temps réel WebSocket (plan Scale uniquement), connectez-vous à wss://api.poketrace.com/ws avec votre clé API.

02

Authentification

Toutes les requêtes API nécessitent une clé API passée dans l'en-tête X-API-Key. Les clés sont gratuites à créer et les limites de requêtes sont appliquées par compte, pas par clé — créez plusieurs clés pour différents projets sans diviser votre quota.

Steps

  1. 1.Inscrivez-vous sur poketrace.com/dashboard
  2. 2.Cliquez sur 'Créer' pour générer une nouvelle clé API
  3. 3.Copiez votre clé (format : pc_xxxxxxxx)
  4. 4.Incluez X-API-Key: VOTRE_CLE dans les en-têtes de requête
cURL
curl -H "X-API-Key: pc_your_key" https://api.poketrace.com/v1/cards
JavaScript
fetch('https://api.poketrace.com/v1/cards', {
  headers: { 'X-API-Key': 'pc_your_key' }
})
Python
Ne commitez jamais les clés API dans des dépôts publics. Utilisez des variables d'environnement : process.env.POKETRACE_API_KEY en Node.js ou os.environ['POKETRACE_API_KEY'] en Python.
03

Endpoints API

L'API fournit quatre endpoints principaux. Les cartes sont séparées par marché — les cartes US ont les données TCGPlayer et eBay, les cartes EU ont les données CardMarket.

GET /v1/cards

Liste les cartes avec pagination et filtres. Retourne les informations basiques des cartes sans prix complets.

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

Obtient les détails complets d'une carte avec les prix par source et niveau. Les cartes US incluent ebay (tous niveaux) + tcgplayer (brut uniquement). Les cartes EU incluent cardmarket (tendance des prix avec moyennes historiques) + cardmarket_unsold (annonces actives avec répartition par niveau/pays).

GET /v1/cards/019bff77-befa-771d-bab0-f5909f0a78c9
Response:
// Carte 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 }
      }
    }
  }
}

// Carte 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

Liste tous les sets de cartes avec métadonnées. Utilisez les slugs de set pour filtrer les cartes.

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

Obtient les informations de votre clé API et les statistiques d'utilisation. Vérifiez les requêtes restantes, l'heure de réinitialisation et les détails du plan.

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

Obtient les données historiques de prix pour un niveau spécifique. Utile pour les graphiques et l'analyse des tendances.

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

Limites de Requêtes

Les limites de requêtes sont appliquées par compte, pas par clé. Chaque réponse inclut des en-têtes montrant votre utilisation actuelle.

Gratuit

250 / day

US uniquement

Conditions brutes uniquement

Pro

10 000 / day

US + EU

Brut + Gradé (PSA, BGS, CGC)

Scale

100 000 / day

US + EU

Brut + Gradé + WebSocket

Response Headers

  • X-RateLimit-Limit — Limite quotidienne de requêtes de votre plan
  • X-RateLimit-Remaining — Requêtes restantes aujourd'hui
  • X-RateLimit-Reset — Horodatage ISO8601 de réinitialisation de la limite
  • X-Plan — Votre plan actuel (Free, Pro, Scale)
Mettez en cache les réponses de manière agressive. Les prix se mettent à jour toutes les quelques heures — mettre en cache pendant 15-60 minutes réduit significativement les appels API.
05

Exemples de Code Complets

Copiez-collez ces exemples pour commencer. Remplacez YOUR_KEY par votre clé API réelle.

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

Gestion des Erreurs

L'API utilise les codes de statut HTTP standards. Toutes les réponses d'erreur incluent les champs error et message.

400

Bad Request

Paramètres invalides

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

Unauthorized

Clé API manquante ou invalide

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

Forbidden

Mise à niveau du plan requise

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

Not Found

La ressource n'existe pas

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

Rate Limited

Trop de requêtes

{ "error": "Rate limit exceeded", "message": "Daily limit reached. Resets at 2026-01-18T00:00:00Z", "retryAfter": 3600 }
Pour les erreurs 429, utilisez le champ retryAfter (secondes) ou l'en-tête X-RateLimit-Reset. Implémentez un backoff exponentiel : attendez 1s, puis 2s, puis 4s entre les tentatives.
07

Questions Fréquentes

Quelle est la différence entre les cartes US et EU ?

Les cartes sont spécifiques au marché. Les cartes US ont les prix TCGPlayer et eBay en USD. Les cartes EU ont les prix CardMarket en EUR avec répartition par pays (DE, FR, IT, etc.). Chaque carte appartient à un seul marché.

Quelles sociétés de gradation sont supportées ?

Nous supportons 15 sociétés de gradation incluant PSA, BGS, CGC, ACE, TAG, et plus. Les prix gradés sont disponibles sur les plans Pro et Scale. Le champ gradedOptions sur chaque carte indique les grades disponibles.

Comment obtenir des mises à jour de prix en temps réel ?

Les connexions WebSocket sont disponibles sur le plan Scale. Connectez-vous à wss://api.poketrace.com/ws avec votre clé API. Abonnez-vous à des cartes spécifiques pour recevoir des mises à jour de prix instantanées lors de nouvelles ventes.

Puis-je utiliser l'API pour des projets commerciaux ?

Oui. L'offre gratuite permet une utilisation non-commerciale. Les plans Pro et Scale incluent des licences commerciales. Consultez nos conditions d'utilisation pour tous les détails.

Quelle est la précision des données de prix ?

Les prix sont basés sur des ventes complétées vérifiées de TCGPlayer, eBay et CardMarket. Nous mettons à jour toutes les quelques heures. Chaque niveau de prix inclut un score de confiance (élevé, moyen, faible) et un saleCount pour évaluer la fiabilité.

Commencez à Construire Aujourd'hui

Obtenez votre clé API gratuite et commencez à créer des applications de cartes Pokemon. 250 requêtes par jour, aucune carte de crédit requise.

Obtenir une Clé API Gratuite