Grail

For card & TCG app builders

Price every card in your app — from real sales, not guesses

Building a collection tracker, a scanner, a portfolio valuator, or a grading tool? Your users expect a price next to every card. Grail returns real eBay sold comps and TCGplayer sales for any card — one call, clean JSON, raw and graded.

The problem

Card prices are the hard part of a card app

  • —Your users expect a live price on every card — and they notice the moment it is wrong.
  • —Scraping eBay or TCGplayer means proxies, captchas, and markup that breaks every week.
  • —Raw sold data mixes in lots, reprints, damaged cards, and the wrong set — poisoning any median you compute.
  • —You want to build the app, not run a data pipeline.

How it works

From card name to comps in one call

  1. 01

    Send the card

    GET /v1/scrape?keyword=charizard base set with your key — or the TCGplayer rail for card-specific sales.

  2. 02

    We return real sales

    Up to 240 completed sales plus a median, range, and quartiles. Per-variant comps and grade buckets come back ready to render.

  3. 03

    Render the price

    Drop the median and range straight into your card page — raw, PSA 9, PSA 10 side by side.

Example

Real numbers, straight from sold listings

Charizard Base Set returns a median of $337.50 across 22 recent sales; the PSA 10 view shows $532 across 16. Your app shows the number your users can check.

Built for card apps

Graded and raw

Grade buckets so you can show raw, PSA 9, and PSA 10 prices side by side.

TCGplayer rail

Card-specific sold data alongside eBay sold comps, in USD.

Noise stripped

Lots, reprints, and wrong sets removed before the median — opt-in, never forced.

Cache-first

Popular cards serve from our corpus in a fraction of a second — cheap at scale.

More ways to use Grail

Start free — 100 requests a month.

No credit card. Your own key in the dashboard in under a minute.

Create free account