$ ./tcg-discord-bot --start

Live TCG Prices
in Your Discord Server

A fully self-hosted, open-source Discord bot that brings real-time trading card prices to any server. Slash commands for price lookup, alerts, portfolio tracking, and leaderboards — across all 8 supported TCG games.

discord.js v14 | Node 18+ | 8 TCG Games | Docker Ready | Railway / Render / fly.io | Open Source

Everything Your Server Needs

Six feature categories, dozens of commands. Self-hosted means you own your data.

Lookup

Price Lookup

Search by name with autocomplete, fetch by UUID, cross-game search, side-by-side comparison, random card pulls, and full set browsing.

Trader Plan

Price History

Chart price history over 7d, 30d, 90d, or 1 year. Rendered as an embed image directly in Discord. Available on the Trader plan.

Alerts

Price Alerts

Watch any card and get notified when it crosses a price threshold. Polls hourly, 24h cooldown, pause/resume without losing your alert.

Portfolio

Portfolio Tracking

Track your collection with live valuations, total value, and P&L vs your purchase price. Scoped per user and server.

Server-wide

Leaderboards

Server-wide portfolio leaderboards by live value, and most-watched card leaderboards by alert count. Built-in community competition.

Admin

Server Admin

Set a default game, localize responses in 9 languages, enable daily market reports at 09:00 UTC, and get new set release notifications.

Full Command Reference

Lookup Commands

Command Description
/price <card> [game] Search by name with autocomplete + pagination buttons
/card <id> Fetch card by UUID with full price block (every condition, eBay, PSA/BGS/CGC)
/find <card> Cross-game search — parallel query across all 8 games simultaneously
/compare <card1> <card2> Side-by-side price comparison with percentage delta
/random [game] Pull a random card, optional game filter
/set <set> Browse cards in a set with autocomplete + pagination

History Trader Plan

Command Description
/history <card> [period] Price history chart (7d / 30d / 90d / 1y) rendered as an embed image

Alert Commands

Command Description
/alert add card:<name> price:<usd> direction:[above|below] [channel] Watch a card and notify when it crosses a price threshold
/alert list Show all active alerts for your user
/alert remove id:<n> Delete an alert by ID
/alert pause id:<n> Pause an alert without deleting it
/alert resume id:<n> Resume a paused alert

Alerts poll hourly (configurable via ALERTS_CRON). 24h cooldown between notifications per card.

Portfolio Commands

Command Description
/portfolio add card:<name> [qty] [purchase_price] Add a card with optional quantity and purchase price
/portfolio show Live valuations, total value, and P&L vs purchase price
/portfolio remove card:<name> Remove a card from your portfolio (with autocomplete)

Portfolios are scoped per (user, guild) — each server has its own portfolio per member.

Server-Wide Commands

Command Description
/leaderboard portfolios Top portfolio holders ranked by live total value
/leaderboard cards Most-watched cards ranked by alert count
/games List all supported games and their catalog sizes

Admin Commands Manage Server permission required

Command Description
/config show Display current server configuration
/config default-game <game> Set the default game filter for all commands
/config locale <locale> Set response language: en, pl, fr, de, es, it, ja, nl, pt-BR
/config daily-report channel:<ch> enabled:<bool> Daily market report posted at 09:00 UTC to a chosen channel
/config notify-set-releases channel:<ch> Post a message when new sets are released

What It Looks Like

Example bot response for /price charizard

TCG
TCG Price Bot APP
Today at 14:32
/price charizard game:pokemon

Charizard — Base Set (PSA 10)

Pokemon · Base Set · Holo Rare

$420.00
Near Mint $280.00
Lightly Played $210.00
Moderately Played $140.00
eBay (avg 90d) $295.00
PSA 10: $420 BGS 9.5: $380 CGC 10: $390
◀ Prev
1 / 4
Next ▶

Quick Start

Three steps from zero to a running bot.

01

Get a Bot Token

Create an application at discord.com/developers, add a Bot, and copy your token. Enable the Message Content and Server Members intents.

02

Get an API Key

Sign up at tcgpricelookup.com for a free key (200 req/day) or Trader plan ($14.99/mo) for price history access. Set it as TCG_API_KEY in your env.

03

Deploy

Clone the repo, copy .env.example to .env, add your keys, and run with Docker or push to Railway/Render/fly.io.

terminal deploy
# Clone and configure
$ git clone https://github.com/TCG-Price-Lookup/tcg-discord-bot
$ cd tcg-discord-bot && cp .env.example .env
# Edit .env: set DISCORD_TOKEN and TCG_API_KEY

# Run with Docker
$ docker compose up -d

Deployment Options

🐳

Docker

Dockerfile included. Run anywhere Docker runs.

docker compose up -d
[R]

Railway

Connect your GitHub repo, set env vars, deploy.

[R]

Render

Free tier available. Background worker service type.

[F]

fly.io

Global edge deployment. fly launch and done.

Free
$0
200 req/day
  • Price lookup commands
  • Alerts & portfolio
  • Leaderboards
Trader
$14.99/mo
Higher rate limits
  • Everything in Free
  • /history command
  • 7d / 30d / 90d / 1y charts
Business
$89.99/mo
High-volume usage
  • Everything in Trader
  • Priority support
  • SLA available

Ready to add TCG prices to your server?

Grab a free API key and deploy the bot in minutes. Open source, self-hosted, zero vendor lock-in.