블로그로 돌아가기
공지|2026-02-15|9 min read

TCG API 소개: 모든 트레이딩 카드 게임을 위한 하나의 API

기존 서비스 중 다수의 마켓에서 실제 가격 데이터를 제공하며 주요 TCG를 모두 아우르는 것은 없었습니다. 오늘, 전 세계 개발자들에게 TCG API를 공개합니다.

TCG API를 만든 이유

최근 몇 년 사이 트레이딩 카드 시장은 폭발적으로 성장했습니다. Pokemon, Magic: The Gathering, Yu-Gi-Oh!, One Piece — 그 어느 때보다 많은 게임, 더 많은 수집가, 더 많은 자금이 시장을 움직이고 있습니다. 하지만 개발자들이 활용할 수 있는 도구는 이 흐름을 따라가지 못했습니다.

카드 가격을 추적하는 앱을 만들려면 두 가지 선택지밖에 없었습니다: 직접 웹사이트를 스크래핑하는 것(불안정하고, 느리고, 법적으로 불명확함), 또는 단일 게임만 제한된 데이터로 제공하는 소수의 기존 API를 사용하는 것. 어느 쪽도 진지한 개발 작업에 적합하지 않았습니다.

TCG API는 바로 이 문제를 해결하기 위해 만들어졌습니다. 약 1년간의 내부 개발과 베타 테스트를 거쳐 전 세계 개발자들에게 공개했고, 반응은 놀라웠습니다. 지금부터 TCG API가 제공하는 것들을 소개합니다.

하나의 API로 8개 게임을

TCG API는 TCGPlayer와 eBay 양쪽의 가격 데이터를 포함하여 8개 트레이딩 카드 게임을 커버하는 단일 통합 REST API입니다. 하나의 API 호출로 Charizard ex와 Black Lotus를 동시에 검색하고, Pokemon 가격과 Yu-Gi-Oh! 가격을 비교하며, 다섯 개의 데이터 소스를 이어붙이지 않고도 멀티게임 포트폴리오 트래커를 만들 수 있습니다.

지원하는 각 게임을 살펴보겠습니다:

Pokemon TCG

거래량 기준 가장 큰 TCG 시장입니다. Pokemon 데이터베이스는 Base Set(1999년)부터 현재 Scarlet & Violet 시리즈까지 60,000장 이상의 카드를 포함합니다. 프로모 카드와 지역 한정 버전도 수록되어 있습니다. 가격은 Near Mint부터 Damaged까지 모든 상태를 포함하며, PSA, BGS, CGC 등급 카드 가격도 제공합니다.

Pokemon Japan

일본 Pokemon 카드는 별도의 가격 구조를 가진 독립 시장입니다. 일본 독점 세트, 프로모 카드, 영어판 대비 상당한 프리미엄에 거래되는 고희귀도 버전을 추적합니다. 영어판과 일본판 가격을 별도로 관리하므로 같은 카드의 두 버전 가치를 쉽게 비교할 수 있습니다.

Magic: The Gathering

MTG 데이터베이스는 당사 시스템에서 가장 복잡합니다. 30년 이상의 세트에 걸쳐 90,000가지 이상의 고유 프린팅이 수록되어 있습니다. Standard 레갈 세트, Reserved List 카드, Commander 필수 카드 등 모든 범위의 가격을 추적합니다. Magic의 경우 eBay 판매 데이터가 특히 유용합니다 — Reserved List 듀얼 랜드의 LP 상태 카드는 종종 TCGPlayer 호가보다 훨씬 낮은 가격에 거래되기 때문입니다.

Yu-Gi-Oh!

Yu-Gi-Oh!는 빠르게 움직이는 경쟁 메타의 영향을 받아 TCG 중에서도 가격 변동성이 가장 큰 편에 속합니다. 데이터베이스는 50,000장 이상의 카드를 포함하며, 희귀 버전에 특별히 주목합니다 — Starlight Rare, Ghost Rare, Ultimate Rare는 각각 별도의 가격 항목을 가지고 있습니다. 메타 변화로 한 주 만에 카드 가격이 10배 이상 변동할 수 있어, 최신 eBay 판매 데이터가 특히 중요합니다.

One Piece Card Game

당사 데이터베이스에서 가장 빠르게 성장하는 게임입니다. One Piece는 2023년 영어판이 출시되며 폭발적인 성장을 보였습니다. 영어 및 일본어 전 세트를 커버하며, 이 게임의 주요 고가 카드인 얼터너티브 아트 리더와 Secret Rare 버전에 특히 주목합니다. 일본판과 영어판의 가격 차이는 별도로 추적됩니다.

Disney Lorcana

