Discover/alt API
live

alt APIalt.xyz

Look up graded trading cards on alt.xyz by cert number. Get Alt Value with confidence bounds, population reports, and recorded market sales per grade.

Endpoint health
verified 1d ago
lookup_cert
lookup_certs
2/2 passing latest checkself-healing
Endpoints
2
Updated
1d ago

What is the alt API?

The alt.xyz API exposes 2 endpoints that resolve grading-company certification numbers — from PSA, BGS, CGC, and others — into structured card data including current Alt Value with confidence bounds, population reports across all graders and grades, and recorded market sales. The lookup_cert endpoint returns over a dozen response fields for a single cert, while lookup_certs handles up to 20 certs per call with per-entry status flags.

This call costs2 credits / call— charged only on success
Try it
Certification (cert) number printed on the graded card's slab label, 1-32 alphanumeric characters, e.g. a PSA cert such as 29023160.
api.parse.bot/scraper/430fcd46-c575-4946-8090-6599338210b2/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/430fcd46-c575-4946-8090-6599338210b2/lookup_cert?cert_number=29023160' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace alt-xyz-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: look up graded trading cards on Alt — single and batch."""
from parse_apis.alt_xyz_api import AltXyz, CertNotFound

client = AltXyz()

# Look up a PSA-graded Pokémon card by its cert number.
try:
    cert_info = client.certifications.get(cert_number="29023160")
except CertNotFound:
    print("Certification not found for that number.")
    raise

# Card identity
asset = cert_info.asset
if asset is not None:
    print(f"{asset.name} ({asset.year} {asset.brand})")
    print(f"  Category: {asset.category}  Card #: {asset.card_number}")

# Grade details
cert = cert_info.cert
if cert is not None:
    print(f"  Graded by {cert.grading_company}, grade {cert.grade_number}")

# Current Alt Value with confidence bounds
val = cert_info.alt_value
print(f"  Alt Value: ${val.current:,.2f} (${val.lower_bound:,.2f} – ${val.upper_bound:,.2f})")
print(f"  Confidence: {val.confidence_metric}")

# Daily value time series
ts = val.time_series
print(f"  Time series: {ts.start_date} to {ts.end_date}, {len(ts.values)} daily points")

# Population report — show top entries by count
for entry in sorted(cert_info.population, key=lambda e: e.count, reverse=True)[:5]:
    print(f"  {entry.grading_company} {entry.grade_number}: {entry.count} graded")

# Recent sales
print(f"  {cert_info.sales_count} recorded sales")
for sale in cert_info.sales[:3]:
    print(f"    {sale.date}  ${sale.price:,.2f}  {sale.auction_house} ({sale.auction_type})")

# Batch lookup: pass the cert we already found plus a second number.
batch = client.certifications.batch_get(cert_numbers="29023160,00000001")
print(f"Batch: {batch.requested_count} requested, {batch.found_count} found, {batch.not_found_count} not found")
for result in batch.results:
    if result.data is not None:
        print(f"  {result.cert_number}: found – {result.data.cert.grading_company if result.data.cert else 'unknown'}")
    else:
        print(f"  {result.cert_number}: {result.status} – {result.error}")

print("exercised: certifications.get / certifications.batch_get")
All endpoints · 2 totalmissing one? ·

Resolves one grading-company certification number (PSA, BGS, CGC, etc.) to the card Alt tracks for it and returns, in a single call, the cert's grade details, the card identity (year, brand, subject, variety, card number, print run), the current Alt Value for that exact grade and grading company with its confidence metric and error bounds, the daily Alt Value time series for roughly the trailing year (values plus lower/upper bound arrays aligned by index with start_date/end_date), the population report across all grading companies and grades, and every recorded market sale of the same card at the same grade and grading company (newest first, each with date, price in USD, auction house, auction type, and the original listing URL). The sales list is the complete set the site holds for that grade; there is no pagination. A certification number the site does not recognize returns a stale_input error (input_not_found). Two upstream round trips per call.

