Você precisa permitir que os usuários pesquisem cartões esportivos específicos e, em seguida, mostre os preços de venda recentes para o cartão e a classificação exatos. Ao final deste guia, você será capaz de conectar uma caixa de pesquisa para encontrar cartões e uma solicitação de acompanhamento que retorna uma série temporal de preços para o cartão e a classificação escolhidos usando a API de Cartões Esportivos e Cartões de Troca no Zyla API Hub.
O que esta API oferece
A API de Cartões Esportivos e Cartões de Troca expõe duas capacidades principais que você pode implementar esta semana:
- Pesquisa de Cartões: pesquisa difusa que retorna cartões de troca correspondentes com metadados (jogador, conjunto, número, variante, imagens, categoria e um card_id estável que você usará posteriormente).
- Obter Preços de Cartões: série temporal dos últimos preços para um dado card_id e classificação ao longo de um número solicitado de dias.
Os desenvolvedores usam esses endpoints para alimentar catálogos de cartões impulsionados por pesquisa, gráficos de preços, alertas e recursos de avaliação de portfólio em aplicativos focados em esportes.
Começando no Zyla API Hub
Abra a listagem no Zyla API Hub e inscreva-se para obter sua chave de API. A Zyla usa um modelo de assinatura + cota (não pago por chamada). Para esta API, você pode começar com um teste de 7 dias ou 50 solicitações para testar sua integração. Verifique a página da API para opções de acesso e preços atuais.
Você pode navegar por mais de 10.000 APIs públicas em zylalabs.com. Uma conta, uma chave de API, gerenciamento de assinatura consistente em todo o mercado.
Endpoint 1: Pesquisa de Cartões
Pesquise cartões combinando quaisquer detalhes que você tenha em uma única string. Isso retorna um array JSON de cartões correspondentes, incluindo um card_id que você usará com a precificação.
- Método: GET
- URL: https://zylalabs.com/api/2511/sports-card-and-trading-card-api/2494/card-search
- Parâmetro de consulta obrigatório:
search(string) - Auth:
Authorization: Bearer YOUR_API_KEY
cURL
curl -s -X GET "https://zylalabs.com/api/2511/sports-card-and-trading-card-api/2494/card-search?search=Lebron+James" \
-H "Authorization: Bearer YOUR_API_KEY"
RESPOSTA REAL DA API
[
{
"description": "LeBron James 2003 Topps Basketball",
"player": "Lebron James",
"set": "2003 Topps Basketball",
"number": "221",
"variant": "Base",
"card_id": "1588290260620x609083468203688000",
"image": "//s3.amazonaws.com/appforest_uf/f1588290324330x374737296708651100/2003-Topps-Basketball-LeBron-James-graded.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Basketball"
},
{
"description": "LeBron James 2003 Upper Deck Rookie Exclusives Basketball",
"player": "Lebron James",
"set": "2003 Upper Deck Rookie Exclusives Basketball",
"number": "1",
"variant": "Base",
"card_id": "1593982609906x272877681796710400",
"image": "//s3.amazonaws.com/appforest_uf/f1593982606419x316822824595257800/2003-Upper-Deck-Rookie-Exclusives-Lebron-James-1.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Upper Deck Rookie Exclusives Basketball"
},
{
"description": "LeBron James 2025 Topps Chrome Cactus Jack Basketball",
"player": "LeBron James",
"set": "2025 Topps Chrome Cactus Jack Basketball",
"number": "46",
"variant": "Base",
"card_id": "1782184797693x851477815192830800",
"image": "//942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1766768512710x492230808547762700/resize",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Chrome Cactus Jack Basketball"
},
{
"description": "LeBron James 2003 Topps Chrome Basketball",
"player": "Lebron James",
"set": "2003 Topps Chrome Basketball",
"number": "111",
"variant": "Base",
"card_id": "1586412050491x786559417729941500",
"image": "//942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1766768512710x492230808547762700/resize",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Chrome Basketball"
},
{
"description": "LeBron James 2024 Panini Prizm Basketball",
"player": "LeBron James",
"set": "2024 Panini Prizm Basketball",
"number": "130",
"variant": "Base",
"card_id": "1740403688997x505339465151470000",
"image": "//942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1757384268822x692013733346557700/resize",…
Campos-chave que você realmente usará:
card_id: o identificador único exigido pelo endpoint de precificação.description,player,set,number,variant: metadados de exibição para sua interface de usuário.image: um caminho para uma imagem que você pode renderizar; armazene ao lado do cartão para miniaturas.category,category_group,set_type: úteis para filtragem e agrupamento.
Endpoint 2: Obter Preços de Cartões
Recupere preços recentes para um cartão e classificação específicos como uma série temporal. Você deve passar um card_id dos resultados da pesquisa.
- Método: GET
- URL: https://zylalabs.com/api/2511/sports-card-and-trading-card-api/2495/get-card-prices
- Parâmetros de consulta obrigatórios:
card_id(string): por exemplo, um valor dos resultados da Pesquisa de Cartões.days(string): comprimento da janela de tempo (por exemplo,90).grade(string): por exemplo,PSA 10.
- Auth:
Authorization: Bearer YOUR_API_KEY
cURL
Exemplo de resposta
[
{
"closing_date": "2026-08-03T23:59:00.000Z",
"Grade": "PSA 10",
"card_id": "1586412050491x786559417729941500",
"price": "16150.00"
},
{
"closing_date": "2026-08-01T23:59:00.000Z",
"Grade": "PSA 10",
"card_id": "1586412050491x786559417729941500",
"price": "18250.00"
},
{
"closing_date": "2026-07-31T23:59:00.000Z",
"Grade": "PSA 10",
"card_id": "1586412050491x786559417729941500",
"price": "17900.00"
},
{
"closing_date": "2026-07-27T23:59:00.000Z",
"Grade": "PSA 10",
"card_id": "1586412050491x786559417729941500",
"price": "17303.00"
},
{
"closing_date": "2026-07-21T23:59:00.000Z",
"Grade": "PSA 10",
"card_id": "1586412050491x786559417729941500",
"price": "17373.00"
},
{
"closing_date": "2026-07-17T23:59:00.000Z",
"Grade": "PSA 10",
"card_id": "1586412050491x786559417729941500",
"price": "15337.20"
},
{
"closing_date": "2026-07-15T23:59:00.000Z",
"Grade": "PSA 10",
"card_id": "1586412050491x786559417729941500",…
Notas de implementação:
closing_dateé ISO 8601 comZ(UTC). Trate-o como um timestamp UTC.priceé retornado como uma string. Analise para um tipo decimal na sua linguagem para evitar problemas de arredondamento de ponto flutuante. A moeda não é especificada na documentação; exiba com o contexto apropriado na sua interface de usuário.- As entradas são medições de série temporal; classifique por
closing_datese precisar de gráficos cronológicos.
Exemplo mínimo em Python: buscar o preço mais recente para um cartão classificado
Este exemplo usa o endpoint de Preços para obter o ponto de dados mais recente e imprimir a data e o preço. Ele combina bem com uma interface de usuário que primeiro seleciona um cartão via Pesquisa de Cartões e, em seguida, passa o card_id selecionado para esta função.
import os
import requests
from datetime import datetime
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
url = "https://zylalabs.com/api/2511/sports-card-and-trading-card-api/2495/get-card-prices"
params = {
"card_id": "1586412050491x786559417729941500", # da Pesquisa de Cartões
"days": "90",
"grade": "PSA 10"
}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, params=params, headers=headers, timeout=20)
resp.raise_for_status()
data = resp.json()
# Classifique por closing_date em ordem decrescente para obter o mais recente
def parse_dt(iso):
return datetime.fromisoformat(iso.replace("Z", "+00:00"))
latest = sorted(data, key=lambda d: parse_dt(d["closing_date"]), reverse=True)[0]
print({
"closing_date_utc": latest["closing_date"],
"grade": latest.get("Grade"),
"card_id": latest.get("card_id"),
"price_str": latest.get("price")
})
Dois casos de uso práticos que você pode implementar agora
1) Widget de avaliação de pesquisa para preço
Permita que os usuários digitem “Lebron James 2003 Topps Chrome 111 PSA 10” e selecionem a correspondência exata da Pesquisa de Cartões. Armazene o card_id retornado, exiba a imagem e os metadados fornecidos, e então consulte Obter Preços de Cartões com uma janela escolhida (por exemplo, days=90) e grade=PSA 10. Renderize os preços como um gráfico de linhas indexado por closing_date para mostrar tendências.
- Caminho rápido da consulta difusa para o
card_idcanônico. - Visão de preços transparente: serialize a série para gráficos e resumos.
- Salve tanto o
card_idquanto agradecom a seleção do usuário para alertas futuros (veja abaixo).
2) Lista de observação e alertas de preços para inventário classificado
Se seu aplicativo rastrear as posses classificadas de um colecionador, armazene seu card_id e grade por item. Em um cronograma, puxe preços recentes via o endpoint de Preços e calcule deltas desde a última coleta. Dispare alertas em limites (por exemplo, 10% de mudança nos últimos 30 dias) usando a série temporal ordenada de closing_date e price. Apresente um gráfico compacto além do último ponto de preço no painel.
- Use classificação consistente nas consultas (por exemplo,
PSA 10) para alinhar com os campos de inventário do usuário. - Armazene as respostas mais recentes brevemente para evitar buscas redundantes durante interações de gráfico.
Dicas de implementação que economizam tempo
- Entrada de pesquisa: O endpoint de Pesquisa de Cartões aceita uma única string
search. Combine detalhes como jogador, ano, conjunto, número do cartão e variante para aumentar a qualidade da correspondência. - Fuso horário: Trate
closing_datecomo UTC; converta para o horário local do usuário apenas para exibição. - Manipulação numérica:
priceé uma string; analise em Decimal/BigNumber para matemática precisa. - Cache: Armazene resultados de pesquisa por string de consulta. Para séries de preços, armazene por tupla
(card_id, grade, days)para um TTL curto para suavizar renderizações de gráfico repetidas. - Cotas: A Zyla usa um modelo de assinatura + cota. Para esta API, você pode começar com um teste de 7 dias ou 50 solicitações para validar sua integração antes de escalar. Monitore o uso no seu painel Zyla.
- Supervisão de erros: Se a pesquisa gerar várias correspondências próximas, exija confirmação do usuário antes de buscar preços para evitar misturar
card_ids entre variantes.
Chamada de um agente de IA via MCP
Se você estiver orquestrando isso a partir de um cliente compatível com MCP (Claude Code, Cursor, Windsurf, etc.), você pode direcionar chamadas HTTPS através do endpoint MCP da Zyla. Configure seu agente/ferramenta para emitir solicitações GET para os mesmos URLs do Hub e incluir o token Bearer. Veja MCP para detalhes e conecte-o com sua chave de API. Fluxo típico:
- Chamada da ferramenta: GET Pesquisa de Cartões com string
search, capture umcard_id. - Chamada da ferramenta: GET Preços com
card_id,daysegrade, retorne uma série temporal para o agente resumir ou visualizar.
Isso mantém o pipeline de recuperação do seu agente simples: um passo de pesquisa, um passo de métricas, mesma autenticação e URLs que você usa do seu código de servidor.
Lista de verificação de fiação de ponta a ponta
- UI: entrada de texto única para Pesquisa de Cartões; lista de resultados mostrando
description,imageevariant. - Estado: ao selecionar, persista
card_id,player,set,number,variant,image. - Precificação: busque com
daysrelevantes para seu gráfico (30/90), egradeselecionada pelo usuário. - Gráficos: eixo x a partir de
closing_date(UTC), eixo y analisado a partir depricecomo decimal. - Fallbacks: se não houver preços para uma dada
grade, solicite ao usuário que escolha uma grade diferente ou oculte o gráfico. - Monitoramento: registre as strings de consulta que você envia para Pesquisa de Cartões para refinar sugestões do lado do cliente.
Explore mais integrações focadas em esportes no Zyla API Hub e consolide suas chaves em um único fluxo de trabalho de mercado.
FAQ
Como obtenho o card_id correto para precificação?
Use primeiro o endpoint de Pesquisa de Cartões. A partir dos resultados, escolha o cartão específico e leia seu campo card_id. Passe esse valor exato para o endpoint Obter Preços de Cartões.
Em que fuso horário estão os campos de data?closing_date é ISO 8601 com um Z final, indicando UTC. Converta para o horário local apenas para exibição; mantenha armazenamento e cálculos em UTC para consistência.
Em que moeda estão os preços?
A resposta retorna price como uma string; a documentação não especifica uma moeda. Apresente os preços com rotulagem clara e evite assumir moeda em cálculos. Se você expuser moeda aos usuários, forneça contexto em sua interface de usuário.
Há um plano gratuito?
Nenhum plano gratuito é oferecido. A API usa um modelo de assinatura + cota. Você pode começar com um teste de 7 dias ou 50 solicitações para avaliar. Verifique a página da API para opções de acesso e preços atuais.
Posso restringir a pesquisa por conjunto ou ano?
A Pesquisa de Cartões aceita uma única string search. Para melhores resultados, combine detalhes como jogador, ano, conjunto, número do cartão e variante (por exemplo, “LeBron James 2003 Topps Chrome 111”).
Pronto para implementar pesquisa e precificação para cartões esportivos? Comece aqui: Comece o teste de 7 dias na API de Cartões Esportivos e Cartões de Troca.
Resposta oficial da API
[
{
"description": "LeBron James 2003 Topps Basketball",
"player": "Lebron James",
"set": "2003 Topps Basketball",
"number": "221",
"variant": "Base",
"card_id": "1588290260620x609083468203688000",
"image": "//s3.amazonaws.com/appforest_uf/f1588290324330x374737296708651100/2003-Topps-Basketball-LeBron-James-graded.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Basketball"
},
{
"description": "LeBron James 2003 Upper Deck Rookie Exclusives Basketball",
"player": "Lebron James",
"set": "2003 Upper Deck Rookie Exclusives Basketball",
"number": "1",
"variant": "Base",
"card_id": "1593982609906x272877681796710400",
"image": "//s3.amazonaws.com/appforest_uf/f1593982606419x316822824595257800/2003-Upper-Deck-Rookie-Exclusives-Lebron-James-1.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Upper Deck Rookie Exclusives Basketball"
},
{
"description": "LeBron James 2025 Topps Chrome Cactus Jack Basketball",
"player": "LeBron James",
"set": "2025 Topps Chrome Cactus Jack Basketball",
"number": "46",
"variant": "Base",
"card_id": "1782184797693x851477815192830800",
"image": "//s3.amazonaws.com/appforest_uf/f1598843985116x489100344198574160/05-Basketball.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Chrome Cactus Jack Basketball"
},
{
"description": "LeBron James 2003 Topps Chrome Basketball",
"player": "Lebron James",
"set": "2003 Topps Chrome Basketball",
"number": "111",
"variant": "Base",
"card_id": "1586412050491x786559417729941500",
"image": "//942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1766768512710x492230808547762700/resize",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Chrome Basketball"
},
{
"description": "LeBron James 2024 Panini Prizm Basketball",
"player": "LeBron James",
"set": "2024 Panini Prizm Basketball",
"number": "130",
"variant": "Base",
"card_id": "1740403688997x505339465151470000",
"image": "//942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1757384268822x692013733346557700/resize",…
Resposta oficial da API
[
{
"description": "LeBron James 2003 Topps Basketball",
"player": "Lebron James",
"set": "2003 Topps Basketball",
"number": "221",
"variant": "Base",
"card_id": "1588290260620x609083468203688000",
"image": "//s3.amazonaws.com/appforest_uf/f1588290324330x374737296708651100/2003-Topps-Basketball-LeBron-James-graded.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Basketball"
},
{
"description": "LeBron James 2003 Upper Deck Rookie Exclusives Basketball",
"player": "Lebron James",
"set": "2003 Upper Deck Rookie Exclusives Basketball",
"number": "1",
"variant": "Base",
"card_id": "1593982609906x272877681796710400",
"image": "//s3.amazonaws.com/appforest_uf/f1593982606419x316822824595257800/2003-Upper-Deck-Rookie-Exclusives-Lebron-James-1.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Upper Deck Rookie Exclusives Basketball"
},
{
"description": "LeBron James 2025 Topps Chrome Cactus Jack Basketball",
"player": "LeBron James",
"set": "2025 Topps Chrome Cactus Jack Basketball",
"number": "46",
"variant": "Base",
"card_id": "1782184797693x851477815192830800",
"image": "//s3.amazonaws.com/appforest_uf/f1598843985116x489100344198574160/05-Basketball.jpg",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Chrome Cactus Jack Basketball"
},
{
"description": "LeBron James 2003 Topps Chrome Basketball",
"player": "Lebron James",
"set": "2003 Topps Chrome Basketball",
"number": "111",
"variant": "Base",
"card_id": "1586412050491x786559417729941500",
"image": "//942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1766768512710x492230808547762700/resize",
"category": "Basketball",
"category_group": "Sports Cards",
"set_type": "Topps Chrome Basketball"
},
{
"description": "LeBron James 2024 Panini Prizm Basketball",
"player": "LeBron James",
"set": "2024 Panini Prizm Basketball",
"number": "130",
"variant": "Base",
"card_id": "1740403688997x505339465151470000",
"image": "//942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1757384268822x692013733346557700/resize",…