您需要让用户搜索特定的体育交易卡,然后显示该卡和等级的最新销售价格。在本指南结束时,您将能够连接一个搜索框来查找卡片,以及一个后续请求,该请求使用 Zyla API Hub 上的体育卡和交易卡 API 返回所选卡片和等级的价格时间序列。
该 API 提供的功能
体育卡和交易卡 API 提供了两个核心功能,您可以在本周发布:
- 卡片搜索:模糊搜索,返回带有元数据(球员、系列、编号、变体、图像、类别和您将在下游使用的稳定 card_id)的匹配交易卡。
- 获取卡片价格:给定 card_id 和等级的最新价格时间序列,持续请求的天数。
开发人员使用这些端点来驱动以搜索为基础的卡片目录、价格图表、警报和体育应用中的投资组合估值功能。
在 Zyla API Hub 上开始
打开 Zyla API Hub 上的列表并订阅以获取您的 API 密钥。Zyla 使用订阅 + 配额模型(不是按调用付费)。对于此 API,您可以开始进行 7 天的试用或 50 次请求以测试您的集成。请查看 API 页面以获取当前访问选项和定价。
您可以在 zylalabs.com 浏览超过 10,000 个公共 API。一个帐户,一个 API 密钥,市场中的一致订阅处理。
端点 1:卡片搜索
通过将您拥有的任何详细信息组合成一个字符串来搜索卡片。这将返回一个匹配卡片的 JSON 数组,包括您将在定价中使用的 card_id。
- 方法:GET
- URL: https://zylalabs.com/api/2511/sports-card-and-trading-card-api/2494/card-search
- 所需查询参数:
search(字符串) - 认证:
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"
真实 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",…
您实际使用的关键字段:
card_id:定价端点所需的唯一标识符。description、player、set、number、variant:用于您的 UI 的显示元数据。image:您可以渲染的图像路径;与卡片一起存储以供缩略图使用。category、category_group、set_type:用于过滤和分组。
端点 2:获取卡片价格
检索特定卡片和等级的最近价格作为时间序列。您必须传递来自搜索结果的 card_id。
- 方法:GET
- URL: https://zylalabs.com/api/2511/sports-card-and-trading-card-api/2495/get-card-prices
- 所需查询参数:
card_id(字符串):例如,来自卡片搜索结果的值。days(字符串):时间窗口长度(例如,90)。grade(字符串):例如,PSA 10。
- 认证:
Authorization: Bearer YOUR_API_KEY
cURL
示例响应
[
{
"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",…
实施说明:
closing_date是 ISO 8601 格式,带有Z(UTC)。将其视为 UTC 时间戳。price作为字符串返回。在您的语言中解析为十进制类型,以避免浮点舍入问题。文档中未指定货币;在您的 UI 中以适当的上下文显示。- 条目是时间序列测量;如果您需要按时间顺序的图表,请按
closing_date排序。
最小 Python 示例:获取已评级卡片的最新价格
此示例使用价格端点获取最新数据点并打印日期和价格。它与首先通过卡片搜索选择卡片,然后将所选的 card_id 传递给此函数的 UI 配合良好。
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", # 来自卡片搜索
"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()
# 按 closing_date 降序排序以获取最新
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")
})
您现在可以发布的两个实际用例
1)搜索到价格估值小部件
让用户输入“Lebron James 2003 Topps Chrome 111 PSA 10”并从卡片搜索中选择精确匹配。存储返回的 card_id,显示提供的图像和元数据,然后使用所选窗口(例如,days=90)和 grade=PSA 10 查询获取卡片价格。将价格呈现为按 closing_date 键入的折线图,以显示趋势。
- 从模糊查询到规范
card_id的快速路径。 - 透明的定价视图:序列化系列以用于图表和摘要。
- 将
card_id和grade与用户的选择一起保存,以便后续警报(见下文)。
2)已评级库存的观察列表和价格警报
如果您的应用程序跟踪收藏家的已评级持有,按项目存储他们的 card_id 和 grade。按计划,通过价格端点提取最近价格,并计算自上次提取以来的增量。根据 closing_date 和 price 的有序时间序列在阈值(例如,过去 30 天内的 10% 变化)上触发警报。在仪表板中呈现紧凑的火花线图以及最新的价格点。
- 在查询中使用一致的评级(例如,
PSA 10)以与用户库存字段对齐。 - 短暂缓存最近的响应,以避免在图表交互期间重复提取。
节省时间的实施提示
- 搜索输入:卡片搜索端点接受单个
search字符串。组合球员、年份、系列、卡片编号和变体等详细信息以提高匹配质量。 - 时区:将
closing_date视为 UTC;仅在显示时转换为用户的本地时间。 - 数字处理:
price是字符串;解析为 Decimal/BigNumber 以进行准确的数学运算。 - 缓存:按查询字符串缓存搜索结果。对于价格系列,通过元组
(card_id, grade, days)缓存以短 TTL 平滑重复的图表渲染。 - 配额:Zyla 使用订阅 + 配额模型。对于此 API,您可以开始进行 7 天的试用或 50 次请求,以验证您的集成,然后再扩展。在您的 Zyla 仪表板中监控使用情况。
- 错误显示:如果搜索产生多个接近的匹配项,请在提取价格之前要求用户确认,以避免在变体之间混合
card_id。
通过 MCP 从 AI 代理调用
如果您是从 MCP 兼容客户端(Claude Code、Cursor、Windsurf 等)进行编排,您可以通过 Zyla MCP 端点路由 HTTPS 调用。配置您的代理/工具以向相同的 Hub URL 发出 GET 请求,并包括 Bearer 令牌。有关详细信息,请参见 MCP 并将其与您的 API 密钥连接。典型流程:
- 工具调用:使用
search字符串 GET 卡片搜索,捕获card_id。 - 工具调用:使用
card_id、days和gradeGET 价格,返回供代理总结或可视化的时间序列。
这使您的代理检索管道保持简单:一个搜索步骤,一个指标步骤,使用您从服务器代码中使用的相同身份验证和 URL。
端到端连接清单
- UI:卡片搜索的单个文本输入;列表结果显示
description、image和variant。 - 状态:在选择时,持久化
card_id、player、set、number、variant、image。 - 定价:使用与您的图表相关的
days(30/90)和用户选择的grade进行提取。 - 图表:x 轴来自
closing_date(UTC),y 轴从price解析为十进制。 - 后备:如果给定
grade没有价格,请提示用户选择不同的等级或隐藏图表。 - 监控:记录您发送到卡片搜索的查询字符串,以优化客户端建议。
在 Zyla API Hub 上探索更多以体育为中心的集成,并将您的密钥整合到一个市场工作流程中。
常见问题
我如何获取正确的 card_id 以进行定价?
首先使用卡片搜索端点。从结果中选择特定卡片并读取其 card_id 字段。将该确切值传递给获取卡片价格端点。
日期字段的时区是什么?closing_date 是 ISO 8601 格式,带有尾随 Z,表示 UTC。仅在显示时转换为本地时间;保持存储和计算为 UTC 以确保一致性。
价格使用什么货币?
响应将 price 作为字符串返回;文档未指定货币。在显示价格时提供清晰的标签,避免在计算中假设货币。如果您向用户公开货币,请在您的 UI 中提供上下文。
是否提供免费计划?
不提供免费计划。该 API 使用订阅 + 配额模型。您可以开始进行 7 天的试用或 50 次请求以进行评估。请查看 API 页面以获取当前访问选项和定价。
我可以按系列或年份限制搜索吗?
卡片搜索接受单个 search 字符串。为了获得最佳结果,请组合球员、年份、系列、卡片编号和变体等详细信息(例如,“LeBron James 2003 Topps Chrome 111”)。
准备好实现体育卡的搜索和定价了吗?从这里开始: 开始 7 天试用体育卡和交易卡 API。
官方 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",…
官方 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",…