Lorcana는 안정적인 수집가 시장을 형성했습니다. 데이터베이스는 출시 이후 모든 세트를 포함하며, 출시 당시부터의 eBay 판매 데이터도 충실히 수록되어 있습니다. Enchanted 희귀도 카드가 고가 싱글의 주요 동력이며, 가장 인기 있는 Enchanted 카드의 초기 PSA/BGS 등급 데이터도 제공합니다.

Star Wars: Unlimited

Star Wars: Unlimited은 2024년 초에 출시되어 헌신적인 경쟁 및 수집가 커뮤니티를 형성했습니다. 일반 버전과 쇼케이스 버전의 가격을 포함해 전 세트를 추적합니다. 쇼케이스 카드는 얼터너티브 아트에 해당하며 상당한 프리미엄을 형성합니다.

Flesh and Blood

FaB는 규모는 작지만 매우 열정적인 커뮤니티를 보유하고 있습니다. 대부분의 세트에 대한 수요 기반 인쇄 모델 덕분에 가격이 비교적 안정적이지만, Monarch나 Tales of Aria 같은 세트의 초기 Cold Foil 및 Rainbow Foil 버전은 상당한 프리미엄에 거래됩니다. 데이터베이스는 2019년 게임 출시 이후 전 세트를 포함합니다.

실제 시장의 실제 가격

단일 마켓플레이스에서만 데이터를 가져오지 않습니다. 모든 카드에는 구조적으로 다른 두 시장의 가격 정보가 포함됩니다:

TCGPlayer 가격

TCGPlayer는 개별 판매자가 정해진 가격에 카드를 등록하는 마켓플레이스입니다. 다음 데이터를 수집합니다:

  • 시장가(Market price) — 단순 리스팅이 아닌 최근 판매의 가중 평균
  • 최저가(Low) — 가장 저렴한 매물
  • 중간가(Mid) — 리스팅 가격의 중간값
  • 최고가(High) — 가장 비싼 매물

상태별로 이 네 가지 데이터 포인트를 제공하여 소매 공급 측면의 전체 상황을 파악할 수 있습니다. lowmarket이 가까우면 공급이 건강한 상태입니다. highmarket보다 현저히 높으면 누군가 투기 목적으로 리스팅한 것입니다.

eBay 판매 가격

eBay의 경매 및 고정가 판매는 실제 완료된 거래 — 실제로 이루어진 금전 교환 — 를 나타냅니다. 이를 다음과 같이 집계합니다:

  • 1일 평균 — 가장 신선한 신호, 빠르게 움직이는 카드에 유용
  • 7일 평균 — 대부분의 가격 판단에 대한 표준 기준
  • 30일 평균 — 평활화된 추세 데이터, 단일 이상치 판매의 영향을 덜 받음

TCGPlayer 시장가와 eBay 판매 평균 간의 비교는 TCG 시장에서 가장 실행 가능한 데이터 포인트 중 하나입니다. eBay가 지속적으로 TCGPlayer보다 높으면, 소매 시장이 실제 수요를 따라가지 못하고 있는 것입니다. TCGPlayer가 eBay보다 높으면, 구매자가 실제로 지불하려는 금액에 비해 소매 측이 과대평가되어 있을 수 있습니다.

TCG Price Lookup은 어떤 카드에 대해서든 이 비교를 즉시 보여줍니다 — 구매나 판매 전 빠른 확인에 유용합니다.

등급 카드 데이터

등급 카드는 고유한 가격 역학을 가진 별도의 시장 세그먼트입니다. 세 개의 주요 등급 회사에 대한 eBay 판매 평균을 추적합니다:

PSA (Professional Sports Authenticator) — TCG 수집 분야에서 가장 인지도 높은 등급 브랜드입니다. PSA는 1부터 10까지 등급을 매기며, 10(Gem Mint)이 가장 높은 프리미엄을 형성합니다. 인기 카드의 경우 PSA 10은 비등급 Near Mint 카드 대비 5~15배에 거래될 수 있습니다.

BGS (Beckett Grading Services) — Beckett은 반 등급(9.5, 8.5 등)과 센터링, 모서리, 테두리, 표면에 대한 세부 등급을 포함하는 더 세분화된 척도를 사용합니다. BGS 10 "Black Label"(모든 세부 등급이 10)은 극히 희귀하며 일부 카드에서는 PSA 10보다 높은 프리미엄을 형성합니다.

CGC (Certified Guaranty Company) — 원래 만화책 등급으로 알려진 CGC는 TCG 시장에 진입하여 점유율을 키우고 있습니다. CGC 등급은 대부분의 카드에서 PSA보다 유동성이 낮지만, 가격 격차는 좁혀지고 있습니다.

