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.

Accédez aux prix PSA, BGS et CGC gradés ainsi qu'aux valeurs des cartes brutes depuis TCGPlayer, eBay et CardMarket.
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.
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.Inscrivez-vous sur poketrace.com/dashboard
- 2.Cliquez sur 'Créer' pour générer une nouvelle clé API
- 3.Copiez votre clé (format : pc_xxxxxxxx)
- 4.Incluez X-API-Key: VOTRE_CLE dans les en-têtes de requête
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' }
})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{
"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// 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{
"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{
"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{
"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 }
}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)
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"
Gestion des Erreurs
L'API utilise les codes de statut HTTP standards. Toutes les réponses d'erreur incluent les champs error et message.
Bad Request
Paramètres invalides
{ "error": "Invalid limit parameter", "message": "Limit must be between 1 and 100" }Unauthorized
Clé API manquante ou invalide
{ "error": "API key required", "message": "Include your API key in the X-API-Key header" }Forbidden
Mise à niveau du plan requise
{ "error": "Pro plan required", "message": "Graded card prices require a Pro plan.", "code": "UPGRADE_REQUIRED" }Not Found
La ressource n'existe pas
{ "error": "Card not found", "message": "No card exists with this ID" }Rate Limited
Trop de requêtes
{ "error": "Rate limit exceeded", "message": "Daily limit reached. Resets at 2026-01-18T00:00:00Z", "retryAfter": 3600 }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→