Volver al Blog
Recursos para Desarrolladores/28 de enero de 2026/15 min de lectura

Guía del Desarrollador de la API de PokeTrace

La API de PokeTrace proporciona datos de precios en tiempo real para más de 60,000+ cartas Pokemon. Esta guía cubre todo lo que necesitas para integrar la API en tu aplicación: autenticación, endpoints, formatos de respuesta, manejo de errores y mejores prácticas de producción.

Editor de código mostrando integración de la API de PokeTrace con datos de respuesta JSON
Construye aplicaciones de cartas Pokemon con datos de precios reales de mercados de EE.UU. y EU

Accede a precios de cartas graduadas PSA, BGS y CGC junto con valores de cartas raw de TCGPlayer, eBay y CardMarket.

01

Inicio Rápido

Comienza en tres pasos: (1) Crea una cuenta en poketrace.com/dashboard, (2) Genera una clave API, (3) Añade el header X-API-Key a tus peticiones. Eso es todo—estás listo para consultar datos de cartas.

La URL base para todas las peticiones de la API es https://api.poketrace.com/v1. Todos los endpoints requieren autenticación mediante el header X-API-Key. La API devuelve respuestas JSON con estructura consistente en todos los endpoints.

Consulta el estado de la API en status.poketrace.com. Para actualizaciones en tiempo real mediante WebSocket (solo plan Scale), conéctate a wss://api.poketrace.com/ws con tu clave API.

02

Autenticación

Todas las peticiones de la API requieren una clave API pasada en el header X-API-Key. Las claves son gratuitas y los límites de tasa se aplican por cuenta, no por clave—crea múltiples claves para diferentes proyectos sin dividir tu cuota.

Steps

  1. 1.Regístrate en poketrace.com/dashboard
  2. 2.Haz clic en 'Create' para generar una nueva clave API
  3. 3.Copia tu clave (formato: pc_xxxxxxxx)
  4. 4.Incluye X-API-Key: TU_CLAVE en los headers de las peticiones
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
Nunca subas claves API a repositorios públicos. Usa variables de entorno: process.env.POKETRACE_API_KEY en Node.js o os.environ['POKETRACE_API_KEY'] en Python.
03

Endpoints de la API

La API proporciona cuatro endpoints principales. Las cartas están separadas por mercado—las cartas de EE.UU. tienen datos de TCGPlayer y eBay, las cartas de EU tienen datos de CardMarket.

GET /v1/cards

Lista cartas con paginación y filtros. Devuelve información básica de cartas sin precios completos.

Params: limit (máx 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

Obtén detalles completos de la carta con precios por fuente y nivel. Las cartas de EE.UU. incluyen ebay (todos los niveles) + tcgplayer (solo raw). Las cartas de EU incluyen cardmarket (tendencia de precios con promedios históricos) + cardmarket_unsold (listados activos con desglose por nivel/país).

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

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

Lista todos los sets de cartas con metadatos. Usa los slugs de sets para filtrar cartas.

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

Obtén información de tu clave API y estadísticas de uso. Consulta peticiones restantes, tiempo de reinicio y detalles del 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

Obtén datos históricos de precios para un nivel específico. Útil para gráficos y análisis de tendencias.

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

Límites de Tasa

Los límites de tasa se aplican por cuenta, no por clave. Cada respuesta incluye headers mostrando tu uso actual.

Free

250 / day

Solo EE.UU.

Solo condiciones raw

Pro

10,000 / day

EE.UU. + EU

Raw + Graduadas (PSA, BGS, CGC)

Scale

100,000 / day

EE.UU. + EU

Raw + Graduadas + WebSocket

Response Headers

  • X-RateLimit-Limit — Límite diario de peticiones de tu plan
  • X-RateLimit-Remaining — Peticiones restantes hoy
  • X-RateLimit-Reset — Marca de tiempo ISO8601 cuando se reinicia el límite
  • X-Plan — Tu plan actual (Free, Pro, Scale)
Cachea las respuestas agresivamente. Los precios se actualizan cada pocas horas—cachear durante 15-60 minutos reduce significativamente las llamadas a la API.
05

Ejemplos de Código Completos

Copia y pega estos ejemplos para comenzar. Reemplaza YOUR_KEY con tu clave API real.

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

Manejo de Errores

La API usa códigos de estado HTTP estándar. Todas las respuestas de error incluyen campos error y message.

400

Bad Request

Parámetros inválidos

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

Unauthorized

Clave API faltante o inválida

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

Forbidden

Se requiere actualizar el plan

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

Not Found

El recurso no existe

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

Rate Limited

Demasiadas peticiones

{ "error": "Rate limit exceeded", "message": "Daily limit reached. Resets at 2026-01-18T00:00:00Z", "retryAfter": 3600 }
Para errores 429, usa el campo retryAfter (segundos) o el header X-RateLimit-Reset. Implementa backoff exponencial: espera 1s, luego 2s, luego 4s entre reintentos.
07

Preguntas Frecuentes

¿Cuál es la diferencia entre cartas de EE.UU. y EU?

Las cartas son específicas por mercado. Las cartas de EE.UU. tienen precios de TCGPlayer y eBay en USD. Las cartas de EU tienen precios de CardMarket en EUR con desgloses por país (DE, FR, IT, etc.). Cada carta pertenece a un solo mercado.

¿Qué empresas de graduación están soportadas?

Soportamos 15 empresas de graduación incluyendo PSA, BGS, CGC, ACE, TAG y más. Los precios de cartas graduadas están disponibles en los planes Pro y Scale. El campo gradedOptions en cada carta muestra los grados disponibles.

¿Cómo obtengo actualizaciones de precios en tiempo real?

Las conexiones WebSocket están disponibles en el plan Scale. Conéctate a wss://api.poketrace.com/ws con tu clave API. Suscríbete a cartas específicas para recibir actualizaciones instantáneas de precios cuando ocurran nuevas ventas.

¿Puedo usar la API para proyectos comerciales?

Sí. El nivel gratuito permite uso no comercial. Los planes Pro y Scale incluyen licencias comerciales. Consulta nuestros términos de servicio para más detalles.

¿Qué tan precisos son los datos de precios?

Los precios se basan en ventas completadas verificadas de TCGPlayer, eBay y CardMarket. Actualizamos cada pocas horas. Cada nivel de precio incluye una puntuación de confianza (high, medium, low) y saleCount para que puedas evaluar la fiabilidad.

Comienza a Construir Hoy

Obtén tu clave API gratuita y comienza a construir aplicaciones de cartas Pokemon. 250 peticiones por día, sin tarjeta de crédito requerida.

Obtener Clave API Gratis