각 등급 회사의 등급을 별도로 추적하는 이유는 시장이 동일하지 않기 때문입니다. 같은 카드의 PSA 10과 CGC 10은 의미 있는 가격 차이를 보일 수 있습니다.

듀얼 마켓 모델 심층 분석

API 설계 전체를 이끄는 인사이트는 단순합니다: TCGPlayer와 eBay는 서로 다른 것을 측정합니다.

TCGPlayer는 판매자가 지금 원하는 카드 가격을 알려줍니다. 미래 지향적입니다 — 판매자는 시장이 받아들일 것으로 생각하는 가격을 기반으로 리스팅합니다.

eBay는 구매자가 실제로 지불한 금액을 알려줍니다. 과거 지향적입니다 — 각 데이터 포인트는 확인된 거래입니다.

어느 시장도 "정답"이 아닙니다. 하지만 둘의 관계는 매우 유용한 정보를 제공합니다:

신호해석
eBay 평균 > TCGPlayer 시장가강한 수요; 소매가가 저평가되어 있을 수 있음
TCGPlayer 시장가 > eBay 평균약한 수요; 소매가가 과평가되어 있을 수 있음
30일간 수렴 추세시장이 균형점을 찾아가는 중
30일간 발산 추세모멘텀 플레이; 외부 이벤트에 반응하는 시장

매장 오너들은 이를 바이 리스트 가격 책정에 활용합니다. 수집가들은 구매 타이밍을 잡는 데 사용합니다. 개발자들은 더 스마트한 가격 도구를 만드는 데 활용합니다.

개발자를 위한 설계

TCG API는 처음부터 개발자 경험을 최우선 과제로 설계했습니다.

예측 가능한 JSON을 제공하는 간단한 REST API. 모든 목록 응답은 동일한 엔벨로프 형식을 따릅니다: 결과를 담는 data 배열과 페이지네이션을 위한 total, limit, offset 필드. 예상치 못한 구조가 없습니다.

API 키 인증. X-API-Key 헤더에 API 키를 전달하면 됩니다. OAuth 절차도, 토큰 갱신 사이클도, SDK도 필요하지 않습니다(SDK도 제공하긴 합니다 — 아래에서 더 설명합니다).

빠른 응답. 인프라는 평균 응답 시간 ~150ms를 목표로 합니다. 가격은 사전 계산되어 캐시됩니다 — 실시간으로 마켓플레이스에 쿼리하지 않습니다.

포괄적인 문서. 모든 엔드포인트에 cURL, JavaScript, Python 예제가 있습니다. 응답 스키마는 모든 필드에 대한 설명과 함께 완전히 문서화되어 있습니다. 자세한 내용은 인터랙티브 문서를 확인하세요.

예측 가능한 속도 제한. Free 티어는 일 200건의 요청을 제공하며, 명확한 429 응답과 X-RateLimit-Remaining / X-RateLimit-Reset 헤더로 항상 현재 상태를 알 수 있습니다. 숨겨진 스로틀링은 없습니다.

예시: 한 번의 호출로 검색과 가격 조회

실제 검색 요청입니다. 가격은 인라인으로 반환됩니다 — 두 번째 호출이 필요 없습니다:

curl "https://api.tcgpricelookup.com/v1/cards/search?q=charizard+ex&game=pokemon" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "data": [
    {
      "id": "019535a1-d5d0-7c12-a3e8-b7f4c6d8e9a2",
      "tcgplayer_id": 510327,
      "name": "Charizard ex",
      "number": "006/197",
      "rarity": "Double Rare",
      "variant": "Standard",
      "image_url": "https://cdn.tcgpricelookup.com/pkmn/sv03/006.jpg",
      "set": { "slug": "obsidian-flames", "name": "Obsidian Flames" },
      "game": { "slug": "pokemon", "name": "Pokemon" },
      "prices": {
        "raw": {
          "near_mint": {
            "tcgplayer": { "market": 48.97, "low": 42.50 },
            "ebay": { "avg_7d": 50.75 }
          }
        },
        "graded": {
          "psa": {
            "10": { "ebay": { "avg_7d": 418.50 } }
          }
        }
      },
      "updated_at": "2026-02-16T12:00:00Z"
    }
  ],
  "total": 47,
  "limit": 20,
  "offset": 0
}

깔끔하고, 예측 가능하며, 즉시 사용 가능합니다. 한 번의 요청으로 카드, 이미지, TCGPlayer 가격, eBay 평균, 등급 가격을 모두 얻을 수 있습니다.

ids 파라미터를 사용해 단일 요청으로 최대 20장의 카드를 ID로 일괄 조회할 수도 있습니다. 전체 엔드포인트 문서는 API 레퍼런스에서 확인하세요.