Input
ParamTypeDescription
cert_numberrequiredstringCertification (cert) number printed on the graded card's slab label, 1-32 alphanumeric characters, e.g. a PSA cert such as 29023160.
Response
{
  "type": "object",
  "fields": {
    "cert": "object: cert_number, grading_company, grade_number (string like \"10.0\"), autograph, qualifier, and subgrades {centering, corners, edges, surfaces} (null when the grader publishes none)",
    "asset": "object identifying the card: asset_id, name, year, subject, category code (e.g. POKEMON_CARDS), brand, variety, card_number, print_run (null when not serial-numbered)",
    "sales": "array of recorded market sales for the same card at this grade and grading company, newest first: id, date (YYYY-MM-DD), price (USD number), auction_house, auction_type, grade_number, grading_company, autograph, listing_url, subject_to_change, label",
    "alt_value": "object: current (USD estimate for this grade/company), confidence_metric, lower_bound, upper_bound, ready_for_display, and time_series {frequency, start_date, end_date, values[], lower_bounds[], upper_bounds[]} (daily, arrays aligned by index)",
    "population": "array of {grading_company, grade_number, count} population-report rows across all graders and grades",
    "sales_count": "integer number of sales returned"
  },
  "sample": {
    "data": {
      "cert": {
        "autograph": null,
        "qualifier": null,
        "subgrades": {
          "edges": null,
          "corners": null,
          "surfaces": null,
          "centering": null
        },
        "cert_number": "29023160",
        "grade_number": "10.0",
        "grading_company": "PSA"
      },
      "asset": {
        "name": "2004 Pokemon Ex Team Rocket Returns Holo Torchic Gold Star #108",
        "year": 2004,
        "brand": "Pokemon Ex Team Rocket Returns",
        "subject": "Torchic Gold Star",
        "variety": "Holo",
        "asset_id": "119b9e9e-9e69-4c2b-94be-dc5d9e7fb521",
        "category": "POKEMON_CARDS",
        "print_run": null,
        "card_number": "108"
      },
      "sales": [
        {
          "id": "89dd2b8f-b14c-4ca8-8b8f-f23140f9cc2b",
          "date": "2024-12-07",
          "label": "",
          "price": 35000,
          "autograph": null,
          "listing_url": "https://comics.ha.com/itm/memorabilia/trading-cards/pokemon-gold-star-torchic-108/p/7386-17001.s",
          "auction_type": "AUCTION",
          "grade_number": "10.0",
          "auction_house": "Heritage Auctions",
          "grading_company": "PSA",
          "subject_to_change": false
        }
      ],
      "alt_value": {
        "current": 1185797.5374979922,
        "lower_bound": 933287.1137318652,
        "time_series": {
          "values": [
            256387.93948566652,
            257000.57042829064
          ],
          "end_date": "2026-09-03",
          "frequency": "D",
          "start_date": "2025-08-29",
          "lower_bounds": [
            201791.2438434651,
            202273.41769367474
          ],
          "upper_bounds": [
            325756.33244373096,
            326534.7169863546
          ]
        },
        "upper_bound": 1506627.2524794352,
        "confidence_metric": 60,
        "ready_for_display": true
      },
      "population": [
        {
          "count": 19,
          "grade_number": "10.0",
          "grading_company": "PSA"
        },
        {
          "count": 233,
          "grade_number": "9.0",
          "grading_company": "PSA"
        }
      ],
      "sales_count": 5
    },
    "status": "success"
  }
}

About the alt API

What the API Returns

The core endpoint, lookup_cert, accepts a single cert_number — the alphanumeric identifier printed on a graded card's slab label — and returns a structured payload covering four areas. The cert object includes the grading company, numeric grade (e.g. "10.0"), autograph flag, qualifier, and subgrades for centering, corners, edges, and surface where available. The asset object identifies the underlying card: year, brand, subject, variety, card_number, print_run, and a categorical category code such as POKEMON_CARDS.

Valuation and Sales Data

