Alt API

Every sale of a card, from eBay to Goldin to Fanatics, with Alt's value of the grade you own

The Alt API turns alt.xyz into JSON in eight actions.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Alt endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
A
/altxyz/v1

8 active endpoints, on 1, 2 and 3 credit tiers.

  • POST/altxyz/v1/search
  • POST/altxyz/v1/card
  • POST/altxyz/v1/card_sales
  • POST/altxyz/v1/card_value_history
  • POST/altxyz/v1/sales
  • POST/altxyz/v1/listings
  • POST/altxyz/v1/listing
  • +1 more

What Alt endpoints does ReefAPI ship?

8 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

8 endpoints

search

3 cr

Search Alt's card database (29.9 million cards) by keyword.

required
—
optional
query, category, year_min, year_max, grade, sort, enrich, page, limit

card

3 cr

One card in full by its card_id.

required
card_id
optional
grade

card_sales

3 cr

The card's individual sales history as Alt records it.

required
card_id
optional
grade, marketplace, from, to, skipped, per_grade, sort, page, limit

card_value_history

2 cr

The daily Alt Value of one card in one grade between two dates (default.

required
card_id, grade
optional
from, to

sales

2 cr

Sold listings across ALL cards from the last ~90 days (Alt's sold-listings feed).

required
—
optional
query, marketplace, category, grade, grading_company, sale_format, min_price, max_price, from, to, card_id, sort, page, limit

listings

2 cr

Live listings Alt indexes.

required
—
optional
query, marketplace, listing_type, category, grade, grading_company, min_price, max_price, min_alt_value, max_alt_value, card_id, sort, page, limit

listing

1 cr

One listing by its listing_id.

required
listing_id
optional
—

sale

1 cr

One recorded sale by its sale_id.

required
sale_id
optional
—

Every parameter, every allowed value →

Alt API

3 of 8 endpoints, ready to run

View docs ↗

Find cards with their set, number and last sale; add a grade for its Alt Value.

3 credits0 required · 3 optional
POST/altxyz/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Alt API works

Alt is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 590 engines.

02
Call
POST /altxyz/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 or 2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Comps for a Pokémon card from every auction house

Three calls, from the card's name to its value in your grade and every sale behind it.

01search?query=charizard base set 1st edition&grade=PSA 9
POSTsearch?query=charizard base set 1st edition&grade=PSA 9

The card with its card_id, the PSA 9 Alt Value, population and last sale.

02card_sales?card_id=e5c5faea-533f-48fe-8013-a918d87a8b52&grade=PSA 9
POSTcard_sales?card_id=e5c5faea-533f-48fe-8013-a918d87a8b52&grade=PSA 9

All 270 recorded PSA 9 sales with price, date and marketplace.

03card_sales?card_id=e5c5faea-533f-48fe-8013-a918d87a8b52&grade=PSA 9&marketplace=goldin
POSTcard_sales?card_id=e5c5faea-533f-48fe-8013-a918d87a8b52&grade=PSA 9&marketplace=goldin

Only the Goldin results.

What the card is worth in your grade, and every sale the number rests on, by marketplace.

request
curl -X POST https://api.reefapi.com/altxyz/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"charizard base set 1st edition","grade":"PSA 10"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "altxyz",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

Which Alt number is which

Alt publishes a value and the sales behind it; they answer different questions. Field names as the API returns them, measured 2026-10-31 on the 1999 Pokémon Base Set 1st Edition Holo Charizard #4.

fieldwhat it isexample (PSA 9)
alt_valueAlt's estimated value of the card in this grade86,128.91
alt_value_low / alt_value_highAlt's error band around that value50,349.43 – 147,334.12
alt_value_confidenceAlt's confidence in the value, 0-10010
popGraded population of this grade727
last_saleNewest sale Alt counts in this grade78,000.00 on 2026-10-25, Fanatics Collect
card_sales rowsEvery recorded sale of the grade, with marketplace and link270 sales
alt_value_at_listingThe Alt Value stored on a listing when it was indexedsee listing_indexed_at

alt_value is per grade: the same card has a different value in PSA 9, PSA 10 or CGC Pristine. On listings, alt_value_at_listing is the value stored with the listing (listing_indexed_at says when); card returns today's value. Measured: equal on 8 of 8 Alt listings indexed within the hour, different on 15 of 17 listings indexed earlier, by up to 45 %.

What Alt publishes — measured 2026-10-31

Alt aggregates sales of graded trading cards from the big marketplaces and auction houses and publishes a value per card and grade. These are the numbers and limits measured on the live site.

Cards

29.9 million cards: Pokémon, One Piece, Yu-Gi-Oh!, Magic, other TCG, baseball, basketball, football, soccer, hockey, combat sports, racing, tennis, golf and pop culture.

Per card and grade

Alt Value with error band and 0-100 confidence, graded population, last sale, and the daily Alt Value for about the last year (Alt keeps about one year of daily values).

Sales history

Every recorded sale of a grade with price, date, marketplace and link: 3,252 sales since 2018 on the 1999 Base Set 1st Edition Charizard across all grades, 270 in PSA 9.

Marketplaces

eBay, Fanatics Collect (incl. PWCC weekly, premier, monthly and fixed price), Goldin, Heritage, Alt, Pristine Auction, CardHobby, MySlabs, Robert Edwards, Memory Lane, Mile High.

Sales across all cards

The last 90 days of sold listings: 3.67 million on 2026-10-30, searchable by marketplace, category, grade, price and date.

Live listings

3.5 million live listings: Alt auctions and fixed-price listings plus eBay, Fanatics, Goldin, Pristine and CardHobby, with bids, watchers and end time.

Limits

Up to 50 rows per page for search, sales and listings; card_sales up to 1,000 per page. Without a grade, card_sales returns the newest 50 sales of each grade (up to 100).

Not published

Sales older than 90 days across all cards (per card they go back to the first sale), Alt Values older than about a year, seller identities on Alt listings, bidder names, and account features (collection, watchlist, offers).

What people build with Alt

The jobs this data is most often used for.

8

endpoints

1/2/3

credits per call

01

Price a Pokémon or sports card in the exact grade: search with grade=PSA 10 gives the Alt Value, population and last sale.

02

Pull comparable sales: card_sales returns every sale of the grade with marketplace and link, from eBay, Goldin, Fanatics and Heritage.

03

Track auction houses: sales with marketplace=goldin or fanatics returns the last 90 days of their sales across all cards.

04

Watch a card's value: card_value_history gives the daily Alt Value of one grade over the last year.

What Alt data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 590 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/altxyz/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"charizard base set 1st edition","grade":"PSA 10"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/altxyz/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "query": "charizard base set 1st edition",
  "grade": "PSA 10"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Alt.

Get a free key →
Does it include Goldin and Fanatics auction results?▾

Yes. card_sales returns each sale with its marketplace and the venue as Alt names it. Fanatics Collect covers every former PWCC venue (weekly, premier, monthly and fixed price). On the 1999 Base Set 1st Edition Charizard, 3,252 recorded sales since 2018 come from eBay, the PWCC / Fanatics venues, Goldin, Alt, Heritage, Robert Edwards, Memory Lane, Mile High and MySlabs. sales with marketplace=goldin or fanatics returns the last 90 days of those sales across all cards.

How far back does the sales history go?▾

card_sales with a grade returns every recorded sale of that grade back to the first one Alt has (2018 for the Base Set Charizard). Without a grade it returns the newest sales of every grade, 50 per grade by default and up to 100 with per_grade, because the full history of the most traded cards runs to tens of thousands of sales. The sales action searches across all cards and covers the last 90 days.

What are relisted and not-paid sales?▾

Alt keeps sales where the item came back (RELISTED) or the buyer did not pay (NOT_PAID) and shows them on its research view; they are not completed sales. They carry skipped_reason. skipped=exclude returns only the sales Alt counts, skipped=only returns just those.

Is the Alt Value a sale price?▾

No. alt_value is Alt's own estimate for the card in one grade, with alt_value_low, alt_value_high and a 0-100 confidence. The sales it rests on are in card_sales, and card_value_history gives the daily value of one grade for about the last year, which is how far back Alt keeps it.

Which grades are covered?▾

Every grade Alt records for PSA, BGS, CGC, SGC, TAG, CSG, BVG and others, including half grades, CGC and SGC Pristine 10, BGS Black Label and Authentic. Pass grade as text: PSA 10, BGS 9.5, CGC Pristine, BGS Black Label, PSA Authentic.

Which live listings are included?▾

Alt's own weekly auctions and fixed-price listings, plus listings Alt indexes from eBay, Fanatics Collect, Goldin, Pristine Auction and CardHobby: price or current bid, bids, watchers, end time, grade and population. listing returns one Alt listing with its full bid history, or one external listing with its current bid.

Why does a listing say price_not_published?▾

Some Fanatics fixed-price listings carry no public price on Alt (6 live on 2026-10-30). price_usd is null for them, and they are left out when you sort by highest price.

How do I go from a search row to the card and its sales?▾

Pass the row's card_id to card, card_sales or card_value_history as it is; an alt.xyz/research link works too. sales and listings rows carry card_id as well, and their sale_id and listing_id open sale and listing.

What is the Alt API?▾

Alt API is a ReefAPI endpoint group for alt (alt.xyz) trading card data as json: the alt value of every card in every grade, each card's individual sales from ebay, fanatics collect, goldin, heritage, alt and more, the last 90 days of sales across all cards, and live listings and alt auctions. It returns live JSON through POST requests under /altxyz/v1.

Is the Alt API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Alt calls use the same shared credit balance as every other ReefAPI engine.

Do I need an Alt login or account?▾

No login to Alt is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Alt data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Alt API use?▾

Alt actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Alt from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call altxyz actions with the same key, credit pool and JSON envelope used by normal REST requests.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 589 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-31.