공식 SDK 및 CLI

출시 이후, API를 더 빠르게 활용할 수 있도록 오픈소스 도구를 제공하고 있습니다:

JavaScript / TypeScript SDK

@tcgpricelookup/sdk 패키지는 전체 API를 타입이 지정된 메서드로 감싸며, 429/5xx에 대한 자동 재시도, 대용량 ID 배열에 대한 투명한 배치 청킹을 제공합니다. 런타임 의존성이 없으며, Node 18+, 브라우저, Cloudflare Workers, Bun, Deno에서 작동합니다.

import { TcgLookupClient } from "@tcgpricelookup/sdk";

const tcg = new TcgLookupClient({ apiKey: process.env.TCG_API_KEY });

const { data } = await tcg.cards.search({ q: "charizard", game: "pokemon" });
console.log(data[0].prices.raw.near_mint?.tcgplayer?.market);
// 48.97

MIT 라이선스, 소스는 GitHub에서 확인하세요.

CLI 도구

터미널 워크플로우를 위해 tcglookup은 어느 터미널에서나 색상이 있는 가격 테이블을 제공합니다:

npm install -g tcglookup
tcglookup search "charizard" --game pokemon

코드가 필요 없습니다. 스크립팅을 위해 --jsonjq를 파이프로 연결하세요.

Next.js 스타터 템플릿

60초 안에 동작하는 웹 앱을 원하신다면? nextjs-tcg-starter를 Vercel에 원클릭으로 배포하세요. 검색, 카드 상세 페이지, 게임별 브라우징, 다크 모드를 갖춘 세련된 Next.js 16 앱으로, 모두 SDK로 구동됩니다. API 학습이나 실제 프로덕트 부트스트래핑에 적합합니다.

왜 TCG API를 선택해야 하는가?

TCG 가격 데이터를 위한 다른 선택지도 몇 가지 있습니다. 비교해 보겠습니다:

단일 게임 API(게임별 커뮤니티 프로젝트)는 한 게임을 깊이 있게 커버하지만, 멀티게임 앱을 만들려면 여러 소스를 이어붙여야 합니다. 필요한 게임 수가 늘어날수록 유지 부담도 선형적으로 증가합니다.

스크래핑 솔루션은 본질적으로 불안정합니다. 마켓플레이스 구조 변경으로 하룻밤 사이에 스크래퍼가 망가질 수 있습니다. 법적으로 불명확하고, SLA가 없습니다. 프로덕션 애플리케이션에 적합하지 않습니다.

가격 가이드 사이트(수동 데이터)는 업데이트 주기가 느리고(주간 또는 월간), 호가와 실제 판매 가격을 구분하지 않습니다. 간편한 조회에는 유용하지만, 데이터 기반 도구를 만드는 데는 적합하지 않습니다.

TCG API는 단일 엔드포인트로 8개 게임을 커버하고, TCGPlayer와 eBay 양쪽에서 가격을 업데이트하며, 등급 카드 데이터를 포함하고, 명확한 가격 모델을 갖춘 안정적이고 문서화된 API를 제공합니다. 동일한 데이터 위에 구축된 웹 프론트엔드인 TCG Price Lookup은 개발 중 API 반환값을 검증하고 싶을 때 tcgpricelookup.com에서 빠른 수동 조회에 활용하실 수 있습니다.

가격 정책

세 가지 플랜, 간단한 계산:

플랜일일 요청 수속도 제한주요 기능가격
Free2001 req / 3s전 게임, 원시 TCGPlayer 가격$0
Trader10,0001 req / s+ eBay 가격, 등급 데이터, 가격 이력, 상업적 이용$29/mo
Business100,0003 req / sTrader의 모든 기능 + 우선 지원, 맞춤 연동문의

API 호출 1건 = 요청 1건. 크레딧도, 토큰도, 숨겨진 배율도 없습니다. 50장의 카드를 반환하는 검색도 여전히 요청 1건입니다. 자세한 내용은 전체 가격 페이지를 확인하세요.

지금 시작하세요

Free 티어는 모든 8개 게임에 걸쳐 일 200건의 요청과 TCGPlayer의 원시 상태별 가격을 제공합니다. 신용카드가 필요 없습니다. tcgpricelookup.com에서 가입하고 1분 이내에 API 키를 받으세요.

여러분이 무엇을 만들지 기대됩니다.

관련 글: TypeScript 50줄로 TCG 가격 트래커 만들기 · TCGPlayer vs eBay: 어느 쪽이 더 정확한 카드 가격을 제공할까? · PSA vs BGS vs CGC: 트레이딩 카드 등급 완전 비교