The alt_value object provides a USD estimate for the specific grade and grading company combination, along with lower_bound, upper_bound, confidence_metric, ready_for_display, and a time_series of daily historical values. The sales array lists recorded market transactions for the same card at the same grade, ordered newest first, each with id, date (YYYY-MM-DD), and price in USD. The population array covers all graders and grade tiers, making it straightforward to compare census counts across companies for the same card.

Batch Lookups

The lookup_certs endpoint accepts a comma-separated list of up to 20 cert numbers in the cert_numbers parameter. Each entry in the results array carries the original cert_number, a status of found, not_found, or error, and the full data payload for found certs. Summary integers — found_count, not_found_count, error_count, and requested_count — make it straightforward to audit batch results without iterating the full array.

Reliability & maintenanceVerified

The alt API is a managed, monitored endpoint for alt.xyz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when alt.xyz changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official alt.xyz API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track daily Alt Value movements for a portfolio of graded cards using the alt_value time series fields
  • Compare population counts across PSA, BGS, and CGC for the same card to assess relative scarcity
  • Validate a seller's stated grade by resolving the cert number and checking the returned grade_number and grading_company
  • Retrieve recent market sales prices for a specific grade to benchmark a listing or purchase offer
  • Batch-resolve up to 20 cert numbers at once with lookup_certs when auditing a large collection
  • Build a graded-card price-check tool using confidence_metric and lower_bound/upper_bound to surface valuation uncertainty
  • Filter population data by grade tier to identify high-pop versus low-pop grades for the same card
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does alt.xyz have an official developer API?+
alt.xyz does not publish a documented public developer API. This Parse API provides programmatic access to card valuation, population, and sales data from the alt.xyz platform.
What does the `population` array in `lookup_cert` actually contain?+
It returns one row per grader-and-grade combination, each with grading_company, grade_number, and count. The array spans all graders and all grade tiers tracked for that card, not just the grade of the cert you looked up. This lets you see the full population picture in a single call.
Does the API return historical Alt Value data beyond daily closing prices?+
The alt_value object includes a time_series of daily historical values along with the current estimate and confidence bounds. Intraday tick-level history is not currently exposed. You can fork this API on Parse and revise it to add a dedicated historical time series endpoint if finer granularity is needed.
Can I look up cards without a cert number, for example by card name or set?+
Not currently. Both endpoints — lookup_cert and lookup_certs — require a cert number as the entry point; there is no search-by-name or browse-by-set parameter. You can fork this API on Parse and revise it to add a card search endpoint based on subject, brand, or year fields.
How many sales records does the API return per cert, and is there pagination?+
The sales array returns all recorded market sales for the card at the specific grade and grading company, newest first, and sales_count gives the total. There is no pagination parameter on lookup_cert; the full sales list for that cert is returned in one response.
Page content last updated . Spec covers 2 endpoints from alt.xyz.
Related APIs in MarketplaceSee all →
cgccards.com API
Access data from cgccards.com.
psacard.com API
Look up PSA certification details for graded collectible cards and search comprehensive population reports and price guides across all card categories. Browse collectible categories by set to discover grading data, pricing information, and population statistics.
mntgrading.com API
Access data from mntgrading.com.
cardladder.com API
Search your favorite trading cards and instantly access current pricing, Card Ladder values, confidence scores, and recent sales history to make informed collecting and trading decisions. Get detailed market data across all three endpoints to track card values and monitor how prices have changed over time.
gosgc.com API
Look up details about your SGC graded sports cards by entering their certification code to instantly access grading information, card specifications, and authentication status. Verify the authenticity and condition assessment of your collectible cards to confirm their market value and authenticity.
app.getcollectr.com API
Search and retrieve detailed information about collectible trading cards and sealed products, including current market prices, historical price trends, and grading data to track and compare your collection's value. Find specific cards or products quickly and access comprehensive market insights to make informed collecting and trading decisions.
sportscardspro.com API
Access data from sportscardspro.com.
tcgplayer.com API
Search for trading cards across all games and sets on TCGPlayer, and instantly access detailed pricing information by condition plus current seller listings with prices, shipping costs, and seller ratings. Compare card values and find the best deals from multiple sellers all in one place.