TICKERMINT

If you are building a collection or portfolio app, TickerMint gives you the daily TCGplayer market price of every Pokemon, One Piece, Lorcana, Riftbound, Gundam and Yu-Gi-Oh card and sealed product with daily history back to February 8, 2024 (Riftbound since October 2025, Gundam since February 2025, Yu-Gi-Oh since September 2026), so you can show each user what their collection is worth today and how its value moved: search to add cards (GET https://api.tickermint.cards/products/search, no key) and bulk history for 50 cards per call with a paid key.

FOR DEVELOPERS · COLLECTION AND PORTFOLIO APPS · 120 REQUESTS A MINUTE FREE

Card price API for collection and portfolio apps

ADD A CARD, NO KEY

The search behind your add-a-card box: product_id, name, set, collector number and image for each match.

const API = "https://api.tickermint.cards";

// The "add a card" search box: name plus collector number works best. No key.
const q = encodeURIComponent("luffy op05-119");
const hits = await fetch(`${API}/products/search?q=${q}&game=one-piece`).then((r) => r.json());
for (const c of hits.slice(0, 5)) console.log(c.product_id, c.name, c.set_name, c.card_number, c.image_url);

COLLECTION VALUE OVER TIME

Daily history for up to 50 products per call, summed into the collection's value per day. Call it from your server, not the browser.

const API = "https://api.tickermint.cards";

// One user's collection: product_id -> printing and copies
const collection = {
  517045: { printing: "Holofoil", copies: 1 },
  632504: { printing: "Foil", copies: 2 },
};

// Daily history for up to 50 products per call (bulk endpoints: any paid key)
const ids = Object.keys(collection).join(",");
const res = await fetch(`${API}/v1/bulk/history?ids=${ids}&since=2026-07-01`, {
  headers: { "X-API-Key": process.env.TICKERMINT_KEY }, // keep the key on your server
});
if (!res.ok) throw new Error(`TickerMint ${res.status}`);
const { products } = await res.json(); // each day is [day, market, low]

// collection value per day: copies x market, for the chart on the user's portfolio screen
const byDay = {};
for (const [pid, { printing, copies }] of Object.entries(collection)) {
  for (const [day, market] of products[pid]?.[printing] ?? []) {
    if (market != null) byDay[day] = (byDay[day] ?? 0) + copies * Number(market);
  }
}
const days = Object.keys(byDay).sort();
console.log("value on", days.at(-1), byDay[days.at(-1)].toFixed(2));

Free with no key for personal and non-commercial projects, with a link back. Inside a commercial app, site or tool, use API Pro ($49 a month). Plans →

THE PLAN THAT FITS

API Pro · $49/mo

Showing prices and history inside your app is commercial use.

  • 1,200 requests a minute
  • Commercial license: show prices and history inside your app, site or tool

API Business · $149/mo

Lets your users export their collections with prices attached, and lets you keep showing data you fetched to existing users after you cancel.

  • 3,000 requests a minute
  • Commercial license plus written retention and export rights

Every plan side by side, terms and checkout on /developers.

Next step: get a free key. Log in with your email, create a key, then pick a plan from the same panel when you need 600 or more requests a minute and the bulk endpoints.
GET A FREE KEY →
USING THIS FOR A BUSINESS?

Tell us what you are building and your budget. We reply within a day with the plan that fits, and can set up a 14-day trial key.

GamesGAMES
Budget per monthBUDGET PER MONTH

QUESTIONS

Can I show these prices to my users?

+

Yes. In a personal or non-commercial project the free plan covers it. Inside a commercial app, site, bot or tool you need API Pro, $49 a month, 1,200 requests a minute, or API Business ($149 a month) for written retention and export rights. Every plan asks for a visible link to the TickerMint page the price came from (tickermint.cards/card/{product_id}, also the url column of every CSV row). No plan allows reselling the raw prices as a dataset or feed, or building a competing price API on them.

Can my users export their collection with prices?

+

That is an API Business right: it adds written terms that let your users export their collections with prices attached, and let you keep data you fetched and keep showing it to existing users after you cancel.

Can I use the card images?

+

The API returns an image URL for each product, but card names, images and catalog data belong to TCGplayer and the publishers, and we cannot grant rights to them.

What are the rate limits?

+

120 requests a minute per IP with no key, lower on search. A key on a free account keeps the same 120 a minute; Developer keys get 600, API Pro 1,200 and API Business 3,000, and every paid plan opens the bulk endpoints. Prices change once a day and answers are cached for up to an hour, so cache on your side too.

Built for: Price trackers and alert apps · Store repricing and buylists · Discord price bots · Deck builders and deck cost tools · Google Sheets · Excel · API, MCP server and embeds